This document, "TOPS-10 MONITOR INTERNALS," provides a detailed overview of the internal workings and architecture of the TOPS-10 operating system's monitor, aimed at students.
The monitor functions as a real-time event processor, orchestrating all system activities through its Monitor Cycle, which runs every clock tick. This cycle is responsible for time accounting, command processing, scheduling, swapping, and context switching, ensuring efficient resource allocation for timesharing.
Key functional modules and their roles include:
- Core Management: Handles the allocation and assignment of both physical and virtual memory pages, which are dynamically shared between the monitor and user jobs.
- Command Processor (COMCON): Interprets and dispatches user-typed commands, performs error checking, and manages command execution within the monitor cycle.
- Scheduler: Controls the allocation of system resources among user jobs, determines the next program to run, manages job queues, and governs job priority for core memory residency.
- Swapper: Optimizes timesharing by moving jobs of variable size in and out of core memory, managing swap selection, disk I/O for swapping, and maintaining swapping areas.
- UUO Processing (UUOCON): Executes programmed operators (UUOs) requested by user programs, performing necessary preprocessing, dispatching to appropriate service routines, and handling illegal UUOs.
- I/O Introduction and UUO Level Routines: Describes the device-independent phase of I/O operations initiated through UUOs like OPEN, INIT, INPUT, OUTPUT, CLOSE, and RELEASE.
- I/O Device Service Routines and Interrupt Processing: Focuses on the device-dependent aspects of I/O, encompassing device data blocks, UUO-level routines specific to devices, and interrupt handling mechanisms.
- Disk Service: Manages all device-dependent functions for disk files, covering both I/O operations (reading/writing blocks) and file operations (directories, pointers), resolving competition for disk access via a queue mechanism integrated with the file structure.
- Terminal Scanner Service (SCNSER): Manages device-dependent functions for teletypes and local terminals, including I/O instructions, interrupt routines, and handling special characters and communication modes.
The document prepares students by introducing fundamental concepts of the KL10 processor and the TOPS-10 monitor's architecture, including memory addressing, coding conventions, monitor building, and usage of system-specific tools.