Process Management
(CH4)
Early computer systems allowed only one program to be executed at a time. This
program had complete control of the system and had access to all the system s resources.
In contrast, current-day computer systems allow multiple programs to be loaded into
memory and executed concurrently. This evolution required firmer control and more
compartmentalization of the various programs; and these needs resulted in the notion of
a process, which is a program in execution. A process is the unit of work in a modern
time-sharing system. The more complex the operating system is, the more it is expected
to do on behalf of its users. Although its main concern is the execution of user programs,
it also needs to take care of various system tasks that are better left outside the kernel itself.
A system therefore consists of a collection of processes: operating-system
processes executing system code and user processes executing user code.
Potentially, all these processes can execute concurrently, with the CPU (or CPUs) multiplexed