When an outstanding I/O request for a device has completed, DftKIOS attempts to restart the device by dequeuing and starting the next IOBLOK queued on the device. For non-DASD, this is the first IOBLOK queued.
However, for movable-head DASD, the queued requests are dequeued in
either or descending order, depending upon the current
position (recorded in RDEVCYL) and the direction of motion of the arm.
If the arm is seeking up (that is, toward the higher cylinder numbers), the queue of IOBLOKs is scanned from the first block toward the last
until an IOBLOK is found with an IOBCYL value equal to or greater than
the value in RDEVCYL, or until the end of the queue is reached. At this
point, the device is flagged as seeking down and the queue is scanned
fro. last to first until an IOBLOK with an IOBCYL value equal to or less
than RDEVCYL is found. When the IOBLOK is found, it is dequeued and
started. The direction of motion is indicated by an RDEVFLAG bit and
the next request is de queued downward until the head of the queue is
reached.
Because the queue itself is a two-way chained
handling for null or unity set lists is required, and
algorithm returns to first-in-first-out queuing.
list, no special
the ordered seek
Dedicated Channel One of the facilities of the Vft/370 control program-allows-a- virtual machine to control one or more channels on a
dedicated basis. The channels are attached to the virtual machine by using the privileged ATTACH CHANNEL command. A virtual machine can have
one or more dedicated channels. In addition, channels can be split
between virtual machines but a dedicated channel cannot be shared
between two virtual machines. For instance, channel 1 could be
dedicated to virtual machine A, and channel 2 could be dedicated to
virtual machine B, or both could be dedicated to virtual machine A or B. With a dedicated channel, all virtual machine device addresses must be identical to the real machine device addresses. For instance,
virtual device 130 must be real device 130, and virtual device 132 must be real device 132. With dedicated channels, CP does not perform any
virtual device address mapping.
CP error recording and channel recovery procedures are still in
effect for dedicated channels. The dedicated channel support can be
used in conjunction with the virtual=real feature for any virtual machine that is occupying the virtual=real storage space. VIRTUAL CONSOLE SIftULATION DMKVCN receives control from the virtual machine I/O executive, DftKVIO. When control is received, the device is available with no interruptions
pending. A console control block, VCONCTL, that is obtained from storage
and chained from the virtual device control block, VDEVBLOCK, by DftKLOG is accessed for use during the interpretation of the virtual console I/O sequence. The user's CAW is examined for validity. If it is valid, the TRANS macro is issued to fetch the first user CCW. This ccw is moved to
the VCONCTL block for analysis.
The CCW is analyzed to determine if it is a read, a write, a control.
a sense, a TIC, or an invalid operation. Based upon the analysis, the
appropriate processing routine in DMKVCN is invoked. Ih! Obtains a buffer for input data from free
storage. The location of the buffer is set in the VCONCTL block. The DMKQCNRD routine is called to schedule and perform an actual read to the
corresponding real device representing the user's virtual console. If
1-96 IBM V"/370 System Logic and Problem Determination--Volume 1
SET LINEDIT ON is specified, the buffer data is edited and translated to
EBCDIC. Ihen the read is completed, the data is aoved to the specified
user address obtained from the address portion of the virtual CCI. If coaaand chaining is specified, processing returns to fetch and analyze
the next CCI. If coamand chaining is not specified, the virtual CSI is
constructed in the VDEVBLOK and an interrupt is flagged as pending in
the VMBLOK. Ihe Irite Simulation Routine: Obtains a buffer for the construction of
the output message from free storage. The virtual aachine data is
located from the virtual CCI address in the VCONCTL block and aoved to
the data buffer. The DMKQCNIT routine is called to write the data in
the buffer and provide the necessary length, translation, and foraat
functions. Control is received at the DMKVCB aodule upon completion of
the writing. At this point, the virtual CCI is re-exaained. If co •• and
chaining is specified, processing continues to fetch and analyze the
next eCI. If comaand chaining is not specified, the virtual CSI is
constructed in the VDEYBLOK and an interruption is flagged as pending in
the VMBLOK. Control Simulation Routine: Is used for the NOP and ILIBM operations. A lOP operation requires no data transfer or I/O operation.
An ALARM operation has no equivalent on low-speed teleprocessing
equipment; thus, a aessage indicating the ALIRM operation is
constructed. DMKQCNIT is called to output the constructed message. If
the command is chained, processing continues (for HOP or ILARM) to fetch
the next eCI and analyze it. If command chaining is not specified and
this is not the first CCI, a virtual CSI is constructed in the VDEVBLCK and an interruption is flagged as pending in the VMBLOK. If this is the
first (and only) CCI, then a condition code of 1 is presented with
channel end and device end in the virtual CSI. A Virtual Sense Operation: Is similar to a control operation, because no actual-r,o--operation is perforaed. However, there is data transfer.
The sense data fro. the VDEVBLOK is moved to the virtual storage
location specified in the virtual CCI address. If the coaaand is
chained, processing continues to fetch the next CCI and analyze it. Otherwise, an interruption is flagged as pending in the VMBLOK. virtual CCI addressed by the TIC
If the fetched CCI is itself a
channel program check condition
as an interruption or as a ! Yirtyal TIC tio1!: Fetches the
address and analyzes the fetched CCI. TIC, or if the TIC is the first CCi, a
is reflected to the virtual machine CSI-stored condition, respectively.
Invalid Opera!!on: Any other operation is considered invalid. Coaaand reject status is posted in the virtual sense byte and the operation is
terminated with unit check status presented in the virtual CSI. REMOTE 3210 PROGRAMMING For a basic understanding of CP processing of data relating to 3270 devices on binary synchronous lines, the inforaation and terminology
contained in 18ft 327Q !nformati21! DisplaI Coaponent Description,
and General !1!formati21! - Synchronous Communications is required. I digest of SOme of this essential information as it applies to YM/370 follows:
CP Introduction 1-97
Previous Page Next Page