next up previous
Next: Resources Up: Resource Facilities Previous: Resource Facilities

Processes

While the notion of a process exists in all operating systems, different operating systems support processes in different ways. Therefore a detailed definition of processes is operating system-dependent. Here we present an intuitive operating system-independent explanation of a process. We shall see later a detailed explanation of processes supported by the Xinu Operating System.

The idea of a process is related to the idea of a program. A program describes data and the code to manipulate them. For instance a C program consists of declarations of variables (data) and procedures (code) that manipulate them. A process is the result of executing a program. For instance, when a C program is run, space is allocated in memory for the code and data described by the program and a new process is created. The process executes the main procedure of the program, which may call other procedures. The process is removed from the system when (and if) the computation started by the main procedure terminates or external factors (such as the system going down or the user typing a special character) cause termination.

A system may consist of several processes executing concurrently. These processes may be the execution instances of (i.e. result of executing) the same or different programs. For instance, in a typical interactive system, at any point there are several execution instances of editor, mailer, and command interpreter programs. Each of these processes represents a separate `thread of control' and is associated with a separate stack. Executions of these threads in a single processor system are interleaved, as we shall see later.


Prasun Dewan
Tue Jan 13 12:23:19 EST 2004