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

4 Magnetic Tape Supervisor Routines

4.1 The Magnetic Tape Facilities

The main tape mechanism used on Atlas is the Ampex TM2 (improved FR 300) using one inch wide magnetic tape. There are sixteen tracks across the tape - twelve information tracks, two clock tracks, and two tracks used for reference purposes. The tapes are used in a fixed-block, pre-addressed mode. Information is stored on tape in blocks of 512 forty-eight bit words, together with a twenty-four bit checksum with end around carry. Each block is preceded by a block address and block marker and terminated by a block marker; the leading block address is sequential along the tape, and what is effectively the trailing block address is always zero. Tapes are tested and pre-addressed by special routines before being put into use, and the fixed position of the addresses permits selective overwriting and simple omission of faulty patches on the tape. Blocks can be read when the tape is moving either in the forward or reverse direction, but writing is only possible when the tape is moving forward. The double read and write head is used to check read when writing on the tape. When not operating the tape stops with the read head midway between blocks. The normal tape speed is about 120 inches per second. There are also fast wind and rewind operations at about 180 inches per second.

Atlas may control a maximum of 32 magnetic tape mechanism. Each mechanism is connected to the central computer via one of eight channels, all of which can operate simultaneously, each controlling one read, write or positioning operation. It is possible for each tape mechanism to be attached to either one of a pair of channels, the switching being under the control of supervisory programs through digits in the V-store. Transfer of a 5l2-word block of information between core store and tape is effected via a one-word buffer, the central computer hesitating for about ½µ sec., on average, each time a word is transferred to or from the core store. During a transfer the page of core store is given a particular reserved block number and the contents of the page address register are restored at the end of the transfer.

Supervisory programs are only entered when the block addresses are read before and after each block, and when the tape stops. As each block address is read, it is recorded in the V-store and an interrupt flip-flop is set, causing entrance to the block address interrupt routine.

4.2 The Block Address Interrupt Routine

This routine is responsible for initiating and checking the transfer of a single block between tape and core store, and searching along the tape for a specified block address. Digits are available in the V-store to control the speed and direction of motion of the tape and the starting and termination of read or write transfers. The block addresses are checked throughout and, in particular, a write transfer is not started until the leading block address of the tape block involved has been read and checked. Hardware checking is provided on all transfers, and is acted upon by supervisor routines. A 24-bit check sum is formed and checked as each block is transferred to or from a tape, and a digit is set in the V-store if any failure is detected. Similarly a digit is set in the event of failure to transfer a full block of 512 words. These digits are tested by the block address interrupt routine on the conclusion of each transfer. Parity failure either on reading from core store or on formation of the parity during a transfer to core store causes the setting of interrupt flip-flops. If a tape fails to stop, this is detected by the block address interrupt routine as a particular case of block address failure. Failure to enter the block address routine (for example, through failure to read block markers) is detected by the timed interrupt routine at intervals of 100 milliseconds. Finally, failures of the tape mechanism, such as vacuum failure, set a separate interrupt flip-flop. The detection of any of these errors causes entry to tape monitor routines, whose action will be described later.

4.3 Organization of Tape Operations

Magnetic tape operations are initiated by entrance to the tape supervisor routines in the fixed store from extracode instructions in an object program or, if the supervisor requires the tape operation for its own purposes, from supervisor extracode routines. From a table in subsidiary store, the logical tape number used in a program is converted to the actual mechanism number, and the tape order is entered to a queue of such orders, in subsidiary store, awaiting execution. A tape order may consist of the transfer of several blocks and any store blocks involved are locked out to prevent subsequent use before completion of the transfers; if any block is already involved in a transfer, the program initiating the request is halted. Similarly, the program is halted if the queue of tape instructions is already full. If the channels to which the deck can be connected are already occupied in a transfer or positioning, the tape supervisor returns control to the object program, which is then free to proceed. A program may thus request a number of tape transfers without being halted, allowing virtually the maximum possible overlap between the central computer and the tape mechanisms during execution of a program. Should a channel be available at the time a tape order is entered to the queue, the order is initiated at once by writing appropriate digits to the V-store, and by writing reserved tape transfer block numbers to the appropriate page address registers if the order involves a read or write transfer. The tape supervisor then returns control to the object program or supervisor routine.

One composite queue of tape orders is used for orders relating to all tape mechanism and orders are extracted from the queue by S.E.R.'s entered from the block interrupt routine. On reading the final block address and successfully concluding checks,the block address interruot routine stops the tape by setting a digit in the V-store, and a further block address interruption occurs when the tape is stopped and the channel can accept further orders. This interruption enters an S.E.R. which extracts the next order for the channel from the tape queue, and the cycle of events is repeated until no further order for this channel remains. As each transfer is concluded, any object program halted through reference to the store block is made free to proceed.

An exception to the above process is when a long movement (over 100 blocks) or a rewind is required. In this case, the movement is carried out at fast speed, with block address interruptions inhibited. The long movement is terminated by checking the elapsed time and at the appropriate moment, entering the tape supervisor from the timed interrupt routine. The speed is then returned to normal. When reading of block addresses is correctly resumed, the search is continued in the normal manner.

4.4 The Title Block

The first block on each magnetic tape is reserved for use by the supervisor, and access to information in this block by an object program is through special instructions only. This block contains the title of the tape, or an indication that the tape is free. When magnetic tapes are required by the supervisor or by an object program, the supervisor prints instructions to the operator to load the named tape and to engage the mechanism on which it is loaded. The engage button of each mechanism (see section 5) is attached to a digit in the V-store, and these digits are scanned by the supervisor everyone second. When a change to engage status has been detected, the tape supervisor is entered to read the first block from the tape. The title is then checked against the expected title. In this way, the presence of the correct tape is verified, and furthermore the tape bearing the title becomes associated with a particular mechanism. Since the programmer assigns a logical tape number to the tape bearing a given title, this logical tape number used in extracode instructions can be converted by the supervisor to the actual mechanism number. Other supervisory information is included in the first block on each tape, including a system tape number and the number of blocks on the tape. Special supervisory routines allow Atlas to read tapes produced on the I.C.T. Orion computer, which uses the same tape mechanism but can write blocks of varying lengths on the tape. These tapes are distinguished on Atlas by a marker written in the title block.

4.5 Magnetic Tape Failures

All failures detected by the interrupt routines cause the block address interrupt routine to stop the tape at the end of the current block when possible, and then to enter tape monitor supervisory routines; if the tape cannot be stopped, it is disengaged and the tape monitor routines entered. These routines are S.E.R.'s designed to minimise the immediate effect on the central computer of isolated errors in the tape system, to inform maintenance engineers of any faults, and to diagnose as far as possible the source of a failure. As an example of the actions taken by monitor routines, suppose a check sum failure has been detected whilst reading a block from tape to core store. The tape monitor routines make repeated attempts to read the block with reduced bias level. If one of these attempts succeeds, the normal tape supervisor is re-entered after informing the engineers. If the repeated attempts fail, operator intervention causes the job using a tape to be monitored.

Other magnetic tape faults are also monitored, and throughout, the operators and engineers are informed of any detected faults. Provision is made for the program using the tape to trap persistent tape errors and thereby take action suitable to the particular problem.

Addressing of new tapes and re-addressing of faulty tapes are carried out on the computer by supervisory routines called in by the operator. A tape mechanism is switched to addressing mode, which prohibits transfers to and from the core store, permits writing from the computer to the reference tracks and to the block addresses on tape, and activates a timing mechanism to space the block addresses. When a new tape is addressed, addresses are written sequentially along the tape and the area between leading and trailing block addresses is checked by writing ones to all digit positions and detecting failures on reading back. Any block causing failure is erased and the tape spaced suitably. On completion, a special block address is written to indicate end of tape and the entire tape is then checked by reading backwards. Any failure cause entry to the re-addressing routine. Finally, the tape mechanism is returned to normal mode, a block is written containing the number of blocks on tape, a tape number, and a title indicating that the tape is Free, and the tape is made available for use. A tape containing faulty blocks is re-addressed, omitting such blocks, by entry to the re-addressing routine with a list of faulty blocks; the faulty blocks are erased and the remaining blocks are re-labelled sequentially, the tape being checked as when addressing a new tape.

4.6 Half-inch Magnetic Tape

In addition to the standard pre-addressed one-inch magnetic tape, Atlas can also handle half-inch magnetic tape.

Half-inch tape carries seven tracks, of which six are used for data and one for a lateral parity check. There is no clock track provided, and charcaters are recognised by the presence of bits in at least one of the tracks. Blocks of data on tape are known as records; these are unaddressed, and may be of unlimited length, or, in some cases, restricted to 4096 characters. After each record is written a check character, which provides a longtitudinal parity check on the data. records on the tape are separated by a gap of ¾". Groups of records may be formed into a file, separated from other files by filemarks, which are short standard records recognised by the hardware. As the records are of variable length, and the tape is not pre-addressed, it is very difficult to use particular records, unless these occur sequentially on the tape. the file marks enable unwanted files to be neglected without having to examine every record within them.

Data may be written to the tape with either odd or even parity, depending on the choice of the programmer. The characters themselves may be in one of two forms: Binary mode, when the tape is used as a backing store to the computer - data is transferred to tape without any code conversion and hence will be in straight binary form; and Binary Coded Decimal (BCD) mode, used when alpha-numeric information is required - the data is coded, and is usually written with even parity.

Recording densities available are 200, 556 and 800 characters per inch, corresponding to transfer rates of 22,500, 62,500 and 90,000 characters per second.

Half-inch tape decks are attached to the computer through one of the one-inch tape channels. While a half-inch tape operation (read or write) is in progress, the channel cannot be used to control any other deck attached to it; Skip, rewind and backspace operations proceed autonomously, outside the control of the channel.

The Supervisor routines controlling half-inch tape operation are similar to those for one-inch tape. During the transfer of information between core-store and tape, the page of core store is given a particular reserved block number, and the contents of the page address register are restored at the end of the transfer. When a transfer involves more than one block of store, two or more consecutive reserved block numbers are allocated for the transfer.

The hardware of the tape mechanism checks for end-of-record gaps, and filemarks, and causes an entry to Supervisor interrupt routines when these are detected. An interrupt also occurs when the store block currently involved in a tape transfer is filled (when reading from tape) or emptied (when writing to tape).

Only one half-inch tape job at a time is allowed on the machine. As soon as a program requests a half-inch tape operation it is halted until the transfer is complete, execept for rewind operations which can proceed autonomously.

Half-inch tape operations are initiated by extracode instructions. The logical tape number used in a program is converted to the actual mechanism number; however, since tapes are not titled, no check is made that the tape mounted on the given deck is that required by the programmer. The operator must ensure that the correct tape is loaded. Half-inch tapes cannot be pre-mounted; they must be mounted only following a request from the Supervisor. The Supervisor scans the half-inch decks every 10 seconds to check whether a requested tape has been mounted.

The action taken on half-inch magnetic tape failures is similar to that for one-inch tape failures; for example, if a checksum failure is detected while a record is being read from tape, repeated attempts are made to read the record. Certain faults may be trapped by the program using the tape, thus allowing the programmer to take appropriate action.

⇑ 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