PDP-9 Background/Foreground Monitor System Programmer's Reference Manual

Order Number: DEC-9A-MRZA-D

This document serves as a comprehensive programmer's reference manual for the PDP-9 Background/Foreground Monitor System. It describes a software extension designed to enable time-shared use of the PDP-9 computer, allowing a high-priority, protected FOREGROUND program (typically real-time) and a lower-priority, unprotected BACKGROUND program (for general tasks like assembly, compilation, or editing) to operate concurrently. The system aims to maximize CPU utilization by recovering "dead time" that occurs between I/O operations.

Key functions of the Monitor include scheduling processing time, protecting the FOREGROUND job's core memory and I/O devices, facilitating the sharing of multi-unit device handlers (such as DECtape), utilizing software priority levels, and enabling communication between BACKGROUND and FOREGROUND jobs through core-to-core transfers or shared bulk storage.

The document details the necessary hardware requirements, including a basic PDP-9 with a Teletype, Memory Extension Control (KG09A), additional core memory (MM09A), a Memory Protection Option (KX09A), and an External Teletype System. Optional hardware configurations for improved performance are also listed.

The non-resident portion of the Monitor (BFKM9) is responsible for interpreting user commands entered via control teletypes. These commands fall into categories: information requests (e.g., LOG, REQUEST, DIRECT, INUSE), resource allocation parameters (e.g., ASSIGN, FILES, FCORE, FCONTROL, BCONTROL, NEWDIR, SHARE, NOSHARE, 7CHAN, 9CHAN, VC38, MPOFF, MPON), and program loading.

Control characters (e.g., CTRL C, CTRL P, CTRL S, CTRL T, CTRL R, CTRL Q, CTRL U, RUBOUT, CTRL D) are extensively explained, outlining their roles in interacting with the Monitor, interrupting programs, restarting I/O, and managing memory dumps.

The document also describes the system's loaders: .SYSLD (which functions as both the Foreground Linking Loader and Background System Program Loader), BFLOAD (Background Linking Loader), and EXECUTE (for XCT overlay programs). Memory maps illustrate how various system components and user programs are allocated in core during different stages of operation.

Startup procedures for the Background/Foreground Monitor are provided, along with a detailed explanation of unique system macros (.REALR, .REALW, .IDLE, .IDLEC, .TIMER, .RLXIT) used for real-time operations and their interaction with the system's priority levels.

Furthermore, the manual offers guidelines for writing device handlers, including their CAL processor and interrupt processor formats, and discusses the differences between single-user, sequential multi-user, and multi-user handlers. Error handling mechanisms are described, differentiating between terminal and non-terminal errors, and a comprehensive list of error codes is provided in the appendices. The document concludes with details on teletype hardware characteristics and logical unit assignments within the system.

DEC-9A-MRZA-D
2000
143 pages
Quality

Original
4.2MB

Site structure and layout ©2025 Majenko Technologies