Time Sharing Computer Systems

What Are Time Sharing Computer Systems?

Time sharing computer systems are computing environments in which a single processor or set of processors serves multiple users or processes concurrently by rapidly switching among them, giving each participant the impression of exclusive access to the machine. The operating system allocates processor time in short intervals, typically a few milliseconds to tens of milliseconds, cycling through active users so quickly that each one interacts with the system in apparent real time. This approach stands in contrast to earlier batch processing, in which jobs were submitted on punched cards, queued, and executed sequentially with no interactive feedback. Time sharing transformed computing from a tool for specialized batch computation into an interactive medium accessible to scientists, engineers, students, and eventually the general public.

The discipline draws on operating system theory, process scheduling, memory management, and network protocols, and its conceptual foundations underpin virtually every modern general-purpose operating system, including Unix, Linux, and Windows, all of which descended in one form or another from time sharing research of the 1960s.

Origins and Early Systems

The Compatible Time-Sharing System (CTSS), developed at MIT's Computation Center beginning in 1961 under Fernando Corbató and demonstrated on an IBM 709, is widely regarded as the first large-scale time sharing system available to a substantial user community. CTSS introduced several features that have since become standard: password-protected logins, hierarchical file storage, and interactive text editing. The Computer History Museum's account of timesharing and mainframe computers documents how CTSS showed that the speed gap between human response times and machine execution rates was large enough for one computer to serve dozens of simultaneous users without perceptible slowdown.

Project MAC, launched at MIT in 1963 with Department of Defense support, extended CTSS into a university-wide utility and eventually led to Multics (Multiplexed Information and Computing Service), a collaboration with General Electric and Bell Labs. Multics introduced segmented virtual memory, a hierarchical file system with access control lists, and dynamic linking, all concepts that influenced the design of Unix. The Multics history at multicians.org preserves primary-source accounts of the design decisions and technical challenges.

Process Scheduling and Resource Management

The central technical challenge in time sharing is scheduling: deciding which process to run next, for how long, and with what priority. Early systems used simple round-robin schedulers that gave each user an equal quantum of processor time. More sophisticated multilevel queue schedulers, such as those described by Corbató and later refined in Unix, assigned shorter quanta to interactive processes and longer quanta to compute-bound background jobs, improving response time for the users most sensitive to delay. Memory management in early systems relied on swapping: entire processes were moved between main memory and disk storage as needed. Paging, which transfers fixed-size memory pages rather than whole processes, reduced swap overhead and became the standard approach as virtual memory hardware matured through the 1970s.

Mainframes and Commercial Time Sharing

Mainframe computers served as the hardware platform for most commercial time sharing services through the 1960s and 1970s. IBM's System/360 and System/370 architectures, introduced in 1964 and 1970 respectively, were widely deployed in time sharing configurations. Companies such as GE Information Services and CompuServe, founded in 1969, sold time sharing access to businesses that could not afford dedicated machines. Remote job entry terminals and, later, interactive video terminals connected via telephone modems gave users across buildings or cities simultaneous access to a single central machine. IEEE Annals of the History of Computing contains extensive primary-source documentation of this era and its technical developments.

Applications

Time sharing computer systems have applications across many computing domains, including:

  • University and research computing centers providing shared access to scientific software and compilers
  • Commercial data processing bureaus offering database services to small businesses
  • Remote software development environments enabling collaborative programming over networks
  • Educational computing, with systems such as Dartmouth's BASIC-based DTSS introducing programming to non-specialists
  • Cloud computing infrastructure, which applies time sharing principles at modern scale through virtualization and containerization

Related Topics

Loading…