SPOOL FILE ACCESS The Spool File Access task, DMTAXS, uses the "retrieve subsequent file
descriptor" option of the CPDIAGNOSE X'n14'command to access the spocl
file block (SFBLOK) and spool file tag for each of the files enqueued cn
the RSCS virtual reader. Using the location identifier in the spool file tag. DMTAXS interrogates the link table entry for the specified link to determine if
a tag slot is available. If it is, a tag is built, using information in
the SFBLOK and spool file tag, and then enqueued on the link's chain cf
inactive files pOinted to by LPOINTER in the link table entry_ If a tag
slot is not available, the file is placed in a pending status and the
link table entry count of pending files (LPENDING) is incremented by
one. Pending files are added to the inactive file queues as slots
become available. When a line driver task is started for a link via the RSCS START command, the highest priority file on that link's inactive queue (LPOINTER) is degueued and placed in the system's active input queue
(TAGACIN). The file's tag and first spool buffer are then passed to the
line driver task for transmission. Any additional spool buffers for
that file are directly obtained by the line driver task.
Task-to-Task Communication RSCS provides two methods of task-to-task communications: GIVE/TAKE requests, and ALERT requests.
GIVE/TAKE requests are issued by lower-priority tasks, such as line
drivers, to request a service from a higher-priority task, such as a
supervisor service routine. The requesting task builds a request table
containing the name of the task that is to perform the service, along
with pointers to a request buffer containing the data required for the
service. If appropriate, a pointer to a response buffer is also
supplied. This information is passed to the DMTGIV module. DMTGIV builds a GIVE element that points to the requestor's request table and
chains it on the GIVE element queue for execution. Service tasks pass control to DMTAKE whenever they complete the
execution of a particular service a DMTAKE locates the GIVE element for
the service that was just completed, passes any response data back to
the requestor via the response buffer, locates the next GIVE element for
that service task, and passes the corresponding request table data to
the service task for execution.
ALERT requests are issued by high-priority tasks for services to be
performed by a lower-priority task. These requests are not queued; the
lower-priority task is executed as soon as it is received. ALERT
requests are handled by the DMTSIG module. RSCS Command Processing
The primary command processor in RSCS is the DMTCMX module of the system
centrol task. DMTCMX receives commands either as a result of a console
read started by the DMTREX module in response to attention interruption
from the RSCS operator console, or through a GIVE request pointer to a
command element, provided by an active line driver task.
Part 4. Remote Spooling Communications Subsystem (RSCS) 337
The DEFINE, DELETE, DISCONN, QUERY, and STARl commands are processed
entirely by the system control task, as they may involve the referencing
and updating of the system status tables (DMTSYS). For the CHANGE, PURGE, and ORDER commands, £MTCMX builds a formatted
table called a command element and passes it, via an ALERT request, to
the DMTAXS task for execution.
The BACKSPAC, CMD, DRAIN, HOLD, MSG, and TRACE commands are passed to the line driver task for the associated active
link via a command element and ALERT request.
Rses Message Handling Messages can occur in response to a command or sFontaneously as a result
of a system malfunction.
The task that originates the message
the variable portion of the message text DMTMGX obtains the fixed portion of
information from the DMTMSG module, and
appropriate operator.
passes the message number and
to the message handler, DMTMGX. the message text and routing
then issues the message to the
Messages can be addressed to the local RSCS operator, remote station
operator, local VM/370 virtual machine, VM/370 system operator, or
combinations of these. Messages directed to the VM/370 system operator or VM/370 user are
issued via the CP MSG command using the virtual console function of the DIAGNOSE interface. Messages for the local RSCS operator are enqueued
for output by DMTREX. Messages for the remote station operator are
presented to the line drivers for the associated links via an RSCS MSG command element and ALERT request. Interruption Handling Three types of interruptions are handled
routines: external interruptions, SVC interruptions. EXTERNAL INTERRUPTIONS by the supervisor service
interruptions, and I/O
External interruptions are handled by the DMTEXT module. Each bit cf
the external interruption code (bytes 16-31 of the external old PSW in
low storage) is inspected. When a bit is set to one, a scan of the
external exit request queue is made to locate the first requested exit
for the bit that was set. If one is found, the exit is taken;
otherwise, processing continues until the entire interruption code has
been inspected.
338 IBM VM/370 System programmer's Guide
Previous Page Next Page