Features of Atlas

The Atlas required the incorporation of many techniques which did not exist before the project was started in 1956. Not all these ideas originated in Manchester, but they were all first used in the Atlas. They are briefly described below.

Multiprogramming

A system in which several individual programs maybe active. Each active program implies a running process, so there may be several processes, but only 1 process runs at any one time on any particular processor.

Job Scheduling

Selecting jobs for execution. A job being a unit of work for a computer, usually consisting of several

Spooling

Method of achieving effective use of hardware during input/output operations by decoupling slow devices from the main process which requires input/output.

Interrupts

A break in a program or routine caused by an external source, which requires that control should pass temporarily to another routine. The interrupt is made so that the original routine can be resumed from the point at which the break occurred.

Pipelining

The overlapping of the execution of several instructions in an order code processor at the same time. Each instruction is usually executed as a number of cycles which must be performed in a sequence. Pipelining enables several instructions to be performed by the execution of different cycles on different instructions simultaneously.

Interleaved Storage

A technique used in multiprogramming in which segments of one program are inserted in another program to allow the effective execution of both programs simultaneously.

Virtual Storage

Is a means of apparently extending main storage, by allowing the programmer to access backing storage in the same way as immediate access store.

Virtual Memory

A system in which a process' workspace is held partly in high speed memory and partly on some slower and cheaper backing store. When the process refers to a memory location the system hardware detects whether or not the required location is physically present in memory and generates an interrupt if it is not, this allows, the system supervisor to transfer the required data area from backing store into memory.

Paging

Is a technique in which the main store is divided into segments called pages. Large user programs may cover several pages, possibly too many to fit into the available store. The operating systems transfers pages between main store and backing store to ensure the correct page is in main store at any stage during the execution of the programs.


\