|
|
Native Mode Spooler Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 2 Spooler and Spool File Management TasksSpool File Recovery At System Startup |
|
The input SPool File DIRectory (SPFDIR) and the output SPFDIR, which are created by Progen near the end of the system startup (boot) process, are filled with information from spool files in IN.HPSPOOL and OUT.HPSPOOL. This provides a run-time "cache" for spool file management. The time necessary to create and fill these directories depends on the number of files in each HPSPOOL group and how the output spool files are distributed among various device queues (LP, CIPER, PP, and so on). Recovery will take the longest time when there are many output spool files in a single queue, for example, LP. Input spool files usually consist entirely of job $STDIN files. The only other input spool file is the :DATA file, rarely used anymore. The number of input spool files is typically so small that the time spent recovering them to the input SPFDIR is not significant. There have been two improvements to the recovery process which greatly reduces the amount of time necessary to recover spool files:
Although spool file recovery at is a system process, it is created in the CS queue, which means that it competes with user processes once the system is available. However, as a system process, its priority does not decay, nor is it subject to being time-sliced. If the recovery process does not block itself periodically, user processes are starved. If it blocks itself too often, spool file recovery time is prolonged. To deal with this, the recovery process now pauses one second for every 200 SPFDIR entries it recovers. This forces the Dispatcher to allow some time for user processes to run, thus improving response. The tradeoff is that the recovery process takes longer to complete.
There may be a period after the system is available to users when some spool files in OUT.HPSPOOL do not have an entry in the output SPFDIR. While some features of the spooling subsystem (described below) are affected during SPFDIR recovery, existing capability, resource limits, and security restrictions have not changed. While the SPFDIR recovery process is running:
Once the recovery process has terminated, all existing features of the spooling subsystem are fully available. Recovery of an SPFDIR entry by the recovery process does not wake an idle spooler process even if the entry's priority is above the outfence. To deal with this situation, you may wait until a user creates a new spool file destined for the device managed by the idle spooler. When that spool file enters the READY state, the spooler is notified. It then prints all available files above the outfence. Or, you may wake the idle spooler process by issuing a command such as SPOOLER 6; SUSPEND followed by SPOOLER 6; RESUME. (To use this command, you must be at the system console or have been ALLOWed the SPOOLER command, or have associated a class that includes LDEV 6.) Or, any user with access to a newly-recovered spool file can wake the spooler process for the device with SPOOLF command if the spool file's priority exceeds the system (or device) outfence. If you issue one of the spool file management commands for a a single spoolid whose SPFDIR entry is not yet recovered, it is treated the same as a non-existent spool file and you will see the following message:
Note that a LISTF of this <Onnnn>.OUT.HPSPOOL displays the filename. The spool file does exist; only its SPFDIR entry does not, as yet. If you issue one of the spool file management commands for a list of specific spoolids (for example, LISTSPF #O8072 or LISTSPF (#O8072, #O7963, #O8010) it searches for each individual spool file in the list. If it cannot find an SPFDIR entry for the file, it returns error -8039 (Cannot find the spool file). If you issue one of the spool file management commands for a wildcarded fileset (such as LISTSPF O@, or SHOWOUT SP;JOB=@), you will see information for only those SPFDIR entries that exist at the time the command is entered. The SPOOLF O@; ALTER and SPOOLF O@; DELETE forms of the SPOOLF command are disallowed, and the following new message is displayed to any user attempting either of these commands:
|
|