@V7 54 2 -5
@L3 COUK1247
80
@V9 0
@YCHAPTER 20 - MUSS USER MANUAL
@G@RCHAPTER 20 - OPERATOR FACILITIES@G
@V10 1 9 255
@S220.1 CONFIGURATION
@T% 10
@BThe operator is provided with facilities for changing
the configuration of a machine from that initially
compiled into the system. The changes may affect both the
peripheral process configuration of a machine, its status
within a network,
and the detailed device configuration.
@BTwo options are available to an operator for changing the
configuration. A set of commands, as described below, may be called
to change the configuration whilst the system is running.
These changes will be lost when the system
is restarted. For changes of a more permanent
nature, a text file may be created
containing a set of configuration parameters.
This file will be processed and the configuration
amended accordingly on every system restart.
The file must be called CONFIG and exist under the
SYSTEM username.
@BIt is necessary to understand some of the terminology
used in describing the organisation of input/output
devices before attempting to alter the
configuration of the system.
@BFirst each 'device' attached to the system has a 'logical device
number' which is assigned to the device when it is configured
(see the CONFIG command below).  A device in this sense is
any input or output device, thus a VDU represents two devices,
one of each.
@BSome output devices may also have 'peripheral channel numbers'
assigned to them, again by the CONFIG command.  These numbers
serve two functions. They are the means by which an input
device is 'linked' with an output device.  The implication of this
is that all replies sent to the input will appear in the linked
output including the monitoring of logging in errors.
The norm is for the
two devices comprising a VDU to be linked.  Another use of the
peripheral channel number is in forming a 'SPN' for a peripheral
process.  This is necessary, for example, in the SET.PERIPHERAL
command, which allows a pseudo process name to be assigned to
devices such as LPT.
Each device on the system has a unique 'physical device identifier'
which has the following format:
@
@
@3
@U 7
@
               @O                     @O
               @O|    8    |    8    |@O
                    |         |
                    |           ---------- physical device number
                    |
                     --------------------- physical device type
@0
@BThe physical device type field indicates the actual kind of the
device, and distinguishes between devices which have major differences
in their handling.  The device number gives the internal device/line
numbering within each type.
@BA system process number (SPN) in general is formed
from a process number and a machine number.  However, one bit
is reserved to indicate that the process number field is to be
interpreted as a peripheral channel number thus
@
@
@3
@U 7
@
          @O                   @O
          @O|         |1|  8  |@O
               |     |   |
               |     |    -- machine number
               |      ------ 1 = peripheral, 0 = process
                ------------ process number/peripheral channel
@0
@S320.1.1 Configuration Commands
@BWhen the system is in operation the communication
between users and supervisors and user processes and peripherals
is determined by the contents of the following tables
@
@T% 30
@
NETWORK TABLE -@Ithis gives the name of each machine accesible
from the current machine, and the SPN for the peripheral channel
through which it can be accessed.@
@
SUPERVISOR TABLE -@Ithis gives for each supervisor in the network -
a name, a machine name, a SPN, a PID and a channel.@
@
PERIPHERAL TABLE -@Ithis gives a name and a SPN for each peripheral process.
@BThe first three commands below define the entries in these tables.
@
@
@
1) @JSET.NETWORK(I,II,I)
@BThis procedure changes entries in the NETWORK TABLE.  The first
parameter is the table entry to be changed.  P2 specifies a machine name,
and P3 a peripheral SPN which will be used for communication between the
current and specified machine.
@
@
@
2) @JSET.SUPERVISOR(I,II,II,I,I,I)
@BThis procedure changes entries in the SUPERVISOR TABLE.  The first
parameter is the table entry to be changed.  P2 and P3 specify a
process name and machine name respectively for the supervisor
process, and P4, P5 and P6 are the SPN, PID and channel for
communication with the process.
@
@
@
3) @JSET.PERIPHERAL(I,II,I)
@BThis procedure changes entries in the PERIPHERAL TABLE.  The first
parameter is the table entry to be changed.  P2 specifies a peripheral
name and P3 the SPN to be associated with it.
@
@
@
4) @JREROUTE.PERI(I,I,I,I,I)
@BThis procedure allows the operator to temporarily change the
routing of documents to a peripheral.  The first parameter specifies
the table entry to be chaged.  P2 is the peripheral SPN whose documents
are to be rerouted.  P3, P4 and P5 specify an alternative destination
for the documents, as a SPN, PID and channel number.
@
@
@
5) @JCONFIG(I,I,I,I,I,I,I)
@BThis procedure is used to change the configuration of devices in
the system.
@BIts parameters are
@Q 8
@
@
@MP1 - Logical device number
@NP2 - Physical device identifier (see above)
@NP3 - Device number of the paired device
@NP4 - Output channel number
@NP5 - Logical device mode
@NP6 - Physical driver mode
@NP7 - Physical line Parameters.
@BThe logical device numbers (P1) are arbitrary assigned
providing the maximum configured number of devices is not exceeded.
Thereafter the logical device number is
the means of identification for device reconfiguration.
@BDevices may be paired (P3), which means they
are treated as one from the point of view of
logging in and logging out.  Normally the screen
and keyboard of a VDU are treated as a pair and
unidirectional devices like printers and card readers
are not paired at all.
@BOutput channel numbers (P4) are assigned to
outputs so that inputs may be linked with them
and sometimes names assigned to them.  If an
output channel number is given whilst
configuring and input device it is 'linked' to that
output.
@BThe logical mode (P5) has the format
@
@
@3
@U 12
@
     @O                            @O
     @O|    8    |1|1|1|1|1|1|1|1|@O  0          1
          |         | | | | | |
          |         | | | | |  -- character / comms
          |         | | | |  ---- input     / output
          |         | | |  ------ single    / paired
          |         | |  -------- shareable / dedicated
          |         |  ---------- short     / long message
          |          ------------ spooled   / interactive
          |
           ---- logical device class
@0
@BThe logical device class
distinguishes between character and communications protocols
and there may be variations in these between different
installations although the first six classes will be constant thus
@
@
@
@U 6
                    0    character input
                    1    character output
                    2    MUSS communications input
                    3    MUSS communications output
                    4    talk input
                    5    talk output
@
@
@
The functions of the least significant 8 bits of the logical device
mode, thought of as logical device type, should be mainly
self explanatory, but the following notes may help.
@
@
paired@Iimplies the device is one of an input-output pair
(such as an interactive terminal) and so any logging out
operation should apply to both members of the pair.@
@
dedicated@I(output devices only) means the device must be
dedicated to one process at a time.@
@
long messages@Imeans that long messages can be input/output
via this device.  For very slow devices, the use of
long messages could be expensive.@
@
interactive@I(character devices only) distinguishes between
batch and interactive devices.  Lineprinters, and paper tape
devices are, for example, considered as batch devices,
while VDUs are interactive devices.@
@
@
@
The 'driver-mode' controls the special actions of
the device driver software according to the following
bit allocations
@
@
@U 16
Input device:
@
@3
@
          @O                 @O
          @O|1|1|1|1|1|1|1|1|@O    0 = OFF      1 = ON
           | | | | | | | |
           | | | | | | | |
           | | | | | | |  ---- Xfer on LF, CR, FF
           | | | | | |  ------ ATV GRAPHICS
           | | | | |  -------- Xfer on all
           | | | |  ---------- Spare
           | | |  ------------ CR ->LF
           | |  -------------- BS + DEL
           |  ---------------- ETX = BREAK
            ------------------ Note XON/XOFF
@0
@
@
Output device:
@
@
@3
@U 12
@
          @O                 @O
          @O| |1|1|1|1| | |1|@O  0 = OFF  1 = ON
             | | | |     |
             | | | |     |
             | | | |      -- BREAK is ENGAGE/DISENGAGE
             | | |  -------- LF generates XOFF
             | |  ---------- Echo for paired input device
             |  ------------ LF -> CR+LF
              -------------- FF produces DISENGAGE
@0
@BThe line parameters (P7) specify the physical characteristics
of the device as follows
@
@
@3
@U 9
@
@O                     @O
@O|   |   |  4  |2|2|2|@O
           |   | | |
           |   | |  -- parity (0=even, 1=odd, 2=mark, 3=space)
           |   |  ---- no. of bits (0=five, 1=six, 2=seven, 3=eight)
           |    ------ no. of stop bits (0=1 stop, 1=1.1/2 stops,
           |           2=2 stops)
            ---------- transfer rate (see below)
@0
@BThe following encoding may be used to specify different
transfer rates:
@
@
@
@3
@U 18
                      transfer    rate
          @Ocode@O        @Obaud    @O    @Ocharacter/s (approx.)@O
          0000            110             10
          0001            300             30
          0010           1200            120
          0011           2400            240
          0100           4800            480
          0101           9600             1K
          0110          19200             2K
          0111          38400             4K
          1000          76800             8K
          1001         153600            16K
          1010         307200            32K
          1011         614400            64K
          1100        1228800           128K
          1101        2457600           256K
          1110        4915200           512K
          1111        9830400             1M
@0
@BThe maximum number of devices and peripheral channels which
may be configured are determined at compile time and care
must be taken to keep P1 and P2 within these limits.
@
@
@
6) @JCONFIG.ENQ(I)
@BThis procedure provides the means for
enquiring about the configuration of a particular
device, with P1 giving the physical identification of that
device.
The actual configuration attributes are
returned in PW1, through PW6.  PW1 will contain
the logical device number which should be used
on a subsequence call to the CONFIG command.  The
paired logical device identifier is returned in PW2, while
the logical device identifier and the logical
device mode are returned in PW3 and PW4, respectively.
The physical device mode is returned in PW5 and the
line parameters are returned in PW6.
The formats of these attributes are identical to those
described for the CONFIG command.
@
@
@
7) @JSET.COMMON.SEGMENT([C],II,I,I)
@BThis procedure causes a specified file to become a common
segment.  P1 and P2 give the filename and username of the file
while P3 and P4 give the common segment number and its required
access.
@S320.1.2 Configuration File
@BThe CONFIG file consists of a set of
keywords identifying the type of parameter to change,
followed by the changes. The keywords are
preceded by @@. The following options are
available@
@
@T% 30
@@MACHINE@IThis should be followed by an integer specifying
the number of the machine within the network.@
@
@@NETWORK@IThis allows the operator to change the configuration
of the machines known to the system. The keyword is followed by
a list of machine names and associated peripheral
SPNs. These correspond to the parameters for the SET.NETWORK command below.@
@
@@SUPERVISOR@IThis allows the operator to change the list of
supervisor processes known to the system. The keyword is
followed by a list corresponding to the parameters
of the SET.SUPERVISOR command,
of process and machine names for the
known supervisors, and their associated SPN, PID and
channels.@
@
@@PERIPHERAL@IThis allows the operator to change the list of
peripheral names wired into the system. The keyword is
followed by a list corresponding to the parameters
of SET.PERIPHERAL,
of peripheral names and their associated
peripheral SPN's.@
@
@@ROUTE@IThis allows the operator to change the routing
information for a peripheral message channel, thus allowing
output for a peripheral to be redirected to an alternative
device. The keyword is followed by a list of peripheral
SPN's and alternative SPNs, PIDs and channels
for the destination.@
@
@@DEVICE@IThis allows the operator to set/change device
configuration.  It has a parameter list which corresponds
to that of the CONFIG command.@
@
@@COMMON@IThis allows files to become common segments in the
systems virtual store.  It has a parameter list which corresponds
to that of SET.COMMON.SEGMENT.@
@
@@END@IEnd of parameters.
@BAll numbers appearing in the file must be hexadecimal.
@BA typical CONFIG file for configuring a machine might be@
@Q 22
@
@@MACHINE@
3@IThis is machine number 3 in the network.@
@
@@NETWORK@
VAX01 103@ITwo other machines are known, and these can be@
@X%`
VAX02 303@Iaddressed via peripheral SPN's %103 and %303.@
@X%%
@
@@SUPERVISOR@
JOB VAX01 200 1 8@IThe job supervisor in machine VAX01. The job@
JOB VAX02 201 1 8@Isupervisor and filemanager in machine VAX02.@
FILMAN VAX02 401 2 8@
@
@@PERIPHERAL@
LPT 1103@ITwo lineprinters in the current machine (m/c 3)@
@X%`
SLOWLPT 1303@Iwith SPN's %1103 and %1303.@
@X%%
@
@@ROUTE@
1503 1101 1101 8@IRe-route output for peripheral
@X%`
%1503 to the peripheral %1101.@
@X%%
@
@@DEVICE@
3 5002C 101 1400D@IConfigure logical device 3, as a
character input device, supported by line 1 of the
multiplexor (for example).  Buffer terminates on
special characters, echo is on and XON/XOFF is
accepted.  Line is of even parity, with 7-bit
characters and one stop bit, and 9600 baud.@
@
@@END@IEnd of parameters.
@S220.2 OPERATOR MESSAGES AND LOGGING INFORMATION
@BThe system provides for two types of operator
messages and logging. Events requiring urgent attention and
status information of immediate concern to the operator
appear as messages on the operator's console. Thus, for example,
requests for a magnetic tape or the allocation/de-allocation of
a peripheral would be monitored on the console. More general
information about the running and performance of the computer is
collected in a log file, which may be examined by the operator.
This includes information about the running of individual jobs.
@BThe precise details of the messages and logging information is
installation dependent, and on some small machine systems
might be of a very limited nature.
@S220.3 MISCELLANEOUS COMMANDS
@
@
1) @JDRIVE.PERI(I,I)
@BThis procedure may be called by an operator to drive a device
on a specific peripheral channel. The channel number is specified
in P1. The procedure processes messages on input stream 0 of the
process, and produces output on the device according to the mode
given by P2.
@BThe mode is encoded in the following way:@
@3
@U 20
@
     @O                  @O
     @O|    | | | | | | |@O
           | | | | | |
           | | | | |  --BREAK interrupt from the peripheral
           | | | | |    required after each section.
           | | | | |
           | | | |  ----BREAK interrupt from the peripheral
           | | | |      required after each newpage.
           | | | |
           | | |  ------Transmit XOFF to the peripheral
           | | |        after each newline character.
           | | |
           | |  --------Transmit ETX to the peripheral
           | |          after each newline character.
           | |
           |  ----------Remove carriage returns.
           |
            ------------Do not print headers.
@0
@
@
@GN.B@G: The modes for certain common types of devices is given below:@
@Q 13
@T~ 10 50
@
@X%~
~Benson plotter~%34@
@
~Diablo printer (using ETX)~%2B@
~(as a document printer)@
@
~Diablo printer (using ETX)~%C@
~(as a lineprinter)@
@
~Diablo printer (with XOFF facility)~%0@
~(as a lineprinter)@
@X%%
@
@
2) @JCONNECT(I,I,I)
@BThis procedure is intended mainly for use on small
MUSS systems which might be used as 'terminals'
on an alien system. The parameter P1
specifies a peripheral channel and the
assumption is that this channel is connected to an
interactive port of the alien system.
P2 is the machine number in which the channel exists.  More
commonly this would be the current machine (-1).  Control is
retained by the CONNECT command, subsequent
input is routed to the alien system and its responses
appear on the user terminal. In addition the
CONNECT command implements a primitive control
language which facilitates file transfer and
downline loading. The command lines begin with
the warning character specified by P3 ('*' is the
default) and such lines are not transmitted to the
alien system. The commands are@
@T% 30
@
*L filename -@Ithis command creates an output stream,
with destination = the given filename, and copies all
subsequent input received from the alien system to
this stream in addition to sending it to the users terminal.@
@
*S -@Ithis command stops the copying of input into the
stream created by *L.@
@
*C -@Ithis command causes copying to be resumed.@
@
*T filename -@Ithis command transmits the specified file
to the alien system, a line at a time. It waits between
lines for a message to be returned which it assumes to be
a prompt. All input received during transmission of the
file will appear on the terminal.@
@
*E -@Ithis command causes the CONNECT procedure to return
control to command level. Any stream set up by the
*L command will be broken at this time.@
@
@
3) @JRELABEL(I,II,[C])
@BThis command allows an operator to associate a new name and
label with the tape on a tape drive. P1 specifies the tape unit.
P2 and P3 give the name and label of the tape
respectively. Subsequent requests to mount a
tape (see Chapter 17) will recognise the tape
by this new name and label, rather than
by any label on the tape.
@BThis command should be called prior to
mounting the tape on the unit.@
@
@
4) @JCANT.DO(II)
@BThis command may be called by the operator
to refuse the request by a process for resources
(such as the mounting of a tape or exchangeable disc).
The parameter gives the name of the process.@
@
@
5) @JSET.TIME.AND.DATE(II,II)
@BThis command should be called by the operator
immediately on starting up the system. The first
parameter is the time of the day, consisting of the
six characters for HRS HRS MINS MINS SECS SECS.
The second parameter is the date, again expressed by
six characters, DAY DAY MONTH MONTH YEAR YEAR.
@BThe operator should check the validity of the time
and date after calling this command, using the procedures
OUT.TIME and OUT.DATE (Chapter 4).@
@
@
6) @JTIME.AND.DATE()
@BThis procedure returns in PWW1 the current time and date,
expressed as the number of seconds since midnight on 1st January,
1900.  The number of milliseconds since the system was last
restarted is returned in PWW2.
@
@
@
7) @JLIST.JOBS()
@BThis command allows the operator to list all the processes currently
in the system, along with useful information concerning each process.
The status of the process is indicated as follows@
@Q 6
@
@MM - waiting for a message
@NS - suspended (by suspend command)
@NT - suspended awaiting termination
@
@
@
8) @JINIT.DISC(I,II,I)
@BThis procedure initialises the disc on the unit number given by
P1 according to the mode given in P3.  P3 is interpreted as follows:@
@T% 10
@
0 -@Itemporarily rename the disc with name P2.  The disc will revert
back to its old name when the pack is removed from the drive.@
1 -@Ipermanently rename the disc with name P2.@
2 -@Iinitialise the file database on the disc and name it as P2.@
@
If modes 1 or 2 are required, this command should be called
prior to mounting the pack on the drive.
@F
