Fundamentals of Time-Shared Computers

Order Number: XX-5CD11-B2

This document, the second part of an article by C. Gordon Bell, focuses on the operating system software, user components, and an extensive bibliography related to time-sharing systems. It begins by defining an operating system as a dynamic entity that supervises and controls all system operations, aiming to provide user functions, efficient hardware utilization, and specialized services. Key design criteria include modularity for flexibility, cost-effectiveness, and treating system components as user processes.

The document details the operating system's components, including its large data base (storing user and system information for management and recovery) and resource allocation, control, and management procedures. Resource allocation covers processor time (scheduling), memory space, file space, and terminal/user assignment. Scheduling algorithms consider factors like user priority, memory occupied, and desired response time, often employing a round-robin approach. Memory allocation is heavily influenced by hardware, with discussions on various methods from simple protection bits to advanced paging and segmentation that offer two-dimensional addressing. File allocation and control are also covered, along with the system's and user's perspectives on file management and access restrictions. Terminal allocation is critical, requiring the system to manage diverse terminal characteristics while presenting a consistent interface to users.

The article then describes system-provided procedures and processes, emphasizing that the system offers a library of common routines (e.g., arithmetic, language translators, text editors) callable by users, allowing memory conservation through shared routines. Miscellaneous system functions like record-keeping, error recovery, and system debugging are also outlined.

An example of a time-sharing system for the DEC PDP-6 is provided, illustrating its memory map, operating system modules (e.g., Job Status Table, I/O Device Service, File Directory), and their respective functions. The discussion on user components details various terminal types, including typewriters, keyboard-text displays, general graphical displays, plotters, and specialized terminals. It highlights their characteristics, communication modes, and the importance of "human engineering" for user interaction. Terminal communication with the operating system involves commands for assignment, initialization, data transmission, and termination, with an emphasis on "forgiving" dialogue and user-defined macros.

Finally, the document compares conventional and conversational language processing, noting the efficiency of batch processing for large jobs within a time-sharing environment. It concludes by addressing present problems in time-sharing, such as the need for standardization in data formats, high transmission costs, and the inefficient design of existing systems built as extensions rather than from the ground up for time-sharing. Looking to the future, it anticipates that hardware will integrate time-sharing capabilities, leading to various forms of time-sharing systems—from dedicated specialized systems to completely general systems with large user communities—ultimately removing the restriction of single-use machines and creating both opportunities and challenges.

XX-5CD11-B2
March 1968
17 pages
Quality

Original
2.0MB

Site structure and layout ©2025 Majenko Technologies