The operating system manages many kinds of activities ranging from user programs to system programs like printer spooler, name servers, file server etc. Each of these activities is encapsulated in a process. A process includes the complete execution context (code, data, PC, registers, OS resources in use etc.). Process is a system abstraction, it illustrates that system has only one job to do. Every program running on a computer, be it background services or applications, is a process. As long as a von Neumann architecture is used to build computers, only one process per CPU can be run at a time. Older microcomputer OSes such as MS-DOS did not attempt to bypass this limit, with the exception of interrupt processing, and only one process could be run under them. Mainframe operating systems have had multitasking capabilities since the early 1960s. Modern operating systems enable concurrent execution of many processes at once via multitasking even with one CPU. Process management is an operating system's way of dealing with running multiple processes. Since most computers contain one processor with one core, multitasking is done by simply switching processes quickly. Depending on the operating system, as more processes run, either each time slice will become smaller or there will be a longer delay before each process is given a chance to run. Process management involves computing and distributing CPU time as well as other resources. Most operating systems allow a process to be assigned a priority which affects its allocation of CPU time. Interactive operating systems also employ some level of feedback in which the task with which the user is working receives higher priority. Interrupt driven processes will normally run at a very high priority. In many systems there is a background process, such as the System Idle Process in Windows, which will run when no other process is waiting for the CPU. It is important to note that a process is not a program. A process is only ONE instant of a program in execution. There are many processes can be running the same program. The five major activities of an operating system in regard to process management are •Creation and deletion of user and system processes.
•Suspension and resumption of processes.
•A mechanism for process synchronization.
•A mechanism for process communication.
•A mechanism for deadlock handling.
Kernel and process
This section presents the kernel and process that are two important parts of an operating system. Kernel
The kernel provides the most basic interface between the machine itself and the rest of the operating system. The kernel is responsible for the management of the central processor. The kernel includes the dispatcher to allocate the central processor, to determine the cause of an interrupt and initiate its processing, and some provision for communication among the various system and user tasks currently active in the system. The kernel is the core of an operating system. The main functions of the kernel are as: oTo provide a mechanism for the creation and deletion of process, oTo provide CPU scheduling, memory management, and device management for these process, oTo provide synchronization tools so that the processes can synchronize their actions, oTo provide communication tools so that processes can communicate with each other. As an example, consider the Unix operating system that has two separable parts: the kernel and the service programs. The kernel provider on the file system, CPU scheduling, memory management, and other operating system functions through system calls. System calls define the programmer interface to operating system, the set of systems programs commonly available defines the user interface. These interfaces define the context the kernel must support. System calls provide the interface between a running program and the operating system. These calls are generally available as...