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:
325
doc/wp/lock.260a17
Normal file
325
doc/wp/lock.260a17
Normal 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
|
||||
|
||||
Reference in New Issue
Block a user