One of the most important aspects of operating systems is the ability
to multiprogram. A single program cannot, in general, keep either the CPU
or the I/O devices busy at all times. Single users frequently have multiple
programs running. Multiprogramming increases CPUutilization by organizing
jobs (code and data) so that the CPU always has one to execute.