Content deleted Content added
→Process Termination: format |
|||
Line 56:
* Parent request
== Two-
The [[Operating System]]’s principal responsibility is in controlling the execution of [[processes]]. This includes determining the interleaving pattern for execution and allocation of resources to [[processes]]. The first step in designing an [[OS]] (a program to control processes) is to describe the behaviour that we would like each [[process]] to exhibit. The simplest model is based on the fact that a [[process]] is either being executed by a processor or it is not. Thus, a [[process]] may be considered to be in one of two states, RUNNING or NOT RUNNING. When the operating system creates a new process, that process is initially labeled as NOT RUNNING, and is placed into a queue in the system in the NOT RUNNING state. The process (or some portion of it) then exists in [[main memory]], and it waits in the queue for an opportunity to be executed. After some period of time, the currently RUNNING process will be interrupted, and moved from the RUNNING state to the NOT RUNNING state, making the processor available for a different process. The dispatch portion of the [[OS]] will then select, from the queue of NOT RUNNING processes, one of the waiting processes to transfer to the processor. The chosen process is then relabeled from a NOT RUNNING state to a RUNNING state, and its execution is either begun if it is a new process, or is resumed if it is a process which was interrupted at an earlier time.
|