What is multiprogramming?
Multiprogramming: The management of many processes within a single processor system. Operating systems such like UNIX provide multiprogramming for shared single processor systems. In the single-processor multiprogramming system processes are interleaved in time to yield the appearance of simultaneous implementation. It is the essential theme of modern operating systems
The introduction of multiprogramming brought concerning the ability to share resources among users. Sharing engrosses not only the processor but also the following
- Memory
- i/o devices such as printers and disks
- programs
- data
In a multiprogramming environment guard of main memory is essential. The concern isn't only the security but as well the correct functioning of the various processes that are active if one process is able to inadvertently write into the memory space of another process then the latter process may not execute properly.
Effects of ultiprogramming on resource utilization Multiprogramming
Processor use 33%
Memory use 67%
Disk use 67%
Printer use 67%
Elapsed time 15 min
Throughput time 12 jobs/hr
Mean response time 10 min