Process Management - Overview


What is Process Management and what is it needed for?

A process is a single instance of an executable program. As such, processes are sets of instructions to be executed by the processor.
It is very important not to confuse processes and files. A file is a set of data that can represent instructions but as well something else like graphics, login information, or text. On the contrary, a process is a set of data that are instructions and that the processor will try to execute.
A process is created whenever the CPU becomes involved in any activity. All tasks that an operating system or any other software are going to perform are divided into small pieces of work for the CPU. Such pieces of work can be for instance:
  • creating, deleting, copying a file
  • listing the content of a directory
  • logging in a network
Each of these actions can be performed only by executing a program or a part of it (subprogram); the program in question can be application software or something contained in the OS.

Process Management is needed when a program is executed. The process manager then
  1. creates a process,
  2. tells the memory manager to allocate memory,
  3. tells the device manager to allocate devices,
  4. sends the process to the processor, and
  5. initiates the deallocation of devices and memory after the processor's calculation task is completed.


What is preemptive and non-preemptive multitasking?

Preemptive Multitasking are process management schemes that include the possibility of removing a process from the CPU even if there is no I/O-request.
In this case the process is set "ready" and has to queue again for getting calculation time. It is said to have been preempted.
A process can be removed for instance if its calculation takes too long or if a process with a higher priority enters the "ready"-state.
Non-preemptive Multitasking are process management schemes that do not allow to remove a process from the CPU until it is either finished or issues an I/O-request.
With non-preemptive schemes it is impossible to set a process directly from "running" to "ready".


See also:


© 2000-2001 Peter Gallert, last updated on 8 August 2000