From fc524e4d6bfc2eed724dd0a0ef47ec5f168e47bd Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Tue, 14 Aug 2018 08:36:31 +0200 Subject: [PATCH] AI memo 260A: LOCK. --- doc/wp/lock.260a17 | 325 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 325 insertions(+) create mode 100644 doc/wp/lock.260a17 diff --git a/doc/wp/lock.260a17 b/doc/wp/lock.260a17 new file mode 100644 index 00000000..86f415f1 --- /dev/null +++ b/doc/wp/lock.260a17 @@ -0,0 +1,325 @@ +. +.comment temproary convention 2=font 2 1=font 1; +. +.DEVICE TTY +.page frame 56 high 75 wide +.title area footing line 56 +.title area heading lines 2 to 4 +.area text line 5 to 54 char 6 to 75 +.place text +.turn on "_{\" +.tabs 12,24,36,48 +.every footing ({page~,,{page~) +.portion titlepage +.nojust +.group skip 5 +.begin nofill +_MASSACHUSETTS INSTITUTE OF TECHNOLOGY +_A. I. Laboratory +.skip 2 +Artificial Intelligence +Memo. No. 260ADecember 1973 +(Revised 260, June 1972) +Last updated August 1976 +Accurate for LOCK.105 +.skip 5 +2 +_L O C K1 +_Donald E. Eastlake +.end +.skip 4 +LOCK is a miscellaneous utility program operating +under the ITS system. It allows the user to easily and +conveniently perform a variety of infrequently required tasks. Most +of these relate to console input-output or the operation of the ITS +system. +.skip 7 +Work reported herein was conducted at the Artificial +Intelligence Laboratory, a Massachusetts Institute of Technology +research program supported in part by the Advanced Research Projects +Agency of the Department of Defense and monitored by the Office +of Naval Research under Contract Number N00014-70-A-0362-0005. + +Reproduction of this document, in whole or in part, in permitted +for any purpose of the United States Government. +. +.insert contents +.portion main +.every heading (LOCK,,December 1973) +.macro s1(sh) begin nofill;group skip 2;send contents  +.skip 2 +sh. {page~ +. +2 +sh1 +.skip +.end +.macro s2(sh) skip;send contents  +.skip +\sh. {page~ +. +_sh +. +.indent 6 +.s1 (1. Introduction) + +LOCK is a miscellaneous utility program available +under the ITS system at the MIT Artificial Intelligence +Laboratory. Numerous commands are available in LOCK +related to console input-output, the operation of the ITS +system, LOCK itself, and a few other things. + +LOCK types out a "_" or leftarrow as a prompt character when it +is ready to accept a command. Commands are started by any +character that is not a digit or a break character. They +may be preceded by a numeric argument which is interpreted +in octal. The word "argument" in the description of individual commands +below always refers to this numeric prefix argument. Commands +are executed as soon as they are completely typed (i. e., +no terminator is required). Before complete, most of them may be aborted +by typing a rub-out. + +In the description of several commands below, it is stated +that they put LOCK in a "permanent mode". This just means +that LOCK, which does almost all console input at the main +program level, will not listen for any further commands except ^G. + +Throughout this memo, the ASCII character whose code is 137 octal is refered to +as leftarrow (_) although some terminals use the +graphic underbar () for it. +.next page +.indent 0 +.s1 (2. Command Descriptions) + +.s2 (2A. Teletype Commands) + +\+, -\These commands allow a user to "lock" and +"unlock" a limited number of consoles, the original function for +which LOCK was named. The + command should be preceded +by a console number. If the console is free, LOCK will open +it as a device and type out on it a message saying that it has +been locked by the user. LOCK will also type a +"W" at the user. When open as a device a console will +ignore ^Z's or other attention signals. If for some +reason the console can't be opened, an "L" will +be typed at the user but if the maximum number of teletypes that +can be locked are already locked, a "?" will be typed. + +If a console number is typed before the - command, +LOCK will type a "*" at the user and unlock the console +if it is locked by that LOCK. If no argument is given to a - +command or the argument is not a locked console number, LOCK +just types out a "?". + +\", _, O, FCO \These commands are useful in determining the +effect of particular character codes on output to a terminal and the +character code that is input by various actions at a terminal. + +The " command causes LOCK to type back the next character +typed in as the octal of its character code. +The _ (or leftarrow) command takes as its argument a character code which it +proceeds to output as a character. (In a few cases this code +may not get to the terminal due to transformations by the ITS +system.) +The O command causes LOCK to enter a permanent mode +in which it types back each character it receives as the +octal of its character code followed by a carriage-return +line-feed. (In a few cases characters typed on a console may +be transformed by ITS before they reach LOCK or may +have control effects on ITS.) +The FCO command is similar to the O command, but outputs +the control and meta bits as interpreted from the TV-11 +keyboards or terminals supporting the Intelligent Terminal +Protocol. + +\I37\This command is rarely used nowadays. It outputs +a character string that properly initializes certain model 37 +teletypes for use as full duplex ITS consoles. + +\SPEED\This command allows the input and output +speeds of consoles on the Systems Concepts, Inc. DK-10 controller +to be set. If there is no argument given, the command is +interpreted as applying to the console that LOCK is being used +from. Otherwise, an argument is interpreted as the number +of a console to be affected. If the console whose speed is to +be changed is not on the DK-10 controller, a "?" is typed. +If it is on the DK-10 controller, LOCK will ask +the user to type first an input speed and then an output speed. +These speed numbers should be terminated by a non-digit and +can be omitted if the particular speed is not to change. The +following are the available speeds: 110, 135, 150, 300, 600, +1200, 2400, and 4800. (Although these numbers are read and +recognized by LOCK in octal, they represent the typographicly +similar decimal number.) + +\SPY, ISPY\These commands allow a user to observe +the character stream arriving from a particular console without +interfering with that console's input or ourput. The SPY +command should be preceded by a console number. +It causes LOCK to go into a permanent mode outputting +to the user characters that are input to ITS on that +console line. ISPY is the same as SPY except that +the SPYed characters are output in image mode. + +.s2 (2B. System Commands) + +\DOWN, REVIVE \These commands allow the user to +activate and deactivate the ITS system going down feature. +The DOWN command must be given an argument equal to or greater +than 5. This will be interpreted as the length of time in minutes until the +system will go down. (Remember that this number will be +read as octal.) A DOWN command will type a "?" and have no +effect if the system is already going down in a lesser time. +The REVIVE command causes ITS to leave the +system going down mode. It takes no argument. + +Since both the DOWN and the REVIVE commands affect +all users on a system and cause messages to be printed out on +almost all consoles, LOCK does not actually try to do them +until the user has confirmed his desire by typing "Y" at +a confirmation question asked by LOCK. The user should +be sure of what he is doing before using these commands. + +\DPK \This command is used to reset the DataPoint Kludge +(the Systems Concepts DK-10 Terminal Controller. When +terminals connected to this controller are not working +properly, this command will re-initialize the controller +and hopefully restore things to a winning state. + +\SYS, TPL\These commands give the user limited control +over the ITS system job. Neither takes an argument. +The SYS command complements the +state of the system checker part of the system job which, when on, +checks for clobbered locations in the constant parts of the ITS +system. After a SYS command, LOCK prints +the enablement status of the system checker. + +The TPL command affects the spooling +routines in the system job which, when on, line print +buffered files in the .LPTR. directory on the disk. Each time +the TPL command is given, the currently printing file, if any, +is stopped and deleted. + +\TEST\The purpose of this command is to test the +core allocator and swapping routines of ITS. It +causes LOCK to go into a permanent mode in which it randomly +creates inferiors and copies itself into them starting them at the TEST code. +In the meanwhile, all these procedures do limited random size +core request. The casual use of this command is not recommended. + +.s2 (2C. Autonomous Commands) + +\^G\This is the only character that LOCK listens +for at the interupt level. It aborts whatever LOCK is doing +and restarts it at the listen loop thus getting you out of various +"permanent" modes. + +\P\This command causes console control to revert to the +superior procedure of the LOCK and the LOCK to be halted +but in a manner such that it can be proceeded. None +of LOCK's channels are closed and any locked consoles will +stay locked (see +, -). + +\Q\This command valrets a :KILL so that if LOCK is +running under a HACTRN it will be killed and console control +will revert to the HACTRN. All of LOCK's channels +will be closed freeing any locked consoles (see +, -). + +\?\This command causes LOCK to list most of its +commands along with a short explanation of each. + +.s2 (2D. Miscellaneous Commands) + +\DETACH, GUN\These commands allows a user to detach a +procedure tree from its console or to excise it +from the system. The tree to be affected is specified +by its apex procedure. When a procedure +tree is detached,it becomes disowned and its console becomes +free. The job name of the apex procedure is incremented at least +once and until unique. + +If one of these commands is preceded by an argument, this +is taken to be the user number of a procedure. If +not such an index a "?" is typed out and nothing else +done. If the argument is such an index, LOCK types +a confirmation question containing the UNAME and +JNAME of the procedure specified. If the user then types +anything other than a "Y" the command is aborted. If the +user types a "Y" LOCK will try to gun down or detach the specified procedure and will type +a "?" if it fails (perhaps because the specified +procedure was not an apex procedure). + +If one of these commands is given no argument, the user +is asked for the UNAME and JNAME of the apex procedure +he wishes to affect. If these names specify an appropriate +extant procedure, it is gunned down or detached. Otherwise a "?" is +typed out. + +\UCLEAR\This command is used to initialize DECtape +directories. The UCLEAR command should be given an argument +which is the number of a DECtape drive. On this drive a +marked tape should have been mounted but the directory of this tape +must not have been read in by ITS. Since initializing the +directory of a tape will make it difficult to recover any old +files on it, LOCK asks the user to confirm that +he wished to UCLEAR the tape. It then assigns (required +by ITS for initialization) the drive to him and initializes the tape. +(LOCK should +be running with the same system name as the user's log in +name.) + +.next page +.Nofill +.s1 (3. Alphabetic Command List) + +\Command\Section + +\^G\2C +\"\2A +\+\2A +\-\2A +\_\2A +\DETACH\2D +\DOWN\2B +\DPK\2B +\FCO\2A +\GUN\2D +\I37\2A +\ISPY\2A +\O\2A +\P\2C +\Q\2C +\REVIVE\2B +\SPEED\2A +\SPY\2A +\SYS\2B +\TEST\2B +\TPL\2B +\UCLEAR\2D +\?\2C + +.next page +.nofill +.s1 (References) + +1. Donald E. Eastlake, et al. + ITS 1.5 Reference Manual + July 1969, AI Memo 161A + +2. Eric Osman + DDT Reference Manual + September 1971, AI Memo 147A + +3. Donald E. Eastlake + ITS Progress Report + April 1972, AI Memo 238 + +.portion contents +.every footing () +.nofill +.skip 1 +2 +Table of Contents1 +.skip 3 +.receive +  \ No newline at end of file