File Master v Supervisor

1. Extracodes that will be used in the Mk.2 version
(The first version to go into general use).

1144 0 0 N

If N < 0Set up file master as next phase and halt
If N = 0Halt after completing one task

1141 Ba - n

Read dump locklet of user is n < 0

1026 Ba - n

Call file master to carray out one task. On entry to file master B83 = n ∨ J4 and B70 to 77 = w(ba) to w(ba+3.4)
Exit conditions as normal for file master but :-
If n = 1.0 on entry and B80 positive even on exit then B80 is the head pointer for a file that is deleted.
The response in B81 must be copied to the users Ba.

1021 Ba - n

If n = m.1 J4 then this creates a B.S.D. from the file whose head pointer is m. The file master will read and write blocks in this file but will not attempt to extend it. If n is even and positive then n points to the 7-halfword title and contains 0.2 if the file is to be used in read only mode.

The system will also rely on the following extracodes being available for file manipulation in block mode : 1021, 1260, 1267, 1273, 1274

2. Entry from Supervisor to file master.

Reason for entry in B83 is as follows
0.4Create and open for writing
0.6Create from pending stream
1.0Delete file
1.1Delete file that is already opened
1.4Open file for reading
2.5Close file after reading
3.1Close file after writing
2.0Open block file for writing

For the above entries the data in B70 to 77 is as follows:
EntryFile Title/StatusBatch No.MFD pointerHead Pointer

3. Return to Supervisor from file master

If B80 = m.0

Success exit with m = Head Pointer after open for Reading. m ≠ 0 after other activities that succeed.

B80 = m.1

Operation permissible but locked out
m is reason ≥ 200

B80 = m.0 J4

Requested operation is illegal and m is error number ≥ 100

B80 = m.1 J4

File Master is broken and should be killed for fault m.

If Entry to file master was for reasons 0.4, 0.6, 1.4 or 2.0 then B81 = MFD pointer

If Entry to file master was from 1026 extracode call then B81 = response to be returned to user's Ba.

For other entries B81 is undefined.


The file master will be on-line to the consol in the Titan room. If BREAK is used on this then the file master should be freed with fault 65 set and not killed.

Extracode facilities for the following will also be used in the Mk.2 file master

  1. Throw away input now accumulated for on line device
  2. Is there any input now accumulated for on line device
  3. Has the last character of output been dispatched for on line device.

5. Facilities that could or should be added at a later date.

  1. On entries 2.5 and 3.1 set B73 equal to number of blocks occupied by the file.
  2. Set a timer = n seconds. At the end of this time set fault x and free the program if halted.
  3. When a user logs out or a job is terminated enter file master with B83 = 19.0
    (To extend the system to include automatic log keeping this entry could be extended to include the necessary data).
  4. If disc space should become exhausted (and this will only happen if there is an unprecedented expansion between two consecutive dump periods) enter file master with B83 = 20.0. In this case exit will be as if entry had been with B83 = 1.0 i.e. a head pointer for a deleted file will be set in B80.
  5. When core swopping becomes available make exit from file master which has B80 = m.1 a trap-able fault which if not trapped leaves the user halted waiting for the file master. Also allow an extracode in the file master that says Free user n and repeat the request which he made. If user n is not waiting for the file master or if user n does not exist then the extracode has no effect.

Copyright © circa 1966 University of Cambridge Computer Laboratory. Distributed by permission. Thanks to Barry Landy, Roger Needham and David Hartley for giving permission to distribute these documents. Thanks to Barry Landy for lending me the paper document (handwritten) from which this was typed. Any typographical errors probably arose in the course of retyping.

Return to TITAN Miscellaneous Documents
Return to CUCPS TITAN page
Return to CUCPS home page
Return to University of Cambridge home page

Contact: CUCPS Committee (
This HTML version last updated: $Date: 1999/06/23 07:15:49 $