The $START routine cycles through the commutator table, falling
through anyNOP instructions and taking any branches. Control is passed
in this way to any processor whosegate in the commutator table is open. When the completes the function requested, it closes its
gate in the commutator table by replacing the E instructions with aNCP instruction. $START continues cycling through the commutator table
taking any open branches.When the bottom of the commutator table is reached, tests a
series of synch locks to see if any have been posted, signifying a
request for anSML function. If any synch locks are posted, $STABT opens the commutator table gate for the requested processor and goes to
the top of thecommutator table to start cycling through it again.
If the bottom of the commutator table is reached and there are no
posted synch locks,SML discontinues processing by.issuing a wait
request via a call to the supervisor module waiting on a list cf
the synch locks.When any of the synch' locks is posted, receives
control, the appropriate gate, and starts cycling through the
commutatortable. The task control table (TCT) is a
each of theprocessors. There is a
Also, contained within the TCT is
appropriate processor.DSECT defining data required by
TCT for each of the processors.
a branch instruction to theBLOCK AND DEBLOCK SML TELEPROCESSING BUFFERS: $TPPUT AND $TPGET Data received over the BSC line is placed in a teleprocessing (TF) buffer. The size of TP buffers is specified by a START command
parameter and can be up to1024 bytes.
Data contained inTP buffers is deblocked into tanks, which are unit
buffers of a specific size used to deblock the largerTP buffers. There
are 15 tanks; these are allocated as they are needed by processors. The
size of tanks is determined byMULTI-LEAVING control bytes. When an SML function
blocked fer transmission
deblocked for processing
station)• has been requested, the data must be either
(if it is data for a remote station) cr
(if it has been received from a remote
$TPGET receives data from aBSC line (via the COMSUP routine) and
allocates tanks to output processors as they are needed.$TPPUT receives tanks from input processors, blocks the data in these
tanks intoTP buffers, .and gives control to COMSUP to transmit the
buffers over the line.
The NPT Line Driver Program
TheNPT line driver program processes only one file at a time; it can
either receive a file as input from the remote station or transmit an
output file to a remote station. These two processes execute under
control of a line monitor that reads and writes data over theBSC line
and a functicn selector routine that determines whether an input or
output functicn has been requested.RSCS Introduction 3-11
through any
in this way to any processor whose
gate in the commutator table by replacing the E instructions with a
taking any open branches.
series of synch locks to see if any have been posted, signifying a
request for an
the top of the
If the bottom of the commutator table is reached and there are no
posted synch locks,
request via a call to the supervisor module
the synch locks.
control,
commutator
each of the
Also, contained within the TCT is
appropriate processor.
TCT for each of the processors.
a branch instruction to the
parameter and can be up to
Data contained in
buffers of a specific size used to deblock the larger
are 15 tanks; these are allocated as they are needed by processors. The
size of tanks is determined by
blocked fer transmission
deblocked for processing
station)
(if it is data for a remote station) cr
(if it has been received from a remote
$TPGET receives data from a
allocates tanks to output processors as they are needed.
tanks into
buffers over the line.
The NPT Line Driver Program
The
either receive a file as input from the remote station or transmit an
output file to a remote station. These two processes execute under
control of a line monitor that reads and writes data over the
and a functicn selector routine that determines whether an input or
output functicn has been requested.