VM/XA Spool to Disk Utility
Original Publication Date: 1990-Sep-01
Included in the Prior Art Database: 2005-Mar-17
VM/XA* Spool to Disk utility copies spool files between VM/XA spool and CMS disk using asynchronous spool read and write functions added to VM/XA Diagnose X'14'. It performs the same functions that the utility Spool to Tape provides with added performance and the convenience of disk.
VM/XA Spool to Disk Utility
to Disk utility copies spool files between
VM/XA spool and CMS disk using asynchronous spool read and write
functions added to VM/XA Diagnose X'14'. It performs the same
functions that the utility Spool to Tape provides with added
performance and the convenience of disk.
describes functions that have been written to
improve the access performance to VM/XA spool data by a virtual
machine. The services provided by VM/XA Diagnose X'14' have been
expanded to support multiple page buffering and asynchronous spool
I/O. These Diagnose X'14' services have been used to write a Spool
to Disk utility (SPDISK).
OVERVIEW The spooling architecture in VM/XA has the
potential for improving performance for both reading and writing
spool data. Fig. 1 is an overview of the major spool control blocks
and their structural relationship in VM/XA. Information about a spool
file is kept in the Spool File Block (SPFBK), which is both resident
in fixed storage and checkpointed in a disk resident Spool file Map
Block (SPMBK). The SPMBK also contains the list of auxiliary storage
addresses (ASA) for the Spool file Data Blocks (SPDBK) belonging to
the spool file. The SPDBKs contain a page of spool file data or text
and for most files, the Channel Command Words (CCWs) used to read,
print or punch the file. There is one SPFBK for each file and one or
more SPMBKs and SPDBKs depending on the size of the file. The SPMBKs
and SPDBKs reside on the system volumes that have spool extents.
In VM/XA each
user has a resident control block, the File
Identification Table (FITBK), that contains anchors for 3 spool file
queues. The input queue contains all the user's reader files, the
output queue contains the user's print and punch files and the data
queue contains Named Saved Segments (NSSs), Discontiguous Saved
Segments (DCSs), Image library files, files produced by the TRSOURCE
command (TRF), User Class Restructure (UCR) and National Language
Support (NLS) files. Files on the data queue are system files.
There are some special userids like *NSS, *UCR, *NLS, and *IMG that
are assigned ownership of these system files. TRF files are system
files that can be owned by any user. All the spool files in the
system are queued off of some FITBK entry, including opened files
that are being created.
In the VM/SP
Spool (Fig. 2), there are 2 major spool control
blocks: the Spool File Block (SFBLOK), which is similar to the SPFBK,
and the Spool Link Block (SPLINK), which is similar to the SPDBK.
The SPLINK blocks are chained together by forward and backward disk
address pointers. The important item to note about the VM/SP spool
is that the first SPLINK must be read to get the address of the next
SPLINK block. VM/SP Spool file reading is a serial process.
In VM/XA the
SPMBK contains a list of SPDBKs associated with a
file. For multi-page files...