Summary
The document serves as a technical manual for the "Multi8" operating system, specifically detailing its "System Tasks" and "Timesharing" architecture.
Key components covered include:
- System Tasks: The manual distinguishes between internal system tasks (which reside in memory as part of the monitor, such as the system disk driver, timer, and terminal handlers) and external system tasks (which are disk-resident and loaded as needed, such as background error printers, command decoders, and device emulators). It provides extensive details on the calling protocols and functional implementation of these tasks, including block-driver protocols for I/O operations.
Timesharing Subsystem: The manual describes the Multi8 timesharing environment, which provides virtual machines to run independent copies of OS/8. Key architectural elements explained include:
- Memory Management: The use of a specialized Memory Management Unit (MMU) for selective trapping of I/O instructions (IOTs) and field relocation, enabling virtual memory paging and protection.
- Central Emulator: A set of reentrant internal tasks that receive trap interrupts, manage emulator task resources, and maintain the state of background virtual machines.
- Background Scheduler: A sophisticated two-level, round-robin scheduler that manages memory swapping and determines which background jobs receive CPU time.
- Terminal Handling: Dedicated input/output readers and writers that manage user interaction, including "CONTROL/B" mode command decoding and character echoing.
Operational Details: The document provides sample code and protocol definitions for developers interacting with system functions, such as initializing tasks, managing background data tables, and interfacing with the Memory Management Unit.