The I/O element (defined by DSECT IOE) is ruilt by the I/O request
manager (DMTIOM) and consists of items of system information describing
a request for an I/O operation. I/O elements are placed on queues pointed to in SVECtORS: MPXIOC (for
multiplexer I/O requests) and SELIOQ (for I/O requests). The
elements in these two queues are in ascending subchannel order. Queue
elements may also contain pointers to subqueues, which represent
requests for use of the same nonshared subchannel. Each I/O element
points to an I/O table.
Also, there is a queue of I/O asynchronous exit request elements
pointed to in the SVECTORS data area. Figure 10 shows the relationships retween these various data areas. ACTIVE AND PENDING I/O QUEUES The supervisor I/O queues (MPXIOQ and SELIOQ) include an active queue
and a of inactive or "pending" subqueues. Each element in the
active I/O queue represents an I/O operation which is active on a
particular ncnshared I/O subchannel. The active I/O queue is ordered
according tc ascending numerical I/O subchannel address. When an I/O operation is requested on an idle I/O subchannel, an I/C element representing the request is built and enqueued on the active I/C queue in its I/O subchannel's numerical address position. The I/C operation is then started. When an I/O operation is requested on an I/O subchannel for which an I/O element is enqueued on the active I/O queue, the nonshared
subchannel is busy and, therefore cannot be started immediately. In
this case, an I/O element representing the request is built and enqueued
on the subchannel's inactive I/O subqueue. The head of this subqueue is
contained in the active I/O element enqueued on the active I/O queue. When the nonsbared subchannal's active I/O completes and the
suhchannel becomes available, the first element on the inactive I/C subqueue is enqueued on the active I/O queue and its I/O operation is
started.
HANDLING LINK ACTIVITY: LINKTABLS AND TAGS When the RSCS system is generated, a number of tAG slots are generated
and enqueued cn the free TAG queue. TAG slots are storage areas defined by the TAG DSECT; TAG slots describe the files being transmitted via RSCS; the free TAG queue comprises those TAG slots for a given RSCS system.
The Free TAG Queue is defined
defines the status of TAG slots in
to ty TT!GQ in SVECTORS. in the rSEct tAGAREA, which alsc
the RSCS system. tAGAREA is pointed
3-28 IBM VM/370: System Logic and Problem Determination--Volume 3
SVECTORS MPXIOQ SELlOQ IOEXITQ Figure 1n IV. ASYNE ACTIVE IOE ASYNE ASYNE _____ n,-----, IIO Queues and Subqueues ACTIVE IOE Each link in RSCS is defined by a LINKTAEL DSECT. The LPOINTER field cf
the LINKTABL DSECT points to the link's TAG queue. This queue comprises those TAGs describing files that Rses has not yet transmitted. Only one TAG Fer link can be active at a time.
The queue of LINKTABLs (called the link table) is pointed to by the TLINKS field in SVECTORS. Transmitting VM/370 Files to an RSeS link When a VMj310 file is spooled to RSCS for a specific link, Rses accepts
tbe file and: Obtains a free TAG slot for the file. Builds a description of the file in the TAG slot. Enqueues the new TAG on the link's inactive TAG queue. When transmission to the remote station begins, the file's TAG is
dequeued from the inactive TAG queue and enqueued on the active input
file queue (TAGACIN in TAG AREA) When transmission of the file is
complete, the TAG is dequeued from the active input queue and its slct
is returned to the Free TAG Queue. R5CS Introduction 3-29 IOTABLE
Previous Page Next Page