Jump to content

Spooler System

From EDM2

The spooler system is a sophisticated and highly modular component of the OS/2 printing architecture—is the background service responsible for managing the flow of data from applications to printing devices.

Rather than sending print data directly to a printer (which would force an application to wait until the printer is free), the OS/2 spooler intercepts the print job, stores it temporarily as a file on the hard disk, and then manages its transmission to the target device in the background.

Key Characteristics of the OS/2 Spooler

  • Asynchronous Processing: By offloading the print job to the spooler, your applications regain control almost immediately after the "Print" command is issued. The spooler handles the timing and communication with the printer independently.
  • Queuing and Management: The spooler maintains multiple print queues. If a printer is busy, the spooler holds the jobs in a queue and processes them in order (FIFO—First In, First Out) or according to job priority. Users can use the **Workplace Shell (WPS)** to view, pause, resume, cancel, or reorder these jobs within the printer object.
  • Device Independence: OS/2 uses a sophisticated driver architecture (Presentation Manager and the Graphics Engine). The application generates a device-independent metafile or graphics stream; the spooler and associated printer drivers then convert this data into the specific format required by the printer (e.g., PCL or PostScript) just in time for printing.
  • Workplace Shell Integration: In OS/2 Warp, printers are represented as "Printer Objects" on the desktop. Double-clicking a printer object opens the spooler queue for that device, providing a graphical, drag-and-drop interface for managing active print jobs.
  • Network Capability: The OS/2 spooler was designed to handle network printing seamlessly. It can direct spooled data to local ports (parallel, serial, USB) or to network-attached printers via OS/2's LAN requester or TCP/IP print services.

How it Operates

  1. Application: Sends a print command via the Presentation Manager.
  2. Spooler: Intercepts this output, converting the request into a temporary spool file (often using the SPL file extension).
  3. Queue Manager: Places the job in the printer's specific queue, where it is monitored.
  4. Printer Driver: When the printer is ready, the spooler retrieves the file, processes it through the printer driver, and sends the final data stream to the hardware port.

This architecture was considered advanced for its time because it isolated the application from the hardware limitations of the printer, provided robust background processing, and utilized the object-oriented nature of the Workplace Shell to make printer administration intuitive for users.

Files

Dev

  • pmspl.h