and siaulated by aeans of a virtual FCB maintained by the executive.
The use of the virtual FCB is the onlyway to simulate end-of-fora
conditions reflectedby the detection of a channel 9 or 12 punch. When the spooled file is directed to a real 3211" 3203, or 1403, the operator
is responsible for loading the FCB ormounting the proper carriage tape.
If any of the unsupported unit record features are required, the real
devicemust be attached directly to the user's virtual machine. Thus, a 3505 reader could be a spooling input reader, but attached directly to a
batch virtualmachine when it is necessary to read .ark sense cards.
Qutput FileD8KVSP receives control fro. the virtual I/O executive, DftKVIO, when the
user's .achine issues aSIO to a spooled unit record device. DftKVIO does not pass control until it has been determined that the device is
available (that is, it is not busy and has no interruptions pending).DftKVSP first determines if the device is currently processing a file.
If it is, processing continues. If this is the first co•• and issued by the given device, a new output file must be opened. In open subroutine
is called to build the control blocks necessary tomanage the file and
to obtain virtual storage andDASD buffer space. Control is then
returned toDftKVSP. Before the first record of an output spool file is written, DftKVSP writes a tag record (NOP CCW, TIC, data sequence) and initializes the
136-byte data area to blanks. It then sets the spool buffer displacement
pointer to the first doubleword in the buffer beyond the tag record.DftSVSP then analyzes and interprets the channel program associated with
the virtualmachine's SIO. Each CCW is tested for validity of command, address, flags, alignment, protection, etc., and if the CCW is valid,
the virtualmachine's data is moved from his own virtual storage space
to the buffer in the spooling virtual storage.When this buffer is
full, it is written to a page ofDASD secondary storage and a new buffer
is obtained. The interpretation of the virtualmachine's channel program continues until there are no more CCWs or until an error
condition is detected that prohibits further processing. In either
case, the device ismarked as having the proper interruptions pending, a CSW is constructed, and DftKVSP exits to the main dispatcher. In contrast
to nonspooledI/O, the virtual machine has remained in a pseudo-wait (IOWAIT) for the time it took to interpret the entire channel program. The output file can be logically closed by the virtual machine either by issuing an invalid CCW command code, or by the CP CLOSE command. In
either case,D8KSPL checks for tag record information
and3800-related information in the VSPXBLOK. (The VSPIBLOK, pointed to by the VDEVEITN field of the VDEVBLOK for the output spool device,
contains the tag information entered via theCP TAG command.) If tag data exists, the first spool buffer for the file is read in, the tag data is inserted in the tag record, and the buffer is rewritten to D1SD storage. If no tag data exists, the tag record data field is left blank.
The device is then cleared of pending interruptions, the file chains arecompleted, and the file is either queued for output on a real device of
the proper type (printer or punch), or, if IFER is in effect, is queued
for input to another virtual machine.
The3800-related information includes:
CHARS -characterarrangeaent table 80DIFY - copy modification name FeB -file control block 1-140 IB8 V8/370 System Logic and Problem Deter.ination--Volume 1
The use of the virtual FCB is the only
conditions reflected
is responsible for loading the FCB or
If any of the unsupported unit record features are required, the real
device
batch virtual
Qutput File
user's .achine issues a
available (that is, it is not busy and has no interruptions pending).
If it is, processing continues. If this is the first co
is called to build the control blocks necessary to
to obtain virtual storage and
returned to
136-byte data area to blanks. It then sets the spool buffer displacement
pointer to the first doubleword in the buffer beyond the tag record.
the virtual
the virtual
to the buffer in the spooling virtual storage.
full, it is written to a page of
is obtained. The interpretation of the virtual
condition is detected that prohibits further processing. In either
case, the device is
to nonspooled
either case,
and
contains the tag information entered via the
The device is then cleared of pending interruptions, the file chains are
the proper type (printer or punch), or, if IFER is in effect, is queued
for input to another virtual machine.
The
CHARS -character