The task of subdivision is carried out dynamically by the operating system and is known as memory management.
In uniprogramming system, only one program is in execution. After complition of one program, another program may start.
In general, most of the programs involve I/O operation. It must take input from some input device and place the result in some output device.
Partition of main memory for uni-program and multi program is shown in figure 3.19.