Explairt the process of Multiprogramming in Process Management with help of an example.
(1) The number of processes running simultaneously competing for CPU is called multiprogramming.
(2) Multiprogramming is used for increasing the CPU utilization and reducing the idleness of CPU.
(3) In multiprogramming CPU can execute multiple processes at a time.
e.g. When process1 waits for an external event (I/O operation), the processor executes process 2.
(4) The switching time between two processes is called as context switching
(5) Context means storing the status of process. In that memory contents and registers like Program
Counter, Instruction Register, Accumulator, general purpose registers are stored. Each process has a
register save area and in that area context for the process is stored.
(6) Suppose Process A is under execution and it requires I/O operations, then process B should start. So
there would be context switching from A to B. The context of process A is stored and restores the
process B status which is already in memory. When process A is scheduled again, then it is restored in
CPU and continues from the leftover point.