Introduction to Processes
The CPU executes a large number of programs. While its main concern is the execution of user programs, the CPU is also needed for other system activities. These activities are called processes. A process is a program in execution. Typically, a batch job is a process. A time-shared user program is a process. A system task, such as spooling, is also a process. For now, a process may be considered as a job or a time-shared program, but the concept is actually more general.
In general, a process will need certain resources such as CPU time, memory, files, I/O devices, etc., to accomplish its task. These resources are given to the process when it is created. In addition to the various physical and logical resources that a process obtains when it is created, some initialisation data (input) may be passed along. For example, a process whose function is to display the status of a file, say F1, on the screen, will get the name of the file F1 as an input and execute the appropriate program to obtain the desired information.
We emphasize that a program by itself is not a process; a program is a passive entity, while a process is an active entity. It is known that two processes may be associated with the same program; they are nevertheless considered two separate execution sequences.
A process is the unit of work in a system. Such a system consists of a collection of processes, some of which are operating system processes, those that execute system code, and the rest being user processes, those that execute user code. All of those processes can potentially execute concurrently.
The operating system is responsible for the following activities in connection with processes managed.
• The creation and deletion of both user and system processes;
• The suspension is resumption of processes;
• The provision of mechanisms for process synchronization, and
• The provision of mechanisms for deadlock handling.
In this section of tutorials we will learn the operating system view of the processes, types of schedulers, different types of scheduling algorithms.
We provide process tutorials for the educational purposes only. We do not responsiable for the correctness of its contents. the risk of using it lies entirely with the user.