The $START routine cycles through the commutator table, falling
through any NOP instructions and taking any branches. Control is passed
in this way to any processor whose gate 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 a NCP 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 an SML function. If any synch locks are posted, $STABT opens the commutator table gate for the requested processor and goes to
the top of the commutator 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
commutator table. The task control table (TCT) is a
each of the processors. 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 the BLOCK 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 to 1024 bytes.
Data contained in TP buffers is deblocked into tanks, which are unit
buffers of a specific size used to deblock the larger TP buffers. There
are 15 tanks; these are allocated as they are needed by processors. The
size of tanks is determined by MULTI-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 a BSC 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 into TP buffers, .and gives control to COMSUP to transmit the
buffers over the line.
The NPT Line Driver Program
The NPT 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 the BSC line
and a functicn selector routine that determines whether an input or
output functicn has been requested. RSCS Introduction 3-11
THE NPT LINE MONITOR ROUTINE: LINEIO The IPT line monitor routine, LINEIO, controls co •• unications on the BSC line. This rcutine sends and receives data over the ESC line. When the data is received from remote stations, that data is received in the LINEINB buffer. When data is transmitted to a remote station, it
is transitted using the LINEBUFF buffer. The IPT buffers are a fixed
size, defined by terminal type and buffer size specified on the SIGleR card.
THE NPT FUNCTION SELECTOR ROUTINE: NPTGET When the NPT line driver program has been loaded and initialized. the NPTGET program begins a cycle in which it checks every three seconds fer
one of three functions to perform: Process a command Read a file from a remote station write a file to a remote station When a function is requested, a branch is taken to the appropriate
routine. 8PT INPUT FILE PROCESSING For files being received from remote stations, two processing routines
are executed: POTVRFY and PUTBLOCK. PUTVRFY reads the data contained in
the input buffer (LINEINB) and verifies the ESC control characters for
that data. POTBLOCK deblocks the data in LIBEIBE, formats it for use by VM/370, and then writes the data to the VM/370 spool system. NPT OOTPUT PROCESSING ROUTINES For files being transmitted to a remote station, three processing
routines are executed: MAKEBLOC, GETBLOCK, and GETVRFY. MAKEBLOC accepts a block of data from the VM/370 spool syste. and
passes control to GETBLOCK. GETBLOCK then builds a buffer with which to
transmit the data and transmits the data to the remote station. The
response received from that transmission is analyzed by GETVRFY. Major Data Areas
The major data areas used by RSCS are: SVECTORS RSCS supervisor queue elements KAINMAP TAREA LINKTABL TAG RSCS request elements VM/370 data areas referenced by RSCS 3-18 IBM VM/370: System Logic and Problem Determination--Volu.e 3
Previous Page Next Page