G53OPS - Operating Systems

This course is run at the The University of Nottingham within the School of Computer Science & IT. The course is run by Graham Kendall (EMAIL : gxk@cs.nott.ac.uk)


Introduction to Processes

This section is based on (Tanenbaum, 1992), pages 27-29.

The concept of a process is fundamental to an operating system and they can be viewed as an abstraction of a program. Although to be strict we can say that a program (i.e. an algorithm expressed in some suitable notation) has a process that executes the algorithm and has associated with it input, output and a state.

Computers nowadays can do many things at the same time. They can be writing to a printer, reading from a disc and scanning an image. The computer (more strictly the operating system) is also responsible for running many processes, usually, on the same CPU. In fact, only one process can be run at a time so the operating system has to share the CPU between the processes that are available to be run, whilst giving the illusion that the computer is doing many things at the same time.

This approach can be directly contrasted with the first computers. They could only run one program at a time and although this may seem archaic now, it does have its advantages and it makes most of this part of the course irrelevant and we can simply ignore the issues raised.

Therefore, the main point of this part of the course is to consider how an operating system deals with processes when we allow many to run in pseudoparallelism.

Although, with a single CPU, we know the computer can only execute a single process at a given moment in time. It is important to realise that this is the case. It is also important to realise that one process can have an effect on another process which is not currently running; as we shall see later.

Last Page Back to Main Index Next Page

 

 

 


 Last Updated : 08/01/2002