original
10 − 69 − 0 SECTION 10.4 STANDARD TIME−SHARING DIRECTOR 10 4 A. IDENTIFICATION Computer: KDF9 Program No: KKT00 Title: STANDARD TIME−SHARING DIRECTOR Notation: The contents of the Directors are defined by the four characters following the KKT of the identifier. 00Z0 The Standard Director. Extra bits are added to the 00 immediately following the KKT to indicate the presence of:- 02 Drum director. 04 R.T.I. facility. 10 Shared Buffer Unit Magnetic Tapes. B. GENERAL DESCRIPTION Purpose: The standard time−sharing (TS) Director, like the standard non−time sharing (NTS) Director described in Section 10.3, is a control routine, operating in its own mode, which controls and monitors the running of all other programs. Since the TS Director bears many similarities to the NTS version, and since it is recommended that only installations and operators with experience of running the NTS Director should attempt to run the TS version, this section of the Manual will generally describe only the differences between the two versions. The major difference between the two versions is that the TS version can control up to four independent programs, called P, Q, R and S respectively, running "similtaneously". It can only be run on a time−sharing machine, whereas the NTS version can be run on either a TS or a NTS machine. Input: As for the NTS Director (Section 10.3). Output: As for the NTS Director, except that there are some differences in the monitor typewriter output (see Division C). Automatic As for the NTS Director (Section 10.3). Procedures:
original
10 − 70 − 0 Section 10.4 10.4 C. METHOD OF USE C1 − General Strategy Monitor Output: Output on the monitor typewriter is similar to that obtained with the NTS Director, with some important differences:- (a) There is a sreater volume, because it relates to more than one program. (b) It is handled by means of a 'queue', so that a typewriter messase or query may not be typed out until some time after it tas been placed in the queue. For instance, a PI reader may have its 'read called' lisht illuminated long before the message indicating its allocation appears; or the 'TINT' message may not appear for some time after the operator has pressed the Interrupt key. (c) It is arranged in five columns (using TABs), the left hand column for messages relating to Director, and the other four for messages (typed via OUT 8, stream 0) applicable to programs P, Q, R and S, respectively. The program's priority number (see below) is always typed as the first character in the appropriate column, separated from the body of the message by a space (Director messages) or oblique stroke (OUT 8 messages and queries). Four TAB stops must be set on the monitor typewriter. Priority Levels: In a NTS machine, a program wishing to use 'locked out' core store, or busy peripherals, causes the machine to wait until the relevant transfer has finished. In a TS machine, when this happens, control is transferred to one of the other programs (unless all 4 programs areheld up) so that time is not wasted. Which program is entered is decided on a priority basis. There are 4 priority levels inside the Machine, each of which can contain one programe The levels are numbered 0 (highest priority), 45.2 and 3 (lowest priority). The program running at any time is the highest priority program which is not held up. Thus, if priority 0 (this is a useful abbreviation for "the program with priority 0", i.eo "the program in priority level 0") is held up waiting for a transfer to end, priority 1 will be entered, and if that is held up in its turn, priority 2 will be entered. However, as soon as the transfer holding up priority O ends, priority 0 will be re− entered, and the prosram runnin; up to thet moment will be suspended. (Revised 12.12.65)
original
10−75−06 Section 10.4 10.4 Thus the selection pair to print stream 76 from a program allocated the letter R will be 36 32 At the start of each program's output, Director will output a 2−word block. The first word is as defined above with the exception that the 7th character will be the actual octal character P,Q,R or S (ise. 60, 61, 62, 63). The second word will be of the form Ldddddd03 where L is the program letter and dddddd is the serial number of this program on tape, e.g. the output of the fifth Q program would be preceded by a two word block as defined above, with the second word as Q00000503 the 03 causing a page change when this block is selected. (The selection characters would be 61 05). This facility is included in order that the off−line printer operator can select up to a particular program's output. At the start of every stream used by a program, Director will output 4 extra blocks as defined in 10.3.C1. OUT 8.3 NOTE The two word vrogram header block and the gap/page ge block, written as the first of the 4 extra blocks written by Director at the start of a stream, are written as last blocks. All other blocks are written to end message. 4. At the Termination of a Program When a program is terminated, a gap/page change block is output for all streams that have been used by the program These stream terminator blocks are written as last blocks If a program has used OUT 8 output to non−zero streams a message of the form n OU? 8 L nnnnnnn/oddddad is typed, givinz the serial numbers of the output of pro− grams allocated the letter L, and the reel number of the OUT 8 masnetic tape. 5. Action if OUT 8 Tape is Filled If BIW is detected, or a parity failure occurs on the OUI 8 tape, Director will write a one word ED last block, deallocate the tape and claim a continuation reel, labell.− ing it with the next reel number in sequencee It will then continue writing the output of the current programs. (Revised 12.12.65)
original
10 − 76 − 0 Section 10.4 10 4 6. Printer Streams As with the NTS Director, OUT 8 blocks for printer streams mst have the octal character 02 or 03 or 75 as the last character in the block. 7. Gaps Output in Punch Streams The rules are as for the NTS Director. * 8. Close Stream Facility. A marker is included in the stream header and terminator last blocks in order that the two are distinguishable. To close a non−zero OUT 8 stream: Entry is to OUT 8 in the normal way with a parameter in N2 in Q−store format where C = I = M = the octal stream number of the stream to be closed. Invalid parameters in N2 will lead to program failure 77. Attempting to close a stream which is not open (i.e. has not been used) will lead to program failure 71. NB Whenever a stream is opened the 4 header blocks are output, the program identifier being taken from E2 and E3 of the programs area on each occasion. The first and last block of each stream is a gap/page change block written as a last block. In order that programs written to process the OUT 8 tape might more easily distinguish between the header and terminator blocks the following change has taken place. Character 6 of the first word of the block will be 41 (octal) if it is the header block for a stream and 72 (octal) if it is the terminator block for a stream, and not 77 (octal) as stated in Section 10.2 Appendix 1. (e) OUT 16 As for the NTS Director except n10 is typed as opposed to M10 where n is the priority number of the program outputting the message. (Revised 12.11.68)
original
10 − 77 − 0 Section 10.4 10.4 TINTs: These have the same general meanings as for the NTS Director but there are some additions, and some differences of detail. In particular, the program letter is often required in the reply (see division G). The other differences are as follows:- TINT A Unlike the NTS Director, any transfers in progress will be forcibly terminated, even if the unit concerned has already been properly deallocated by the program, If TINT A is done during program input, the CRNP number will depend on the circumstances. (See Section 10.3, division C) TINT E A program tape has to be nominated for A programs and another (possibly the same one ) for B programs, and the letter A or B mst appear in the reply (see division G). TINT G Reply Gn,/n.→ (or Gn.→) to supply the status of dévices n, to n, (or n,) to the monitor. TINT J Reply J. or dn.+.TINT J will cause any new programs introduced to the machine to write their OUT 8 (if any) to the next OUT 8 reel. When output is completed to the old reel, an ED will be written and the tape deallocated. TINT Jn. will set the stream count to n (see section J). TINT M Reply 'MxLy.', x and y being octal integers, to output, (to a PIP which will be allocated to Director) y words beginning at address x in program L. If L is other than P, Q, R, or S, then x is assumed to be the absolute (Director) address x. If y is omitted, y = 1 is assumed, If no PIP is available, the message 'TINT M HELD UP−NO PTP' is typed. All programs should be suspended before using TINT M, and it mst not be used if Director is requesting an OUT 8 tape. TINT P Reply 'Ptt/tt/...+' to respecify the type numbers of the units to be preallocated to A programs. The types of the units should be in the same form as on initial input of Director (see division J). A type 2 unit (PTR) will always be preallocated and need not be respecified. KDF9 (Revised 12.11.68)
original
10 − 78 − 0 Section 10.4 10.4 TINT Q Reply Q.→ to give the amount of core available on the monitor. TINT R Reply 'RL.−→' to resume program L, after suspension by TINT S. TINT S Reply 'SL.−→' to suspend program L, i.e. to stop obeying it and not to enter it again until told to resume by TINT R (and then only when its priority level is entered). TINT T Reply 'tn/w.→' to read a B program to priority n, giving it a store limit of w. The program will be given the number of words it wants (as specified by E1) provided this does not exceed w. If the program does not specify a store requirement it will be given w words rounded up to the next multiple of 32. If the '/' is replaced by 'P' the PTR on which the program is read is pre−allocated to the program. If w is omitted, no limit is imposed, but if, also, the program specifies no store requirement, the following query is typed later:- n L STORE AVAILABLE x; i.e. x (in decimal) words of store are immediately assignable to the program in priority n. The operator must reply with the (decimal) number of words to be assigned, i.e. 'y'.→ (y may be greater than x). If y=0, CRNP failure 6 occurs (see division H). If y is omitted altogether, the whole store will be assigned when available. The program will not be read in until the condition is satisfied. If TINT T2.→ is performed and level 2 is occupied, then the program for input will be placed on level 3. If level 3 is occupied then the message TRY−HP (Try higher priority) will be monitored. Also TINT TnLp will cause the (p+1)th program as mentioned in the call tape (see section 3) to be placed on level n. (p is an octal digit). TINT T1L0/12000.→ would cause the first program mentioned on the call tape to be searched for on the input medium and placed on level 1 (or lower if level 1 is occupied) with a storage allocation of 12000 words. If the program called by this mechanism is not on the input medium then CRNP will result. KDF9 (Revised 12.11.68)
original
10 − 78 − 1 Section 10.4 10 4 TINT U Reply U.→ (or UL. where L can be P, Q, R or S). This will supply the program letter, priority, 12 character identifier, base address, run time and notional elapse time for all levels (or individual level). TINT V Reply 'Vn/m.→' to put the program in priority level n into priority level m, and vice versa. TINT Z Reply Zdd.→, Zdd+.→,Z3dd.→. TINT Zdd+.→ relabels the tape on unit dd as a zero. The other two TINT replies are the same as documented on page 10−67−0. Answer (c) to TN/IDis not allowed. C3 − Input of Programs General: When the machine wants the next A program, it types, in the relevant colum, for each type of unit pre−allocated to A programs n tt P dd L i.e. program (letter L, priority n) has device dd of type tt pre−allocated to it. The following is then typed:- n APIU dd L KDF9 (Revised 12.11.68)
original
10 − 79 − 0 Section 10.4 10.4 i.e. load program (letter L) on the 'A Program Input Unit' dd into priority n. B programs can be read only in response to TINT T (see eel In this case a list of pre−allocated units is not typed and the 'APIU' message is replaced by n BPIU dd L i.e. load program (letter L) on the 'B Program Input Unit' dd, into priority n. When the A block of the (A or B) program has been read, the B and C blocks will be read from paper or magnetic tape. In the latter case, if no program tape has been nominated for the type of program (A or B) being read, then ┌ ┐ │A │ PROG TAPE REQ L/│or│ [prog identifier ] │B │ └ ┘ is typed in the Director column. The operator can then either nominate the appropriate tape (using TINT E), or cancel the request (by TINT A). The TS Director takes the same action regarding EO (sum check), and E5 (allocation of program tape to the scien) as the NTS Director. The treatment of E1 (store limit) will depend on whether an A or B program is being read (see 'Store and Peripherals for A Programs', above, and TINT T). However, if E1 is non−zero, it will not be changed. When the program has been successfully read in, the date and time are typed out, as follows:- n10DD/MM tttt (M) n10L (P) <program identifier> + <job number> (D) where 10 is the symbol used to prefix information required for accounting purposes. The <job number> consists of 11 printable characters and is only printed if the 17th character of the "A" block was a '+'. (e.g.CN CR M CR KKCO1O100UPU + 1234567ABCD) If the 17th character was not a '+' only the program identifier will be typed. KDF9 (Revised 12.12.65)
original
10 − 80 − 0 Section 10.4 10.4 From the way A and B programs are organised, it can be seen that not more than one A program and one B program can be in the process of input at any one time. This includes the input of a new program /section after OUT 1, which may, therefore, have to wait if program input is already going on at another priority. Failures in Any failure in the input procedure causes the following to be Program Input: typed (in the relevant column) :- n CRNP Fx i.e. 'Cannot Read New Program' into priority n, where x is the failure indicator. These are the same as for the NTS Director, except that x = 0 only applies to B programs and x = 6 means the program requires more store than is available (see division G). If A program input fails, a new A program is called for (as in 'Program Input', above); if B program input fails, a TINT T is needed to input a new B program. Terminating To terminate A program input, after the 'PIU' message, (if, for: Program Input: instance, the device is required for B program input) supply a bogus A block, thus inducing CRNP F2. B program input can be terminated for the reasons shown in division H. C4 − Other Points Loading and As in NTS Director. The 'tape loaded' and 'tape unloaded' Unloading messages are always typed in the Director column. Magnetic Tapes: Termination of As with the NIS Director, peripheral devices left allocated by Programs: the program are deallocated, and any magnetic tape deallocated in this way has its position indicated on the monitor. The following message is then typed:- n prog identifier ENDS e n10 RAN/EL/run time/n.e.t./elapsed time. i.e. the given program, priority n, finished with ending rumber e The run time and the elapsed time have the same significance as on a NTS machine. The 'notional elapsed time' (n.e.t.) which is based on run time and the time that the program is held up by. peripheral transfers, is an estimate of the (elapsed) time the program would have taken on a NIS machine. The ending numbers have the same meaning as in the NIS Director. If any lock−outs were present when the program was terminated, these are indicated by the message. (Revised 1.4.67)
original
10 − 81 − 0 Section 10.4 10.4 n L−0 ON Program Program failures are indicated by_the typing of thé Failures: following (in the relevant column) :- n L FAILS (indicator) i.e. program (letter L, priority n) has failed for the reason given by the indicator. The values of the indicator are the same as for the NTS Director but some of them are not included. The 'REACT' facility is also as for the NTIS Director. Program Tapes: It is possible to have two program tapes nominated at any time, one for A programs and one for B programs, or they can be one and the same tape. In the latter case, the nomination of the tape must be performed twice, once for A programs and once for B programs. If a program has the program tape allocated to it and another program is called for, the PROG TAPE REQ mes− sage will be typed. There is no difference in the format of programs, on paper and magnetic tape, between those to be run with the TS Director and those to be run with the NTS Director. D. Not relevant. E. PROGRAM CHARACTERISTICS General: The standard time−sharing Director is an autonomous, non−segmented program, written in Usercode. Initial Input (See also division J for operating procedure). As Procedure: with the NTS Director, the call program reads in the Director's A−block, which in turn reads in the B and C blocks. (The same call program is used for both NTS and TS Directors). The peripheral list (as for the NTS Director) is then read, and the number of core modules is asked for on the monitor typewriter. Next follow the details of the A programs configuration, the date and time. The Director then calls for the first A program, if any A levels have been specified. Organisation Director keeps a list of peripheral units, which of Peripheral consists of "descriptors". These are words which, Devices: when typed, give the type number, status letter, wit number and, where appropriate, a program letter (ive. P, Q, R, or S, or D for Director). KDF9 (Revised 12.12.65)
original
10 = 82 − 0 Section 10.4 10.4 (a) Magnetic tape units are dealt with in the same way as in the NTS system, and have 4 of the same status letters. These are? U Unloaded L Loaded C Claimed (i.e. allocated to program or Director) W 'Waiting' Initially, each magnetic tape unit is U. When loaded with a tape, it becomes for a short time W, and then L. When a loaded tape unit is allocated to a program, the unit becomes C. When a tape on a C unit is deallocated, the unit becomes W for a short time before becoming U. The W status is a sort of "amber light" condition preventing inter− ference with the unit during reading of label blocks, rewinding, etc. (b) Other units have 3 status letters. These aret~ U Unloaded P Pre−allocated A Allocated When a unit is U, it is immediately available to become either P or A. When a unit is P toa program, that program's letter appears in the descriptor, and only to that program can the unit become Ao The program cannot use the unit until it has been allocated. When a unit is A toa program, that program's letter appears in the des− criptor and the program may use the unite Units become U, (1) When Director is first read in. (2) When deallocated by a B program, provided that the allocation was not done by OUT 5* (ices OUT 5 with 8 added to the type number in N2). (3) When de−allocated by Director after TINT M (applies to output unit only). Pre−allocated Units become P, Units: (1) When an A program is read in, if they are part of the set of units belonging to that program (this set consisting of the units belonging to the A program just finished, whose termination caused this program to be read in). KDF9 (Revised 12.12.65)
original
10 − 83 − 0 Section 10.4 10.4 (2) When de−allocated by an A program. (3) When de−allocated by A B program, if the allocation was done by OUT 5*. (4) (Applies to PIR only) when a B program is read in. The TINT can be used to specify that the PIR, on which the program is read, remains pre−allocated to the program. Allocated Units become A when allocated to any Units: program by OUT 5 (including OUT *), or when allocated to Director itself for its own use. Typical descriptors, with their meanings, are: 02U01 PIR, unit no. 1, is unloaded. 03P05R Line printer, unit noe 5, is pre−allocated to program R. 01A03D PTP, unit no. 3, is ellocated to Director (during TINT M, say). O2A02P PIR, unit no. 2, is allocated to program P. 02U01Q PIR, unit no. 1, is being used to input program Q. 10L14S MT, unit no. 14, is being used to input program S. (Can only occur after TINT G). Program The part of the core store which a program occupies − Storage: always a continuous area, and a multiple of 52 words beginning at an absolute address, which is also a mul− tiple of 32 − is said to be "assigned" to the programs The total area available for assignment to programs extends from the very top (highest numbered address) of the store, down to the lowest word in the store which is not part of the Director, and whose address is a mul− tiple of 32. "A" programs are stored at the top of this area, and B programs at the bottom, next to Director. The Director constantly inspects the store assignments to ensure that programs are packed tightly next to one another, and to the limits of the available area... As a result of this it is necessary, from time to time, for the Director to physically move programs in the store. This always in− volves moving a program − that is, the whole of the area assigned to a program ~− into a vacant, unassigned area nextito it; there is no. question of ever. interchanging the loca− tions of two programs, nor do programs "leapfrog" over one another. The effect is of "sliding" programs up or down the store, according to whether they are A or B respectively. (Revised 12.12.65)
original
10 − 84 − 0 10.4 Section 10.4 The "Hole": This ensures that whatever space becomes vacant, as programs expire, accumulates in the middle, between the B and A programs. New programs are input to this area, known as the "Hole in the middle", or simply the "Hole". Input of B A "B" program, whose input at a nominated priority is Programs: initiated by a TINT T, will be read into the bottom end of the Hole. As soon as there are available a paper tape reader not required by a higher priority, and 32 words of store in the Hole, this area is assigned to the program. The A and B−blocks are then read in. Subsequently, the amount of store indicated by the store requirement in the B−block will be obtained by assigning any vacant storage as soon as it becomes available in the Hole (provided it is not required by A program input at a higher priority) until the requisite amount has been assigned. Then the C− blocks can be read in and the program will start. During the delay that there may be whilst the program is waiting to obtain enough store, or between the input of C−blocks, the assigned area may be moved down the store to take over space vacated by other B programs which have terminated, in the way already described. The priority nominated for the input of a B program may be one of those nominated for A programs. In this case, that priority ceases to be "A" for the duration of the program. Input of Director will call for the input of an A program when ey A programs: the following circumstances obtain:- (a) A vacant A priority is available which is lower than all those currently occupies by A programs. and (b) the A program peripheral requirement can be satisfied. and (c) there is enough space in the Hole to meet the pre−ordained A program storage requirement. This required amount of store, from the upper limit of the Hole downwards, is assigned before starting to read in the A program (ulike the procedure described above for B programs, which starts with only 32 words assigned). Once the B−block has been read, this area may be contracted (from the top downwards) if the actual store requirement is less than the amount assigned: the vacant space thus created will be aN transferred to the Hole by the normal program−moving procedure. (Revised 12.12.65)
original
10 − 85 − 0 10.4 Section 10.4 Note that core storage ceases to be "vacant" as soon as it has been assi−ned for program input, and is therefore liable to be "slid" up or dow the store before the program to occupy it has been read. However, an assigned area can only be moved when there are no peripheral lock−outs set on it. Change of Store The case described above, when the store area assigned Assigned: to a B program "expands", between reading the B and C− blocks, from 32 words to the requisite number, is the only one which ever involves increasing the amount of store belongins to a program: it is the only case where there is a vacant area, i.e. the Hole, to expand into. The area assigned to a program may be decreased on three occasions: firstly, in the case already described, where an A program's store requiremattis less than the amount pre−assigned for reading it in; secondly, when a program obeys OUT 1; and thirdly, when a program obeys OUI 2. In the last two cases, the new program/ section and its predecessor have the same EO, and the contents of any part of the store common to both old and new program/ sections are unaltered (provided, of course, that in the case of OU! 1, they have not been overwritten by the latter). But the new program/section must not demand more store space than the old: if it does, failure occurs (CRNP F6). If the new program/section has a blank store requirement, it is given exactly the same assignment as its predecessor. If the new progr section requires less space, it is allocated just the amount it requires. The vacant space thus created will be transferred to the Hole by the normal program−moving procedure. The new program/section has the same priority, and the same A/B characteristic, as the old one, and, for an A program, is pre−allocated the same peripheral units. Interrupts: These occur for the same reasons as in the NTS Director, but there is one more. It is as follows:- PR. This occurs when a transfer, which was holding up a program, terminates. The diagram given in 10.3E applies similarly to the TS Director but, before setting up the program for re− entry, the Director has to decide which program it is going to enter (both on the short and long paths). F. COMPUTER REQUIREMENTS AND CONDITIONS Core Store: The TS Director works out its own size and this figure is output whenever Director is read in (see division J). It can be used on any size of machine since the available store is specified as input during the 'Initial Input' procedure. (Revised 12.12.65)
original
10 − 86 − 0 Section 10.4 10 4 Nesting Store: Interrupts do not, effectively, use any cells. Programs may therefore use 16). SJNS: Interrupts use, effectively, one cell. (Programs may therefore use 15 cells). Q−stores: Any Q−stores used during interrupts have their contents preserved by Director. Peripherals: The TS Director can handle any configuration of unlabelled devices (i.e. those allocated by OUT 5) this being specified during the 'Initial Input' procedure. Basically, the TS Director requires one PTR for each A priority level specified. Time−sharing: The TS Director can only be run on a machine with the time−sharing facility. G. NORMAL OPERATING PROCEDURES Typewriter Interruptions On pressing the typewriter 'Interrupt' key, TINT; will be typed (possibly after an interval). An invalid answer causes AGAIN TINT; to be typed. In either case a valid answer is one of the following (no 'underline's should be typed − they simply indicate that the symbol shown represents one of a number of possibilities) :- AL.→ Terminate program, letter L, or terminate program input. AL.→ Terminate program, letter L; SINS, N1,N2 and cell count are typed, where needed. BLn.→ Read octal integer n (up to 8 digits) to less significant half of EO of program L. EddA.→ Nominate the magnetic tape loaded on unit dd for the input of A programs. ddEB.→ Nominate the magnetic tape loaded on unit dd for the input of B programs. s F.→ Dummy (used if interrupt key pressed in error). Gn1.or Gn1/n2.→ Type peripheral unit list device 1 (to n2) H.→ Repeat list of "wanted" identifiers. IL0.→ Even restart for program L. IL0.→ Odd restart for program L. KDF9 (Revised 12.11.68)
original
10 − 87 − O Section 10.4 10 4 J.→ Jn.→ See Division TINTS Ldd/tt.→ Change unit dd to type tt. If tt = 0, unit is deleted from unit list. Mx [sep] y.→ Post mortem on paper tape punch in syllabic octal, x and y being octal integers. y words are output, starting at address x. If y is omitted, y = 1 is understood. If [sep] =, the base address of program L is added to x. Any other [sep] (e.g. "/") gives the absolute (Director) address x. If no PIP is available the message 'TINT M HELD UP−NO PTP' is typed. All programs should be suspended before using TINT M, and it mst not be used if Director is requesting an OUT 8 tape. Ptt/......→ Respecify type numbers, tt, of units preallocated to A programs. A type 2 unit will always be preallocated and need not be respecified. Q.→ Type Store Available. RL.→ Resume program L (after suspension). SL.→ Suspend program L. Tn/w.→ Read B program to priority n, giving it store limit of w words. If w is omitted, no limit is imposed, but if also the program specifies no store requirement the 'nL STORE AVAILABLE x;' query is typed (see below). If the"/" is replaced by "P", the PTR on which the program is read is preallocated to the program. U.→ or U1.→ See Division TINTS. Vn/m.→ Put program in priority level n into priority level m, and vice versa. The program letters remain unchanged. Zdd.→,Zdd+.→ See Division TINTS. 23dd.→ Other Monitor Indications This is a list of the monitor messages which may be typed and which do not fall under the other headings of divisions G and H. ttSddL Device dd, of type tt, is of status S and refers to program L (L = P,Q,R,S, or D for Director). L may be omitted. WANTED BY L <iiiiiiii> A program requires a tape with the given identi− fier. The request is repeated every time a tape or achieves status L (loaded), and the newly loaded WANTED BY L tape does not contain the 'wanted' identifier; <tiiiiiiiiiiiiiii> or after TINT H. KDF9 (Revised 12.11.68)
original
10 − 88 − 0 Section 10.4 10 4 10Lnn<identifier tape serial no.) This is typed when a tape is loaded. n10CnnL.→ This is typed in the relevant program column, when a tape is claimed. 10Lnnidentifier Occurs after TINT G − the given tape is loaded on unit mn, 10Unn This is typed when a tape is unloaded. PARITY Parity failure detected by Director on a tape unit (the message is typed after a magnetic tape descriptor). 10Wdd nnnnnBL When a program was terminated the tape unit dd was positioned immediately before block nnnnn, ┌ ┐ the label block being block 00001. │A │ PROG TAPE REQ L │or│ [prog identifier Director requires a program │B │ tape containing the program specified. └ ┘ n10DD/MM tttt The given program, letter (M) L, priority n, started at n10L (P)<program identifier> + <job number> time tttt on date DD/M. (D) The message is typed in the appropriate program column. LINK→(ADDRESS) ) SJNS→(address) ) etc. ) Messages indicating the contents of stores on N.1→(contents) ) termination of a program. N.2→(contents) ) CELLS+n ) N.1→CLEARED ) n prog identifier ENDS e ) The given program, priority n, n10 RAN/EL/run time/n.e.t/elapsed time) finished with ending number e, with run time, 'notional elapsed time', and elapsed time, as shown. The ending numbers are the same as for the NTS Director. n L−O ON When a program terminated there was at least one area of store locked out. nL STORE AVAILABLE x; Reply with (decimal) number of words to be assigned (see TINT T) i.e. 'y.'. If y = 0, CRNP F6 occurs (see division H). If y is omitted, the whole store is assigned, when available. nL AWAITS TYPE tt Program L (a B program) has tried to allocate to itself a unit of type tt, but none is available. Terminate the program Tor another B program, to free a device of type tt) or let it wait. KDF9 (Revised 12.11.68)
original
10 − 91 −0 Section 10.4 10.4 Other Failures 'FAIL' followed by the contents of a block (e.g. 10/13−) and loop stop, during initial input of Director, means the block in the list of peripheral units is unacceptable. Re−input Director. ABNORMAL OPERATING PROCEDURES Initial Input of Director 1. Initial Input the Director 'Call Program', identifier KKA030101P1U, see Section 10:2. 2. Read in the Director A−block (3rd character = P or M accordingly) and the B and C blocks, if being read from paper tape. 3. 'M.T. UNIT NO.;'is typed if the Director is to be read from magnetic tape. Reply 'dd.→', where dd is the (octal) device number of the marnetic tape unit loaded with the tape containin;s Director. 4. 'M (or P) KKTOOD20201U TIME SHARING DIRECTOR 2048 WORDS! or a similar messase, is typed. 5. Read in the list of peripheral units, from paper tapee The format is described in Section 10.3, division E. 6. The list of units is typed, es: 02U01 01003 etc. 7. 'CORE MODULES;' is typed. Reply 'n.→', where n is the number of modules (1 to 8). 8. 'A−PROGRAM DETAILS.→ is typed. No reply is required. 9. 'LEVELS;' is typed. Reply with priority levels to be used for A programs, e.g. '0/1/3.→', '1/2.→', or, if no A levels are wanted, 'N.→', in which case the next 2 steps are omitted. 10. 'TYPES;' is typed. Reply with the type numbers of the units to be pre−allocated to each A program. The type numbers should be sep− arated by the character '/' with the last type number followed by '.→'. Only one device of each type may be preallocated to each A prosram. A type 2 unit (PIR) will always be preallocated and need not be specified. 11. 'STORAGE;' is typed. Reply 'n.→' where n is the decimal number of words of core store to be given to each A program. KDF9 (Revised 12.12.65)
original
10 − 92 − 0 Section 10.4 10 4 11. 'DATE D/M/Y' is typed. Reply WITH TODAY'S DATE. e.g. 12/1/65.→ 13. 'TIME ON 24&MINUS;HOUR CLOCK HOURS/MINS;' is typed. Reply with the time to the nearest minute, e.g. '19.35.→. 14. The call tape for the director should now contain information as follows:− M KKT−−−−−−−−−→N→2/1→3/5→10/7/10/11/12/13/14/15/17→→ KMA01−−→ KMB02−−→ KMC01−−→ KMC02−−→ KMC03−−→ KMW02−−→ KMW03−−→ KMW05−−→ KAB50−−→ KAB00−−→ KRZ01−−→ KRZ0−−−→ KAB70−−→ KKT80−−→ KMF01−−→ KMF0205→+RW1/225→ After the directors A−block Y→ appears on the call tape to indicate the requirement or or non−requirement, respectively, of TINTM. If TINTM is N→ not required it is removed at run time with a saving of approximately 64 words of director space. Then follows the units list and a list of 16 identifiers which are the names of programs to be called by TINT TnLp. Each identifier is of the form CN CR AAAAAAA→[A can be any letter or −] where the letter string is the most significant characters of the identifier. Immediately following the 16 identifiers is a job number of 8 characters in length beginning with +; If + is not found then no job number is associated with the call of these programs. 15. Stream count: Reply n.→ where n>0. The significance of the stream count is to determine the amount of output to go to the OUT 8 tape before a new reel is commenced and the old reel deallocated. TINT Jn.→ can always be used to re−adjust this count for the present OUT 8 reel, but for any new reel the count will be set equal to the value placed at this stage. Each time an 'end stream block' is written to KDF9 (Revised 12.11.68)
original
10 − 92 − 1 Section 10.4 10 4 the tape, the count is reduced. If this count becomes negative then a new reel will be opened for any 'new' program issuing OUT 8. K. Not relevant. L. TIMING DATA The time spent in Director, at an interruption, will depend on whether the 'short path' or the 'long path' is followed, and on what has to be done. These times are as follows:- The short path is followed when the reason for interruption is only PR and/or LOV and the time spent in Director is 728 to 812 micro− seconds (depending on priority re−entered) . If the long path is taken the time is composed of two elements. 1. A standard 1082 microseconds. 2. The time taken to perform the required function or functions. M. Not relevant. KDF9 (Revised 12.11.68)

There is obviously material missing here


original
10 − 109 − 0 Section 10.4 10.4 Appendix 4 i.e. deallocate either the first or second set of disc claimed by OUT 44. Disc sets nest up on dealiocation so that if the first set of discs was deallocated the second would become the first set in all future reference. OUT 46 Write program to the temporary program space of the disc. N2 contains the start address (relative to EO) of a program block. This is either:- a) a B−block with a filler word for the first C−block in the 8th word. b) a C−block whose length is determined by the filler word of the previous block. The first C−block is of maximum length 3759 words and subsequent blocks of maximum length 3839 words. The first word of the area given to Director is not part of the program defined by the filler words, but is used by Director to store the address of the next block of the disc, and will have been overwritten when control is returned to the program, The third and fourth words of the B−block will be checked to see that they contain a valid program identifier and the third character changed to D. The program will be written onto the first set of discs claimed by the program's OUT 44. OUT 46 may only be obeyed before the first use of either OUT 41, OUT 42, or OUT 43. OUT 47 This is used to test parity after any 'User' read or writes It causes TR to be set if the last 'User' Transfer by the program had 1ed to a parity failure, or if the last 'User' read had been from an unwritten sector and parity has not already been checked. C.2 TINTS TINT C : Reply Cdd.→ where dd is the mumber of a disc to be replaced in Director's list. TINT D : Reply Ddd.→ where dd is the physical disc mumber of a disc that is to be deleted from Director's list. This is used to declare discs "black" after initial input. The relevant discs must be unclaimed at the time the TINT C is performed. TINT X : Reply Xn/w.→ to read a B−level 'System' program to priority n giving it a store limit of w. The first time TINTX is performed after initial input, Director will read in 'PRIME' as a normal B−level program unless N. has been replied to PRIME; on initial input. In this case and for subsequent TINT Xs, Director calls down the Initial Disc Reading Program (IDRP) from under the fixed heads to initialise the running of PROMPT,
original
10 = 110 − 0 Section 10.4 10.4 Appendix 4 D. Not relevant. E. PROGRAM CHARACTERISTICS General The T.S. Disc Director is an autonomous non−segmented program written in Usercode. Disc Storage Director keeps a Directory of all named records on the disc. This Directory is kept under the fixed heads and occupies 3840 words. It is divided into:- Sectors Occupied a) Initial Disc Reading Program (80 words) 0 − 1 b) Allocated Space List (128 words) 2 − 5 c) Permanent Program Index 6 − 95 Initial Disc Reading Program The B and C block of a program of not more than 80 words to initialise the running of the 'system! program. It may not use the "START" option and may only have one C−block. The user may provide his own IDRP or use the official version (KAY0O) provided for reading down PROMPT (see section 6). Allocated Space List This consists of 128 words, 8 words for each disc. A bit is set for every 640 word block which is written on. For one disc the entry in the table is:- D0 D16 D32 D47 ┌────────────────┬──────────────┬────────────────┐ │ Head 0 BLOCKS 0 − 63 │ ├────────────────┬───────────────────────────────┤ │ ———————————> │ Head 2 │ ├────────────────┴──────────────┬────────────────┤ │ │ Head 4 │ ├───────────────────────────────┴────────────────┤ │ │ ├────────────────────────────────────────────────┤ │ Head 1 │ ├────────────────┬───────────────────────────────┤ │ │ Head 3 │ ├────────────────┴──────────────┬────────────────┤ │ │ Head 5 │ ├───────────────────────────────┴────────────────┤ │ │ └────────────────────────────────────────────────┘ KDF9 (Revised 12.11.68)
original
10 − 111 − 0 Section 10.4 10 4 Appendix 4 Permanent Program Index Each entry is 3 words long, with the identifier of the program in the first two words and the 3rd word containing the address of the first sector occupied by the program on the disc. Entries are inserted or deleted from the index using OUT 27 and OUT 28 respectively. Temporary Program Index The entries to this index, which is kept in store by Director, are in the same format as the PPI entries, but refer to those programs loaded onto the disc using OUT 46. All entries for a level are cleared on program termination. The index contains only 13 entries. Any program which uses OUT 46 to write up a program when the index is already full, will fail. F. COMPUTER REQUIREMENTS AND CONDITIONS As for the Standard Time Sharing Director (section 10.4) with the addition of a disc file. G. NORMAL OPERATING PROCEDURES As for the Standard Directors with the addition of TINT C, D and X (see Division C,.2) and the following monitor indications. NOD <prog. ident> The specified program was called from the disc but could not be found. n L AWAITS n DISCS Either OUT 24 or 44 has asked for more discs than are currently available and program L is therefore held up. SYSTEM)PARITY (ss pp dd) The disc hardware is failing causing F−HEAD) (ss ) either fixed head or system read or write ) parity failures. CALL ENGINEER ) PPI FULL PROMPT has attempted to insert an identifier in the PPI and Director has found no space available. If any programs have been deleted from the PPI, Director should be reinserted without repriming, when the PPI will be optimised and space made available. H. NORMAL CORRECTION PROCEDURES Failure indications are as in the Standard T.S.Director. The following is a complete list of failure indications (the ones preceded by an asterisk do not have the REACT facility). OOL Lock−in violation OON Nest orSJNS over−or under−flow OOT Time limit exceeded. R The Reset RFI occurs in program mode. An illegal instruction has probably been obeyed. KDF9 (Revised 12.11.68)
original
10 − 112 − 0 Section 10.4 10.4 Appendix 4 S A 'spurious' interrupt occurs with no RFI bits, i.e. a machine error. 01 Incorrect OUT number (value still in N1). 02 Failure in OUT 5. 03 Failure in OUT 6 or OUT 7. 04 OQUT17 obeyed with full nest. 05 OUT 1 obeyed with less than 3 items in nest. 06 OUT 1 obeyed with incorrect program name, 07 OUT 4 specifies incorrect identifier. *10 CRNP failure in OUT 1. 11 OUT 10 specifies incorrect identifier. *20 Incorrect program name in OUT 2. 21 Time limit for OUT 2 absent or incorrect. *22 OUT 2 obeyed with incorrect store limit in Fi. 71 Attempting to close a stream that has not been opened. 72 (ouT 8) last character of block in stream number in range 30−37 to−70−77 is not octal 02, 03, or 75. 73 Incorrect character in OUT 8 block (stream 0 only) 74 Invalid stream number in OUT 8. 77 Invalid addresses for OUT 8 block, or invalid parameter in N2 for close stream. 101 Read or Write attempted with no discs claimed. 103 Incorrect block size for disc read or write OUT. 104 OUT 21, 22, 31, 32 specify incorrect head number. 105 Disc OUT obeyed with too few items in the nest. 106 Invalid buffer area specified for disc OUT. 107 Illegal disc address specified for disc OUT. 110 Disc OUT attempting to read from an unwritten sector. 111 Disc OUT specifies block number out of range. 113 OUT 43 specifies N2 4 0 or −1. 114 OUT 43 preceeded by incorrect number of OUT 44"s and OUT 45's 115 OUT 30 area specified > 3840 words. 117 OUT 30 specifies invalid core area. 120 OUT 24 reperformed. 121 OUT 24 or 44 attempt to claim invalid nwaber of discs. 122 OUT 44 obeyed too many times 123 OUT 23 or OUT 32 specifies invalid disc number. 124 OUT 46 obeyed with invalid address. 125 Limit to number of programs in T.P. I (see Section E) exceeded. 126 OUT 46 − B−Block contains invalid identifier 127 OUT 46 − Block contains invalid filler word. 100 our 45 − N24 0 or −1. 131 OUTS 41,42 or 43 obeyed while OUT 46 in progress. 132 OUT 46 obeyed after OUT 41, 42 or 43. 133 OUT 26 Next Sector Available queue full. 134 No sectors available (4 .e. discs full). 135 OUT 29 specifies invalid buffer area. 136 OUT 41 or 42 or 46 obeyed with parity indication set. 137 Out 27 or 28 obeyed with invalid identifier. KDF9 (Revised 12.11.68)
original
10 − 113 − 0 Section 10.4 10 4 Appendix 4 140 OUT 27 obeyed with invalid F.0.C. 141 OUT 41,42 area specified too large to fit in given block. 142 PPI full. 145 OUT 1 obeyed when level has program partially transferred to the disc using OUT 46. Failures during reading of new programs. These are notified by the typing of n CRNP x i.e. 'Cannot Read New Program' into priority n, for the reason indicated by x. For the values of x see section 10.4 division H, with the additional value x = 10 − Attempting to read a block from an illegal address on the disc. J. ABNORMAL OPERATING PROCEDURES Initial input of the T.S. Disc Director is as described in Section 10.4 division J of the S.R.L.M. with the following additions:- Disc Unit No : is typed after CORE MODULES Reply dd/nn.→ where dd is the octal device no. of the disc file and nn is the unit no. For unit zero it is only necessary to reply dd.→. After the reply to HOURS/MINS; the following queries are typed:- BLACK: reply dd/ee/ff.. .. ../gg where dd, ee .. gg are discs which are not to be included in the system. PRIME: reply a) N. If the disc is already primed, in which case Director reads down the ASL and checks that none of the 'system' discs have been declared black. If they have, Director returns to the query BLACK; otherwise Director types out the message:- SYSTEM DISCS dd/ee/ .. .. ff where dd, ee, .. ff are the 'system' discs. The following failure messages may also occur:- NO SYS: Director does not find any disc claimed and returns to the query BLACK. ASL PARITY: Director finds parity on the disc when attempting to read down the ASL. PPI PARITY: Director finds parity on the disc when attempting to read down the PPI. reply b) Y. If the disc is not_primed Director then reads in the B and C blocks of IDRP (see section E) on reader 1 and writes it to sectors 0 and 1 of the fixed heads. The following failure messages may occur:- KDF9 (Revised 12.11.68)
original
10 − 114 − 0 Section 10.4 10 4 Appendix 4 IDRP PARITY F : Parity fail on ».R.1 when attempting to read in IDRP. The reader is set manual and the read reinitialised. DISC WRITE PARITY: Parity fail on the disc when attempting to write IDRP to the disc. The transfer is repeated until it is performed successfully. B−BLOCK FAIL: The identifier or the filler word in the B−block is invalid. SUM−CHECKFAIL: The sum−check of IDRP is invalid. For either of the last two messages the reader is set to manual and the read for the B−block reinitialised. K. Not relevant. L. TIMING DATA Not yet available. KDF9 (Revised 12.11.68)