1
2
3 4 5
6
To accomplish
operation for OS followinq manner. 0 2 4 6 8
READDATA C-.7 10 bytes I 1 I TIC to 3 SEEK: SEEK head on 6 I 1 I SEARCH on D.2 1 I etc. I I I I ISAft word
an efficient and non-timing-dependent translated ISAft, the virtual eew string is modified in the DftKISftTR is called by DftKeeWTR if, during normal translation, a eel of the type at 1 is encountered. The scan prograa locates the TIe at 2 by searching the translated eew strings. The TIe at 2 locates the SEEK at 3.
The virtual address of the virtual ReWTASK header. Seven doublewords of
address of the block is saved in the
doublewords are used to save the
translated eew strings:
7 Address of Read I at 1 I "'I 8 Unused I I SEEK eew at E is located froa the
free storage are obtained and the ISAft control word at 5. The seven
following inforaation froa the
Address of TIe
at 2 Unused 9 Data area for READ at 1 10 SEEK HEAD on 9
11 TIe to 4 12 Image of READ eew at 1
13 I.age of TIC eew at 2
The translated read eew (at 1) is .oved to the save block at 12. The
TIe eew (at 2) is moved to the save block at 13,-and the addresses of 1
and 2 are saved at 7. The read eew at 1 is aodified to point to a 10-byte data area at 8+1 in the save block. The seek head eew at 3 is
copied into the save block at 10, and the seek address is aodified to
point to the data area at 9. At 11, a TIe eew is built to rejoin the
translated eew string at 4. The search at 4 (or any subsequent search
referencing D.2) is modified to point to 9+2. The co.pleted eel string
has the following format:
1-88 IBM VM/370 Syste. Logic and Problem Deteraination--Voluae 1
1 Readdata 10 Bytes
2 TIC to 10 3 Unused 4 Search on 9 + 2
5 Etc.
6 ISAK vord
7 I I 8 Unused I I I 9 Data Area for Readdata 10 Seek Head on 9
11 TIC to 4 The interruption return address in the IOBLOK is set to D!KUNTIS. D!KUNTIS restores the CCWs to their original format fro. the seven
doublevord extensions, moves the 10 bytes of data fro. 8+7 into virtual
storage (at C+7), and releases the block. Nor.al I/O handling is resu.ed by DMKVIO and DMKUNT. I/O COMPONENT STATES The I/O components represented by the control blocks described in "Real I/O Control Blocks" are in one of four states and the state is indicated by the flag bits in the block status byte. If the component is not
disabled, it is either busy, scheduled, or available.
If the disabled bit is on, the component has been taken offline by the operator or the system and is at least te.porarily unavailable. A request to use a disabled component causes the IOBLOK to be stacked with an indication of condition code 3 on the 510 and the real 510 is not performed. An I/O unit is busy if it is transferring data (in the case of a
channel or control unit), or if it is in physical aotion (in the case of
a device). If an I/O unit is busy, the IOBLOK for the request is queued
fro. the control block representing that I/O unit. An I/O unit is scheduled if it is not busy but viII become busy after
a higher-level component in the subchannel path becomes available and an
operation is started. For example, if a request is .ade to read fro. a
tape drive and the drive and control unit are available, but the channel
is busy, the IOBLOI for that request is queued fro. the RCHBLOK for the
busy channel and the RCUBLOK and RDEVBLOK of the drive and control unit
are .arked as scheduled. Future requests to that drive are queued fro.
the BDEVBLOK for the scheduled dp.vice. When the channel co.pletes the
operation, the next pending operation is dequeued and started; the
scheduled control unit and device are then .arked as busy.
The IOBLOKs for various I/O requests indicate the status of that
request by a co.bination of the status bits in the IOBLOK and the queue CP Introduction 1-89
Previous Page Next Page