Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ PrefaceContents1. Introduction2. The co-ordination of routines3. Store organisation4. Magnetic tape supervisor routines5. Peripheral equipment6. The Operating System7. The Scheduling System8. Details of the Atlas 1 computer installations
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureAtlas manualsSupervisor :: The ATLAS 1 Supervisor, Operating System and Scheduling System
ACLLiteratureAtlas manualsSupervisor :: The ATLAS 1 Supervisor, Operating System and Scheduling System
ACL ACD C&A INF CCD CISD Archives
Further reading

Preface
Contents
1. Introduction
2. The co-ordination of routines
3. Store organisation
4. Magnetic tape supervisor routines
5. Peripheral equipment
6. The Operating System
7. The Scheduling System
8. Details of the Atlas 1 computer installations

6 The Operating System

6.1 Introduction

The design of Atlas is such that the transfer of information to and from the core store is controlled by programs contained within the fixed store. In the case of drums and magnetic tapes, information is transferred in blocks of 512 words. Word by word transfers proceed automatically; fixed-store programs are only required at the beginning and end of a block. In the case of all other peripheral equipments (e.g. readers, printers, punches) information is copied to and from one- character buffer registers, and is transferred between these registers and the core store by fixed-store programs.

These equipments are collectively referred to as slow peripherals. They may include line printers, paper tape and card punches and readers, special magnetic tapes, graphical output devices, etc.

During the operation of most slow peripherals, the central computer is required for about 1% of the time. Thus even with many slow peripherals operating, the central computer is available for direct execution of a problem for a large proportion of the time. The design of the Atlas is such that these problems cannot interfere with the operation of the fixed-store programs controlling the slow peripherals, which themselves are prevented from interfering by the Supervisor. The time taken to switch control between the main program and the fixed-store programs is about 10 µsec, and is included in the above estimate of 1%. This time-sharing of the central computer is generally referred to as the overlapping of input, output, and computing.

If the slow peripheral equipments could always transfer information at the rate required by the central computer for any problem, then the maximum overlap of input, computing and output could be easily achieved. However, the central computer requires and produces information at widely varying rates, with an upper limit in excess of three hundred 512-word blocks per second. On an Atlas, with four paper tape readers and one card reader, the maximum input rate with all equipments operating simultaneously is half a block per second. The maximum output rate with four paper tape punches, one card punch, and one line printer is also half a block per second. Magnetic tape input and output can increase these rates to sixteen blocks per second per channel. The use of magnetic tape for input and output requires a large amount of off-line editing equipment, and unless a large number of channels are available, it is still possible for the central computer to be input or output limited for short periods of time.

One method by which the amount of overlap could be increased is to hold several problems within the central computer at any one time, and, by means of the supervisor program, to arrange that control is switched between these problems in such a way that the rates at which information is required or produced by the central computer are reduced to those which can be dealt with by the available slow peripherals In order to achieve this, it is necessary that the available problems are such that, whilst some of them are producing results, others are computing and others require the input of further information. This needs either a large number of programs available within the central computer, or off-line organization of the problems presented to the computer. Furthermore, this switching between problems can considerably reduce the efficiency of the computer, as it is necessary to store and reset all the common working registers.

An alternative solution is to designate two areas of the one-level store as input and output wells, and to arrange that the central computer draws information from one well and supplies it to the other. These wells are filled and emptied by the slow peripherals operating in parallel. The use of these wells smooths out the variations in the rates at which information is required or produced by the central computer. The larger the wells, the greater the smoothing out and the greater the overlap obtainable for any sequence of problems. This method overlaps the computing of one problem with the input and output of others; only two or three problems need be in the central computer at any one time, and the switching of control between problems is reduced. The division of the one-level store between the central computer and the two wells is arranged by the supervisor program, and is capable of continuous variation. The size of the wells is increased by the use of magnetic tapes. A block diagram of the system is shown in Fig. 2.

Slow peripheral inputs Central Computer Slow peripheral outputs System input tape Private tapes Input Well Core and drum store Output Well System output tape Private tapes
Fig. 2. - Block diagram of system

6.2 Input

In order to accelerate the filling of the input wells by the slow peripherals, all slow peripherals are permitted to operate simultaneously. Furthermore, in order that the input system should be as flexible as possible, it is not necessary for the input of one problem to be on one tape (in this context, tape implies a paper tape or a stack of cards) or to be through one equipment, or even for the component parts to be supplied in any particular order. All sections of input are headed by a title for the purpose of identification.

A complete problem is referred to as a job and one of the component sections contains a job title together with a list of the titles of the other sections. The input information is organized within the system by the supervisor program, which maintains lists of the titles and lists of incomplete and complete jobs. Only jobs whose peripheral input is complete are made available to the central computer. The system is best described by considering what happens when tapes having the various permissible headings are read into the core and drum store. A tape bearing a job title causes this title to be added to the list of incomplete jobs, and a system number is allocated to this job. The component titles of the job description are added to the list of titles. Subsequently, any tape bearing one of these titles causes the relevant entry in the title list to be labelled as present, and the information is stored, together with the title and the job number. The first of these tapes to arrive is stored after the job description and, whenever any piece of information overflows from one 512-word block into another, then the last line of the first block contains the number of the next block, and the first line of the second block contains the job number. When all the component titles have been labelled as present, then the job title is transferred to the list of complete jobs. Whenever the central computer requires a new job it extracts a title from this list, and all the appropriate blocks from the input well, which are then declared to be empty. If a component title is read before its job description, then the title is added to the title list, and the first action on reading a job description is to scan the title list for any component titles which may already be present.

Normally, the main core and drum store of the computer is unlikely to suffice to hold all the documents that are waiting to be used. The blocks of input information are therefore copied, as they are received, onto a magnetic tape belonging to the supervisor, called the system input tape. Hence, if it becomes necessary for the supervisor to erase them from the main store, they can be recovered from the system input tape when the job is ready for execution.

The system input tape thus acts as a large scale buffer, and indeed it plays a similar part to that of the system input tape in more conventional systems. The differences here are that the tape is prepared by the computer itself instead of by off-line equipment, and that there is no tape-handling or manual supervision required after the input of the original documents - an important point in a system designed to handle many miscellaneous jobs.

This complete bufferage system for input documents is called the input well. Documents awaiting further documents before they can be used are said to be in input well A; complete sets of documents for jobs form input well B. Documents which have been accepted into input well B must be read from the system input tape back into the main store so that they are ready for execution.

One result of this arrangement is that the same tape is being used both to write input blocks, in a consecutive sequence, and to read back previously written blocks to recover particular documents as they are required. The tape will therefore make frequent scans over a few feet of tape, although it will gradually progress forwards. The lengths of these scans are related to the main store space occupied by input well A. For example, so long as the scans do not exceed about 80 feet (130 blocks} the waiting time for writing fresh blocks will remain less than the time for input of three blocks from a card reader, so that comparatively little main store space need be occupied by input well A.

The use of the system input tape is not essential to the system provided that the input well in the core and drum store can be made sufficiently large to assemble complete problems read in from slow peripherals, and to retain them until they are required by the central computer for execution. However, without the system input tape, it is possible for the organization to become inefficient under certain circumstances. For instance, if computation of one problem continues for a long time, the amount of input supplied by the slow peripherals will exceed the size of any reasonable well; again, if a problem requires a large amount of store for its execution, then the size of the input well has to be reduced.

6.3 Output

The central computer can produce output at a much greater rate than the peripheral equipments can receive it, and an output well is used in a manner analogous to the input well. This well uses a system output tape to provide bulk buffering; output for all output peripherals is put on to the same magnetic tape.

Again, there is a limit to the amount of information that can usefully be buffered on the output tape, due to the time required to scan back and forth between writing and reading regions, and this limit depends on the space available in the main store for output well B. An S.E.R. keeps a check on the amount of information remaining in output well B for each equipment, and relates this to the present scan distance to decide when to start to move the tape back for the next reading operation. If the amount of output being generated by object programs becomes too great, a program is suspended.

The system input and output tapes operate essentially as extensions of the main store of the computer. Broadly speaking, documents are fed into the computer, programs are executed and output is produced. the fact that the input and output usually spends some time on magnetic tape is, in a sense, incidental. this input and output buffering is, however, a continuous and specialized requirement, so that a particular way of using these tapes has been developed and special S.E.R.'s have been written to control them.

6.4 Headings and Titles

Jobs are initiated on the computer by input of information on a slow peripheral equipment. A job may consist of several sections of information; each section is called a document, and is preceded by its identifying information, mentioned above. This consists of two lines of printing, forming the heading and title respectively.

The heading indicates which type of document follows. The most common headings are:

The title, following the heading, is the name which the programmer has given to this document.

Full details of Job Descriptions and Atlas documents are given in I.C.T. publication CS460, "Preparing a Complete Program for Atlas 1". A summary of this information is given below.

6.5 Job Description - Input

A program reads in data by means of instructions which are effectively read next character/string of characters from data tape n where n is a decimal integer. (In this context, data tapes are intended to include stacks of cards.) The programmer's number of the data tape is specified in the input section of the job description. This section begins with the word

INPUT

and is followed by a list of the titles of data tapes used in this job, e ach preceded by the programmer's number, n, e.g.

INPUT
1 (the title of data 1)
2 (the title of data 2)

where there are two data tapes known by the programmer's numbers 1 and 2. These may have been read into the machine on the same input equipment as the job tape, either before or after it, or on other input equipments. The programmer's number, n = 0, is reserved for the program itself (and may be used in the program to read in data which follows the program as part of the same tape). A separate steering tape might be

JOB
(the title)
INPUT
1  (the title of data 1)
0 (the title of the program tape)

In this case, the name of the compiler to be used is written at the head of the program tape. When the job heading is on the beginning of a data tape, the input section of the job description must include

SELF = (n)

where n is the programmer's number by which this data is known within the program.

If the input section of the job description is omitted, it is taken as if

INPUT 
SELF = 0

were included, and the program following is compiled and executed.

It is possible to copy a document directly from a slow peripheral to a private magnetic tape, bypassing the system inputn tape. This Private Input can later be called in the INPUT section of the job description by referring to the private tape.

6.6 Job Description - Output

A program puts out results by means of instructions which are effectively print next character or string of characters on output n, where n is a decimal integer. The output equipments are specified in the output section of the job description. This section begins with the word

OUTPUT

and is followed by a list of the output mechanisms used in this job, each preceded by the programmer's number, n, e.g.

OUTPUT
1 (type of equipment) (m) BLOCKS
2 (type of equipment) (m) BLOCKS

The type of equipment may be

LINE PRINTER
TELETYPE
CARDS
SEVEN HOLE PUNCH
FIVE HOLE PUNCH
ANY
TAPE

The number m defines the limit of the output, and may be specified in BLOCKS of 4,096 characters, or LINES. If the program exceeds the limit of output, it is monitored by the supervisor and stopped.

If the number of blocks of output is not specified, it is taken as 1 block. Further, if there is only one output used, the output section may be omitted, and this is taken as if

OUTPUT
0 ANY 1  BLOCK

were included in the job description.

When printed, the output information itself is preceded by

OUTPUT (n)
(the title of the job)

and output of system information is always on output 0.

The entry TAPE in the OUTPUT section is used when a programmer wishes to send his output directly to a private magnetic tape, bypassing the system output tape.

Normally, all output from a job is stored on the system output tape, and is printed only when the job is terminated. It is however possible for a programmer to have his output printed in sections, while the job is progressing.

6.7 Job Description - Tapes

If a programmer uses magnetic tapes directly in his program (by use of tape instructions as distinct from using tapes in connection with input or output) then he specifies each tape used by two lines in the job description

TAPE
(n) (the title which is stored on block 0 of the tape)

where n is the programmer's number of the tape. When a new tape is required, the appropriate two lines of the job heading are

TAPE NEW
(n) (the title on block 0)

In this case, the title specified is written on Block 0 by the system.

If a tape is required only for the duration of the job, for example as temprary working space, it is listed in the job description as

TAPE COMMON

If a program involves extensive input, then the job is preceded by copying this input to a magnetic tape. To initiate this copying process the input is headed

COPY TAPE FREE
(the title on block 0)
COPY TAPE (b)
(the title on block 0)

where b is the number of the tape block. (The programmer must always begin at the beginning of a tape block.)

Information may be read from this tape subsequently by specification of the tape and title of the information in the input section of the job description.

If a program involves extensive output then the output can be written on a private magnetic tape. This is specified in the output section of the job description as follows:

OUTPUT
(n) TAPE FREE/(type of equipment) (m) BLOCKS 
(the title on block 0)

where n, the type of equipment and m are as for direct output, and where the title specified is written on block 0. If a previously used tape is employed, the specification is

(n) TAPE (b)/(type of equipment) (m) BLOCKS 
(the title on block 0)

where b is the number of the tape block. This private output can subsequently be printed out by means of a standard program.

6.8 Job Description - Miscellaneous

Further information may be given in the job description to indicate the amount of store used, and the time for which the program is expected to compute. The latter applies to the execution stage of the program, i.e. excluding input from slow peripherals, compiling, and output to slow peripherals.

They are specified by

STORE S1/S2
COMPUTING p.q SECONDS (or MINUTES or HOURS)

where S1 is the maximum store used during compiling, and S2 is the maximum store used during execution; store allocations are measured in blocks of 512 words. p.q is a fixed-point decimal number such as

COMPUTING 7.5 SECONDS

where the program is not expected to run for more than 7.5 seconds. If the estimate for store used and computing time is exceeded the program is monitored and stopped.

If the total execution time is significantly different from the actual computing time, because there is considerable tape waiting time, the actual computing time should also be specified, e.g.

EXECUTION 5 MINUTES
COMPUTING 30 SECONDS

If any of this information is omitted from the job description, standard allowances are made.

6.9 End-of-Document Markers

The end of a section of tape in indicated by

***x

where x is one of the letters listed below. On cards, the marker consists of a 7,8 punching in the first column, and the letter in the last column.

Z
Indicates the end of a document; the peripheral is disengaged by the computer.
C
Indicates the end of a document, but another document follows on the same tape.
T
Indicates a temporary halt; the peripheral is disengaged, and when re-engaged it continues to read the same document.
A
Is an instruction to the computer to abandon the previous incomplete document and disengage the peripheral.
B
Initiates the reading of binary data.
F
Disengages the peripheral; on re-engagement, input of the same document is continued in binary.
E
Initiates binary reading, but a check is made for other document markers.
I
Causes binary reading to cease and initiates code conversion of input.
P
Causes parity checking of input to be suppressed.

6.10 Logging and charging for Machine Time

As problems are completed, various items of information on the performance of the computing system are accumulated by the supervisor. Items such as the number of program changes and the number of drum transfers are accumulated and also, for each job, the number of instructions obeyed, the time spent on input and output, and the use made of magnetic tapes. These items are printed in batches to provide the operators with a record of computer performance, and they are also needed for assessing machine charges.

The charge for using peripherals for input and output can be calculated from the amount of input and output. For magnetic tapes, the charge can be based on the length of time for which the tape mechanism is engaged, allowance being made for the time when the program is free to proceed but is held up by a program of higher priority.

6.11 Methods of Using the Operating System

The normal method of operating the computer is for documents to be loaded on any peripheral equipment in any order, although usually related documents will be loaded around the same time. The titles and job descriptions enable the supervisor program to assemble and execute complete programs, and the output is distributed on all the available peripherals. Usually programs are compiled and executed in the same order as the input is completed, but the supervisor may vary this depending on the load on different parts of the system. For example, a problem requiring magnetic tape mechanisms which are already in use may be by-passed in favour of a problem using an idle output peripheral; a problem which computes for a long time may be temporarily suspended in order to increase the load on the output peripherals. By these and similar methods, the S.E.R. responsible for scheduling attempts to maintain the fullest possible activity of the output peripherals, the magnetic tape mechanisms and the central computer.

Documents may also be supplied to the computer from magnetic tapes; these tapes may be either previous system input tapes or library tapes or tapes on which standard, frequently used, programs are stored. Such documents are regarded as forming part of Input Well B and are read into main store when required. An alternative method of operating may be to use the computer to copy documents to a private magnetic tape, rather than to use the system input tape, and at a later time to supply the computer with a succession of jobs from this tape. Similarly, output may be accumulated on a private magnetic tape and later passed through the computer to one or more peripheral equipments. Routines forming part of the supervisor are available to carry out such standard copying operations.

Provision is also made for the chief operator to modify the system in various ways; for example, priority may be given to a particular job, or a peripheral equipment may be removed from general use and allocated a particular task. An isolated operating station may, for example, be established by reserving a particular output equipment for use by problems loaded on a particular input equipment.

MAIN STORE (Core store and drums) Output tape Input tape Private tapes Supervisor tape Output Peripherals Input Peripherals 1 3d 4 3c 3a 3a 7 2b 2a 3b 5 6
Fig. 3. The Atlas Input/Output System
Key to figure

(1) Program and data documents are read into the main store area of the input well. The Supervisor notes the titles of all documents required for each job.

(2a) Documents are transferred, one block (512 words) of information at a time, to the System Input Tape, an extension of the input well.

2b)The Supervisor places jobs in one of three logical streams: Magnetic tape jobs, Peripheral-limited jobs, and Computer-limited jobs.

(3)During assembly of a job, private tapes called for in the Job Description are mounted (3a), input documents are read (or partly read) into store from the System Input Tape (3b) or from Private Input Tapes (3c); the required compiler is read down from the Supervisor Tape (3d).

(4) During execution, information may be transferred between private tapes and store.

(5)Output generated by the program is assembled by the Supervisor and written to the System Output Tape.

(6) When the time comes for the output to be produced, the Supervisor reads it, a block at a time, from the Output Tape into the main store area of the output well.

(7) Supervisor routines send the output to the correct output peripheral.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site