HPlogo Native Mode Spooler Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 3 Configuring and Operating Network Printers

Spooler Processes and Network Printing

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

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.

Feedback to webmaster