HP 3000 Manuals

Spooler Processes and Network Printing [ Native Mode Spooler Reference Manual ] MPE/iX 5.5 Documentation


Native Mode Spooler Reference Manual

Spooler Processes and Network Printing 

The spooler uses two spooler programs, OUTSPOOL.PUB.SYS for non-network
printers and OUTSPTJ.PUB.SYS for network printers.  Both are similar in
operation and internal interface.  The main difference is the type of
printers they support.

SPOOLMOM.PUB.SYS, the parent process of all spoolers, chooses the correct
spooler program file for a given printer based on information available
when it creates the spooler process for that printer.  The choice is
based on the type and subtype configuration of the printer for which a
spooler process is being created.  If the type/subtype is 32/0, SPOOLMOM
checks the program file specified in the device's program_file entry in
NPCONFIG.PUB.SYS. If the entry is not specified or if it is specified as
OUTSPTJ.PUB.SYS, then OUTSPTJ.PUB.SYS is started as the spooler process
for that LDEV. If anything else is specified, SPOOLMOM will not start a
spooler process for that LDEV. If the type and subtype are anything
except 32/0, SPOOLMOM runs OUTSPOOL.PUB.SYS. If the printer has been
configured as initially spooled in SYSGEN, SPOOLMOM starts the correct
spooler process at system start time.

You control spooler processes for both non-network and network printers
with the same commands and syntax.  Thus, STARTSPOOL, SPOOLER <ldev>;
START, STOPSPOOL, SPOOLER <ldev>; SUSPEND all work for both types of
printers.  Refer to chapter 4 for detailed information about these
commands.

SPOOLMOM creates OUTSPTJ processes in the CS queue (by default), just as
it does for OUTSPOOL processes that manage serial printers, and for the
same reason.  Some large system configurations allow hundreds of printers
to be connected.  If these were all printing output at the same time, and
were all created in the BS (linear) queue, user processes in the CS queue
could be starved for CPU time.  Creating spooler processes in the CS
queue allows them to compete equitably with user processes for CPU time.

You may set the scheduling queue to BS, CS, DS, or ES by specifying the
run_priority item in the NPCONFIG.PUB.SYS configuration file described
earlier in the "NPCONFIG configuration file" section.

Network spooler process operation 

A network spooler process operates quite similarly to a traditional
spooler process.  You create a spooler process by issuing a STARTSPOOL or
SPOOLER <ldev>; START command, manage spooler processes by the other
usual MPE/iX spooler commands, select files to print using the same
mechanism as a traditional spooler process, and so on.  The major
difference between the two spooler processes is their device management.

A traditional spooler process manages a channel-attached printer or a
serial line printer connected via a DTC. Once the printer has been
allocated to that process, it is the exclusive property of the process
until the process terminates.  A network spooler process manages the
connections to a network printer.  This printer is not the exclusive
property of the process, but must be shared among an unknown number of
hosts.  The network spooler process responds to this need by competing
with all other hosts to connect to the printer whenever it has output to
print.  Whenever it fails because another host has attached the printer,
it retries at configurable intervals.  (See the poll_interval and
poll_interval_max item descriptions in the NPCONFIG section earlier in
this chapter.)  The network spooler process releases the connection to
the printer after each copy of each file, thus allowing other hosts a
chance to access the printer.

Note that although the network spooler process releases the printer 
connection between files, it does not release or surrender the MPE LDEV.
The LDEV belongs exclusively to the network spooler process, and its
spool queues remain open.

Page Count Logging for network printers 

The spooler creates a Spoolfile Done system log record at the end of each
copy it prints.  One item in this log record is a count of the total
number of pages printed for that copy.

Of the currently supported devices, the HP2680, the HP-IB 256x printers,
and the HP5000/F1xx series printers keep track of their actual page count
and report it to the spooler at the end of the copy.  Serially connected
printers do not, so the spooler estimates a page count for these devices
as (number of spool file records/60).  Network printers with a
bidirectional interface and supporting the JOB variable of PJL's USTATUS
command can report an actual page count for logging.  For all other
printers, the spooler estimates the page count using the same method as
for serial printers.

Whether the page count is actual or estimated for a particular device is
shown in the "Supported Devices" section.



MPE/iX 5.5 Documentation