unchained from the output queue and chained to the real device block
that services the file. A page of realmain storage (two pages for a 3800 printer) is then obtained for use as a buffer, and the output
separator routine(DKKSEP) is called to print output identifier pages. DMKTCS is then called to set up the 3800 for printing that file. When DMKSEP returns control to DMKRSP, the first buffer of the file is paged
into real main storage, and theCCWs in the channel progra. that it
contains are adjusted so that their data addresses correspond to the
real addresses at which the data resides. The realSIO supervisor (DMKIOSQR) is then called to start the channel program, and D!KBSP exits
to the dispatcher(DMKDSPCH) to await the interruption. When the channel end/device end interruption for the co.pleted buffer
is unstacked toDMKRSP, the forward chain file link field locates the
next buffer. This buffer is paged-in, and the process is repeated until
the final buffer is processed. At this point, thenumber of copies
requested for the file is decremented. If the nu.ber of copies is0, processing is terminated and the file is deleted from the syste.;
otherwise, the process is repeated as manytimes as necessary. Por a 3800 printer, double buffering is maintained so that the second buffer
is filled while the first buffer is being printed.When file processing is complete, a scan of the appropriate output
queue is againmade, and if a file is found it is processed. If the
queue is empty, or if a file with amatching class is not found, an exit
is taken toDMKDSPCH to wait for another ready interruption. If a 3800 device is used, the file is placed on the 3800 delayes purge queue. If
this queue reachesmaximum size, the oldest file in the queue is deleted
from thesystem. output file processing can be modified by either the system operator, by a spooling support command or as a result of syste. errors. The
operator commands allow a given file to be backspaced or restarted, and
the files of individual users or the wholesystem to be held and
released for output.I/O errors also affect the spooling syste., and a
description of how they are processed is in the section"Spool Pile Error Recovery."
Reader file processing is initiated by the receipt of a device end
interruptionfrom a spooling card reader. No explicit operator co •• and
is required to start the processing of an input file.When the device
end is unstacked toDMKRSP, an open subroutine is called to build the
necessary control blocks and to obtain the virtual, real, andDASD buffer space required for the file. A channel prograa to read 41 cards
is built in the buffer, andDMKIOSQR is called to start the reader. When the interruption for the first buffer is unstacked, the first
card is checked for its validity as a userid card. Theminiaum information that this card must contain is the userid of the owner of
the input file. Itmay appear anywhere on the card, with the
restriction that it must be the first inforaation punched. Optional
information on the userid card can include a filename and type and/or
the class of the virtual card reader to which the file is to be
directed. If the userid is valid, the file processing continues;
otherwise, the operator receives an errormessage and processing is
terminated.
After each file buffer is read, it is written onto disk by the pagingI/O routines in the saae way that virtual output files are handled. When a unit exception signaling physical end of file is received froa CP Introduction 1-143
that services the file. A page of real
separator routine
into real main storage, and the
contains are adjusted so that their data addresses correspond to the
real addresses at which the data resides. The real
to the dispatcher
is unstacked to
next buffer. This buffer is paged-in, and the process is repeated until
the final buffer is processed. At this point, the
requested for the file is decremented. If the nu.ber of copies is
otherwise, the process is repeated as many
is filled while the first buffer is being printed.
queue is again
queue is empty, or if a file with a
is taken to
this queue reaches
from the
operator commands allow a given file to be backspaced or restarted, and
the files of individual users or the whole
released for output.
description of how they are processed is in the section
Reader file processing is initiated by the receipt of a device end
interruption
is required to start the processing of an input file.
end is unstacked to
necessary control blocks and to obtain the virtual, real, and
is built in the buffer, and
card is checked for its validity as a userid card. The
the input file. It
restriction that it must be the first inforaation punched. Optional
information on the userid card can include a filename and type and/or
the class of the virtual card reader to which the file is to be
directed. If the userid is valid, the file processing continues;
otherwise, the operator receives an error
terminated.
After each file buffer is read, it is written onto disk by the paging