- What is a process? The most central concept in any OS is the process: an abstraction of a running program.
- At the very least, we are recognizing that some program code is resident in memory and the CPU is fetching the instructions in this code and executing them (including the current values of the program counter, registers, and variables).
- A process can be thought of as a program in execution. A unit of execution characterized by a single, sequential thread of execution.
- A process will need certain resources - such as CPU time, memory, files, and I/O devices -to accomplish its task.
- These resources are allocated to the process either when it is created or while it is executing.
- In a multiprogramming system, the CPU also switches from program to program, running each for tens or hundreds of milliseconds. While, strictly speaking, at any instant of time, the CPU is running only one program, in the course of 1 second, it may work on several programs, thus giving the users the illusion of parallelism.
- The OS is responsible for the following activities in connection with process and thread management:
- the creation and deletion of both user and system processes;
- the scheduling of processes;
- the provision of mechanisms for synchronization, communication, and deadlock handling for processes.
Subsections
Cem Ozdogan
2010-03-09