- I GIVE Request \. Element ,) SML l STORAGE GIVE (Giver)
/ --.. \
\ , " ,," /' TAKE
Table , " "'" ..... " -- """'" , "" G,IVEE -- """" GIVE Request
Buffer '- I I I """ TAKE
Buffer "- GIVE Response
Buffer "'C- I TAKE
Buffer ... """, .,," , , ,
TAKE 2\ /' / \
\ I I I I I I /
Figure 9. Mcvement of Data During a Typical GIVE/TAKE Transaction Input/Output Methods and Techniques Two data structures are created when RSCS performs an I/O operation: an I/O element and an I/O table.
The I/O table (defined by DSECT IOTABLE) is tuilt
task and describes specific information required
requested I/O operaticn. ty the requesting
to perform the Introduction 3-27
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
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
Previous Page Next Page