Process Management:
Process management is function that includes creating and deleting processes and providing mechanisms for processes to communicate and synchronize with each other. A process is the unit of work (program) in a computer. A word processing program being run by an individual user on a computer is a process. A system task, such as sending output to a printer or screen, can also be called as a Process.
A computer consists of a collection of processes, they are classified as two categories:
1. Operating System processes which is executed by system code.
2. User Processes which is execute by user code.
All these processes can potentially execute concurrently on a single CPU. A process needs certain resources including CPU time, memory, files and I/O devices to finish its task.
The Operating System is responsible for the following activities associated with the process management:
1. Scheduling processes and threads on the CPUs. 2. Creating and deleting both user and system processes.
3. Suspending and resuming processes.
4. Providing mechanisms for process synchronization.
5. Providing mechanisms for process communication.
The following algorithms are mainly used to allocate the job (process) to the processor.
1. FIFO
2. SJF
3. Round Robin
4. Based on Priority