1
0
mirror of https://github.com/PDP-10/its.git synced 2026-01-26 12:12:12 +00:00

AI memo 260A: LOCK.

This commit is contained in:
Lars Brinkhoff
2018-08-14 08:36:31 +02:00
parent fc5c88ae28
commit fc524e4d6b

325
doc/wp/lock.260a17 Normal file
View File

@@ -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