Programmable and Networked Information · Communication and coordination

Time-sharing

Time-sharing turns one scarce computer into an interactive service for many users. It rapidly interleaves processor attention, memory, storage and input/output among concurrent sessions so that each person can work through a terminal with tolerable response delay. Its importance is not merely an operating-system scheduling technique.

When it emerged
Conceptual proposals in the late 1950s; CTSS operation from 1961; institutional and commercial services through the 1960s
What changed
Replaces long batch turnaround and exclusive machine access with concurrent interactive sessions on a shared computer service
Reading time
16 minutes
The essential questions

Time-sharing, clearly explained

Time-sharing turns one scarce computer into an interactive service for many users. It rapidly interleaves processor attention, memory, storage and input/output among concurrent sessions so that each person can work through a terminal with tolerable response delay. Its importance is not merely an operating-system scheduling technique.

What is it?

Time-sharing is a computing service architecture that allows multiple users or sessions to interact with one central computer by rapidly allocating processor time and other resources among them. It typically combines pre-emptive scheduling, memory protection, persistent files, terminal input/output, user accounts, accounting and remote communications.

What problem did it solve?

The primary constraint reduced is the long feedback delay and exclusive allocation associated with batch use of expensive computers. Time-sharing allows many users to interact with one machine by exploiting the fact that human input is slow and computational demand is bursty.

How did it work?

It rapidly interleaves processor attention, memory, storage and input/output among concurrent sessions so that each person can work through a terminal with tolerable response delay. Its importance is not merely an operating-system scheduling technique. It is a service architecture combining terminals, telecommunications, accounts, files, protection, resource allocation, pricing, operations and user communities.

What came before?

It built on Telephone, Electronic digital computers and Magnetic digital storage.

What did it make possible?

It helped make possible Packet switching, Computer networks and ARPANET, Email and Cloud computing and cloud storage.

What survived?

Persistent identity remains the gateway to shared computation.

Why does it still matter?

Users can enter a command, inspect a result, correct an error and continue without waiting for a full batch cycle. One expensive computer can support many users whose bursts of activity rarely consume the processor continuously. Accounts, quotas, uptime, help, billing and remote terminals matter alongside hardware.

Deep dive

The deeper story

Time-sharing turns one scarce computer into an interactive service for many users. It rapidly interleaves processor attention, memory, storage and input/output among concurrent sessions so that each person can work through a terminal with tolerable response delay. Its importance is not merely an operating-system scheduling technique. It is a service architecture combining terminals, telecommunications, accounts, files, protection, resource allocation, pricing, operations and user communities.

Batch processing made expensive computers efficient by grouping jobs, but users often waited through submission, queue, run and print cycles before discovering one error. Time-sharing shortened the feedback loop. MIT's Compatible Time-Sharing System was demonstrated in 1961 and grew into a service for a substantial community [1][2][3]. Dartmouth's system began operation in May 1964 and joined time-sharing with BASIC to make interactive computing available to undergraduates [4][5]. Multics pursued the more ambitious idea of a computer utility, with persistent files, controlled sharing, multiple users and strong protection mechanisms [6][7].

The user's experience of immediacy is constructed through resource multiplexing. A terminal may appear to possess a computer while the system repeatedly interrupts, schedules, swaps and resumes many processes. Good service depends on response-time distribution, not only average processor utilisation. A system can be technically shared yet socially inaccessible because terminals, telephone charges, accounts, quotas or institutional permission remain scarce.

Time-sharing also created new security and governance problems. Multiple users and persistent shared files required authentication, isolation, access control, accounting and protection against one program consuming or corrupting common resources. The architecture turned computing from an occasional submitted job into an ongoing place where people wrote, stored, communicated and collaborated. It is a major ancestor of online services, remote shells, shared hosting and cloud computing.

The big idea

Time-sharing made computation conversational by multiplexing one system among many users, but the apparent personal machine at each terminal depended on scheduling, storage, telecommunications, identity, protection and institutional allocation.

Main problem addressed

Replaces long batch turnaround and exclusive machine access with concurrent interactive sessions on a shared computer service

Connections

What came before and what followed

Start with the key connections, then reveal the wider network when you need more context.

Enabling connection
Telephone

Supplies dial-up and remote circuit access for terminals.

Enabling connection
Packet switching

Creates bursty interactive demand among remote terminals and computers.

Enabling connection
Email

Provides accounts, local mailboxes and asynchronous shared-host use.

Timeline

Key moments

Batch-centred computing, 1940s-1950s

Machine use is mediated through queues, operators and delayed output.

Time-sharing · practical implementation

How Time-sharing emerged

This marks the broad emergence and development of Time-sharing. Why it mattered: Replaces long batch turnaround and exclusive machine access with concurrent interactive sessions on a shared computer service.

Time-sharing · broad emergence

Experimental interactive sharing, late 1950s-early 1960s

Proposals and demonstrations test rapid allocation among users.

Time-sharing · practical implementation

Computer-utility ambition, mid-1960s

Project MAC and Multics treat shared computation as a persistent general service.

Time-sharing · practical implementation

Commercial time-sharing, late 1960s-1970s

Service bureaux sell access through terminals and telecommunications.

Time-sharing · commercial introduction

Operational academic systems, 1961-1964

CTSS, PDP-1 systems and DTSS establish practical communities.

Time-sharing · practical implementation

Networked multi-user systems, 1970s-1990s

Time-sharing hosts connect through computer networks and support remote communities.

Time-sharing · practical implementation
People and organisations

Who helped shape it?

John McCarthy

John McCarthy is one of the people connected to this topic. Open the profile for the wider historical context.

Research notes

Open the full research notes

These expandable sections preserve the detailed research behind the public explanation.

1. Executive Summary

Time-sharing turns one scarce computer into an interactive service for many users. It rapidly interleaves processor attention, memory, storage and input/output among concurrent sessions so that each person can work through a terminal with tolerable response delay. Its importance is not merely an operating-system scheduling technique. It is a service architecture combining terminals, telecommunications, accounts, files, protection, resource allocation, pricing, operations and user communities.

Batch processing made expensive computers efficient by grouping jobs, but users often waited through submission, queue, run and print cycles before discovering one error. Time-sharing shortened the feedback loop. MIT's Compatible Time-Sharing System was demonstrated in 1961 and grew into a service for a substantial community [1][2][3]. Dartmouth's system began operation in May 1964 and joined time-sharing with BASIC to make interactive computing available to undergraduates [4][5]. Multics pursued the more ambitious idea of a computer utility, with persistent files, controlled sharing, multiple users and strong protection mechanisms [6][7].

The user's experience of immediacy is constructed through resource multiplexing. A terminal may appear to possess a computer while the system repeatedly interrupts, schedules, swaps and resumes many processes. Good service depends on response-time distribution, not only average processor utilisation. A system can be technically shared yet socially inaccessible because terminals, telephone charges, accounts, quotas or institutional permission remain scarce.

Time-sharing also created new security and governance problems. Multiple users and persistent shared files required authentication, isolation, access control, accounting and protection against one program consuming or corrupting common resources. The architecture turned computing from an occasional submitted job into an ongoing place where people wrote, stored, communicated and collaborated. It is a major ancestor of online services, remote shells, shared hosting and cloud computing.

The big idea

Time-sharing made computation conversational by multiplexing one system among many users, but the apparent personal machine at each terminal depended on scheduling, storage, telecommunications, identity, protection and institutional allocation.

2. Identification

| Field | Value | |---|---| | Public title | Time-sharing | | Analytical title | Interactive Multi-User Computing Service Architecture | | Recommended type | Interactive multi-user computing service and resource-allocation architecture | | Primary category | Interaction & coordination | | Secondary categories | Processing; transmission; storage; governance; access; security | | Emergence | Concepts in the late 1950s; CTSS demonstration in 1961; broad operational systems during the 1960s |

3. Operational Definition

Time-sharing is a computing service architecture that allows multiple users or sessions to interact with one central computer by rapidly allocating processor time and other resources among them. It typically combines pre-emptive scheduling, memory protection, persistent files, terminal input/output, user accounts, accounting and remote communications.

The topic excludes simple batch multiprogramming without interactive terminals, a multi-user application running on one personal computer, circuit time-division multiplexing as a telecommunications technique and cloud computing as a later distributed service model. Time-sharing may use local or remote terminals. Remote access is common but not definitional; interactive sharing is the core.

4. Why the Topic Matters

4.1 Feedback becomes conversational

Users can enter a command, inspect a result, correct an error and continue without waiting for a full batch cycle.

4.2 Scarce machines reach more people

One expensive computer can support many users whose bursts of activity rarely consume the processor continuously.

4.3 Computing becomes a service

Accounts, quotas, uptime, help, billing and remote terminals matter alongside hardware.

4.4 Persistent personal workspaces emerge

Users maintain files, programs, messages and identities across sessions.

4.5 Shared systems force protection design

Concurrent users require isolation, controlled sharing and limits on resource consumption.

4.6 Online communities become possible

Users connected to one system can exchange messages, files and collaborative tools before wide-area computer networks mature.

5. Terminology
  • Batch processing: Jobs collected and run with limited interactive feedback.
  • Multiprogramming: Keeping several programs available so the processor can switch when one waits.
  • Time-sharing: Interactive multi-user allocation of computing resources.
  • Time slice or quantum: Short interval granted to a runnable process.
  • Pre-emption: System interruption of a process to schedule another.
  • Scheduler: Component deciding which process runs next.
  • Context switch: Saving one execution state and restoring another.
  • Terminal: Input/output device connected to a central computer.
  • Teletype: Electromechanical printing terminal widely used in early systems.
  • Session: Period of authenticated interactive use.
  • Response time: Delay from user action to visible system result.
  • Turnaround time: Total delay from job submission to completed output.
  • Swapping: Moving process state between memory and secondary storage.
  • Virtual memory: Address-space abstraction allowing programs to exceed immediately available physical memory.
  • Account: Persistent system identity associated with files, privileges and usage.
  • Quota: Limit on processor time, storage, sessions or other resources.
  • Computer utility: Model of computing supplied as a metered shared service.
  • Protection: Mechanisms preventing unauthorised access or interference.
  • Isolation: Degree to which one user's work is protected from another's faults or consumption.
  • Service bureau: Organisation selling remote computing access.
6. Boundary With Neighbouring Topics

6.1 Time-sharing versus batch processing

Batch systems optimise queued job throughput. Time-sharing prioritises repeated interactive response for concurrent users.

6.2 Time-sharing versus multiprogramming

Multiprogramming is an enabling mechanism. A system may run several jobs without presenting interactive personal sessions.

6.3 Time-sharing versus terminal communication

A terminal transmits input and output. Time-sharing governs how central computation and storage are allocated among terminal users.

6.4 Time-sharing versus computer networking

Time-sharing can connect many terminals to one host. A computer network connects independent computers and systems.

6.5 Time-sharing versus cloud computing

Cloud services inherit pooled resources, accounts and metering but distribute work across virtualised data-centre infrastructure.

6.6 Immediate response versus guaranteed response

A shared system may feel interactive under normal load while degrading sharply during contention. Service quality is a distribution, not a slogan.

7. Communication Pattern

| Dimension | Assessment | |---|---| | Participants | Many users, terminals, central scheduler, file system, operators, administrators and application services. | | Time | Synchronous interactive sessions with persistent asynchronous files and messages. | | Direction | Bidirectional command-response loops; many users share one centre. | | Feedback | Designed for seconds or less, but load and line speed vary. | | Visibility | Users see a personal session while resource contention and scheduling remain hidden. |

Time-sharing creates a hub-and-spoke interaction pattern. Users communicate with one shared computational institution and, through it, may communicate with one another. The central host mediates identity, timing, storage and visibility.

8. Expanded Communication Model

| Dimension | Assessment | |---|---| | User intention | Calculation, programming, editing, retrieval or communication. | | Terminal input | Keystrokes, control characters or submitted commands. | | Communications link | Local line, leased line, modem or telephone network. | | Session manager | Login, authentication, environment and command interpreter. | | Scheduler | Allocates processor quanta and priorities. | | Memory manager | Protects and relocates processes and data. | | Storage system | Maintains user files, shared libraries and swapped state. | | Application | Compiler, editor, language interpreter, database or messaging tool. | | Output | Printed characters, display updates, files or remote actions. | | Accounting | Records processor, storage, connection and service use. | | Noise | Line errors, overload, deadlock, crash, malicious process, password compromise or operator mistake. |

The system's apparent immediacy is produced by a repeated control loop. It is not a direct wire from one terminal to one processor. It is scheduled access through a common operating institution.

9. Historical Emergence

9.1 Batch bottlenecks

Early programmers often prepared cards or tape, submitted jobs and waited for output. One syntax error could waste an entire turnaround cycle.

9.2 Conceptual proposals

John McCarthy and others argued in the late 1950s that rapid computer switching could give many users interactive access [1].

9.3 CTSS

MIT's Compatible Time-Sharing System was demonstrated in 1961 and became an operational service. It allowed interactive use while retaining compatibility with conventional background work [1][2].

9.4 PDP-1 experiments and conversational systems

Smaller computers such as the PDP-1 demonstrated that time-sharing could support direct interactive use and swapping among users [3][10].

9.5 Dartmouth Time-Sharing System

DTSS began operation in May 1964. Its two-computer architecture separated terminal communications and scheduling from program execution, while BASIC supported broad educational access [4][5].

9.6 Project MAC and the computer utility

Project MAC imagined computing available like a public utility, making time-sharing a model of service access rather than a laboratory trick [3].

9.7 Multics

Multics was planned from 1964 as a general computer utility with persistent storage, controlled sharing and extensibility [6].

9.8 Protection and shared information

Multi-user systems drove major work on authentication, access control, memory protection and least privilege [7][8].

9.9 Commercial service bureaux

Firms such as Tymshare sold remote access to organisations unable or unwilling to own mainframes, combining terminals, networks, billing and applications [9].

9.10 Legacy in online and cloud services

Remote shells, shared hosting, software-as-a-service and cloud resource pools preserve the idea that users access slices of centrally operated computation.

10. Prerequisites
  • Electronic digital computers
  • Interrupts and pre-emptive control
  • Fast memory and secondary storage
  • Swapping or virtual memory
  • Terminals and character encoding
  • Telecommunications links and modems
  • Operating-system scheduling
  • User accounts and persistent files
  • Authentication and protection
  • Resource accounting and operational support
  • Interactive programming languages and editors
11. Periodisation

11.1 Batch-centred computing, 1940s-1950s

Machine use is mediated through queues, operators and delayed output.

11.2 Experimental interactive sharing, late 1950s-early 1960s

Proposals and demonstrations test rapid allocation among users.

11.3 Operational academic systems, 1961-1964

CTSS, PDP-1 systems and DTSS establish practical communities.

11.4 Computer-utility ambition, mid-1960s

Project MAC and Multics treat shared computation as a persistent general service.

11.5 Commercial time-sharing, late 1960s-1970s

Service bureaux sell access through terminals and telecommunications.

11.6 Networked multi-user systems, 1970s-1990s

Time-sharing hosts connect through computer networks and support remote communities.

11.7 Personal-computer displacement and coexistence

Local machines reduce dependence on central time-sharing while servers retain shared service roles.

11.8 Virtualised and cloud descendants

Resource pooling, metering and remote sessions reappear at data-centre scale.

12. Main Problem Addressed

The primary constraint reduced is the long feedback delay and exclusive allocation associated with batch use of expensive computers. Time-sharing allows many users to interact with one machine by exploiting the fact that human input is slow and computational demand is bursty.

Secondary constraints reduced include:

  • Waiting for operators and print queues
  • Repeated card preparation after small errors
  • Exclusive access by one user or job
  • Inability to maintain personal files and sessions
  • Limited educational access
  • Poor collaboration through a shared system
  • High capital barrier to computer ownership
  • Slow debugging and exploratory work
13. Evaluation Matrix

| Dimension | Assessment | |---|---| | Response time | User-visible delay from action to result; distribution matters more than average alone. | | Throughput | Total useful work completed across users. | | Concurrency | Number of active and logged-in sessions supported. | | Fairness | How processor, memory, storage and I/O are distributed. | | Isolation | Protection from another user's errors or resource consumption. | | Session persistence | Ability to retain identity, files and state across connections. | | Terminal accessibility | Cost, location, line speed and physical availability. | | Telecommunications dependence | Local wiring, leased circuits, modems and telephone charges. | | Account governance | Who receives access, quotas, privileges and priority. | | Scheduling policy | Quantum, priority, ageing and background-job treatment. | | Memory strategy | Fixed partitions, swapping, paging or virtual memory. | | Storage dependence | User files, shared libraries and swap space. | | Service availability | Uptime, maintenance windows and operator support. | | Security | Authentication, access control, process isolation and auditing. | | Metering | Processor time, storage, connection time and application fees. | | Degradation behaviour | Response under overload, failures or malicious demand. | | User autonomy | Ability to run, create and share programs without operator intervention. |

Time-sharing should not be scored solely by CPU utilisation. A system can maximise utilisation while making every user miserable. Interactive quality is a latency, fairness and predictability problem.

14. Advantages and Capabilities

1. Rapid feedback

Programming and data analysis become iterative rather than batch-bound.

2. Shared capital

Many users gain access to equipment none could individually purchase.

3. Persistent personal environment

Accounts and files support continuing work across sessions.

4. Collaborative software use

Users share compilers, editors, libraries and databases.

5. Remote access

Telephone and data links detach computer use from the machine room.

6. Service specialisation

Operators and providers maintain hardware while users focus on applications.

15. Civilisational Contributions

1. Computer education

Dartmouth and similar systems expose large student populations to programming.

2. Interactive software development

Editors, debuggers and interpreters accelerate the creation of software.

3. Online communities

Shared hosts support messaging, discussion and collaborative projects.

4. Commercial computing services

Smaller organisations rent access rather than owning complete systems.

5. Security architecture

Multi-user risk drives foundational work on protection and access control.

6. Cloud-service ancestry

Resource pooling, accounts, metering and remote access become enduring service patterns.

16. Organisations, Access and Power

1. Universities and research laboratories

Early organisations decide which students, researchers and projects receive accounts and priority.

2. System administrators

Administrators control users, files, privileges, quotas and operational policy.

3. Service bureaux

Commercial providers bundle computation, network access and applications, setting prices and terms.

4. Telecommunications operators

Remote usefulness depends on line availability, tariffs and terminal connectivity.

5. Government sponsors

Public and defence funding supports major systems and shapes research goals.

6. User communities

Shared hosts create norms, software cultures and informal governance beyond formal administration.

17. Limitations, Harms and Trade-Offs

1. Contention

Too many active users can turn interactive service into sluggish communal purgatory.

2. Security exposure

One compromised account or vulnerable process can threaten shared files and services.

3. Central failure

A host outage disconnects an entire user community.

4. Administrative surveillance

Operators can observe logins, commands, files, usage and communication metadata.

5. Access inequality

Terminals, accounts and telephone costs can preserve institutional privilege.

6. Billing pressure

Metered processor or connection time shapes what users attempt and how long they work.

7. Resource interference

One demanding job can degrade other users unless quotas and scheduling are effective.

8. Dependency on provider continuity

Users may lose tools, files or access when a service changes policy or closes.

18. Predecessors, Successors and Relationships

| Relationship | Topic or system | Explanation | |---|---|---| | Predecessor | Electronic digital computers Electronic digital computers | Supplies central programmable processing. | | Predecessor | Magnetic digital storage Magnetic digital storage | Supplies persistent files and swapping capacity. | | Predecessor | Batch processing and multiprogramming | Provide workload scheduling and resource-sharing foundations. | | Predecessor | Telephone Switched voice telephony | Supplies dial-up and remote circuit access for terminals. | | Successor | Computer networks and ARPANET Computer networks and ARPANET | Connects independent hosts and remote resource-sharing communities. | | Successor | Email Email | Early messaging grows inside shared hosts and networks. | | Successor | Online services and bulletin boards | Extend multi-user interactive communities. | | Successor | Cloud computing | Pools virtualised resources as remote metered services. | | Neighbour | Operating systems | Implement scheduling, memory, files and protection required by time-sharing. |

Time-sharing is a service architecture above operating-system mechanisms and below the online applications users experience.

19. What Survived

1. User accounts

Persistent identity remains the gateway to shared computation.

2. Process scheduling

Modern systems still interleave many workloads on common processors.

3. Resource quotas and metering

Providers allocate processor, memory, storage and connection limits.

4. Remote terminals

Command shells, browser sessions and thin clients preserve central execution with edge interaction.

5. Shared file and application services

Users expect common libraries, databases and collaborative spaces.

6. Protection boundaries

Multi-user systems still rely on isolation, least privilege and authentication.

7. The computer-utility metaphor

Cloud computing revives the idea of computing consumed as a service.

20. Representative Cases

20.1 CTSS

CTSS demonstrated practical interactive sharing while allowing conventional background work [1][2].

20.2 PDP-1 time-sharing

Small-machine experiments showed that swapping and interactive sharing were not limited to the largest mainframes [10].

20.3 Dartmouth Time-Sharing System

DTSS linked broad undergraduate access, remote terminals and BASIC in an educational service [4][5].

20.4 Multics

Multics pursued a persistent extensible computer utility with controlled sharing and protection [6][7].

20.5 Tymshare and commercial bureaux

Commercial time-sharing made central computing available to customers through telecommunications and metering [9].

20.6 Early password and protection incidents

Shared systems exposed the consequences of weak handling of authentication data and drove more systematic security design [1][8].

21. Research Uncertainty and Open Questions
  • Which system should count as the first time-sharing system under operational, general-purpose or community-use definitions?
  • Should JOSS receive separate treatment as conversational computing?
  • Where should operating systems appear in the topic register?
  • How should response-time distributions be reconstructed from historical records?
  • How much did telephone tariffs limit social access to commercial services?
  • Should online service bureaux be a separate distribution or infrastructure topic?
  • How should shared-host messaging be divided between time-sharing and email history?
  • Which protection innovations belong to time-sharing specifically and which belong to general operating systems?

The research notes avoids crowning one universal first. CTSS, DTSS, JOSS, PDP-1 systems and other projects answered different combinations of interactive, general-purpose, educational and production criteria.

22. Claim Register

|---|---|---|---| | Time-sharing-C01 | Time-sharing is an interactive service architecture, not merely a scheduling algorithm. | High | S01-S10 | | Time-sharing-C02 | CTSS was demonstrated in 1961 and became a major operational time-sharing service. | High | S01-S03 | | Time-sharing-C03 | DTSS began operation in May 1964. | High | S04-S05 | | Time-sharing-C04 | DTSS used a separate computer for terminal communication and scheduling. | High | S04-S05 | | Time-sharing-C05 | Multics was conceived as a prototype computer utility. | High | S06 | | Time-sharing-C06 | Time-sharing reduces interactive feedback delay relative to batch submission. | High | S01-S10 | | Time-sharing-C07 | Multiprogramming enables but does not define time-sharing. | High | S01-S03 | | Time-sharing-C08 | Shared persistent systems require authentication and protection. | High | S07-S08 | | Time-sharing-C09 | Commercial time-sharing combined central computing, remote terminals and metering. | High | S09 | | Time-sharing-C10 | Average CPU utilisation is insufficient to measure interactive service quality. | High | Analytical synthesis | | Time-sharing-C11 | Access depends on terminals, lines, accounts and institutional permission. | High | S03-S09 | | Time-sharing-C12 | Cloud computing inherits resource pooling and service ideas from time-sharing. | High | Analytical synthesis |

23. Comparative Analysis

| Comparison | Main difference | Analytical value | |---|---|---| | Batch processing | Delayed queued jobs with operator mediation. | Shows the feedback constraint reduced. | | Multiprogramming | Several programs share the processor without necessarily supporting interactive users. | Separates mechanism from service. | | Personal computer | One user controls local resources. | Shows autonomy gained and central service lost. | | Terminal network | Connects edge devices to one host. | Separates transmission links from resource allocation. | | Computer network | Connects independent computers. | Shows the next step from shared host to shared network. | | Cloud computing | Distributed virtualised resource service. | Shows scaling and abstraction of the computer-utility model. | | SaaS application | Shared application rather than general computing environment. | Shows specialisation of the service layer. |

The essential transition is from submitting work to a machine room to inhabiting a persistent interactive computational environment.

28. Final perspective

Time-sharing changes the unit of computer access. The user no longer submits a sealed job to an operator and waits for a finished answer. The user enters a continuing session, experiments, corrects, stores and returns. Computing becomes an environment rather than an appointment.

That experience is a carefully sustained illusion. The machine is not privately owned by every terminal. The scheduler interrupts one process, preserves its state and grants a slice to another. Storage preserves identities and files. Communications links carry interaction. Protection prevents one user from becoming everyone else's disaster.

The architecture therefore fuses technical and institutional scheduling. Processor quanta, account permissions, terminal locations and fees all decide who gets to think with the machine and how quickly the machine answers.

Time-sharing did not give every user a computer. It gave every user a convincing conversation with one, while an operating system performed frantic invisible diplomacy underneath.

Evidence

Sources and further reading

  1. David Walden and Tom Van Vleck, eds., *The Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview*, 2011. https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/CTSS_50th_anniversary_web_03.pdf

    Open source ↗

  2. F. J. Corbató et al., *The Compatible Time-Sharing System: A Programmer's Guide*, MIT Press, 1963. https://people.csail.mit.edu/saltzer/Multics/CTSS-Documents/CTSS_ProgrammersGuide_1963.pdf

    Open source ↗

  3. Computer History Museum, *The Virtues of Sharing*. https://www.computerhistory.org/revolution/mainframe-computers/7/178

    Open source ↗

  4. Dartmouth Time Sharing System, *History*. https://dtss.dartmouth.edu/history.php

    Open source ↗

  5. Dartmouth, *Introduction to DTSS*. https://dtss.dartmouth.edu/

    Open source ↗

  6. F. J. Corbató, J. H. Saltzer and C. T. Clingen, *Multics: The First Seven Years*. https://web.mit.edu/saltzer/www/publications/f7y/f7y.html

    Open source ↗

  7. J. H. Saltzer, *Protection and the Control of Information Sharing in Multics*. https://multicians.org/saltzer-pacisim.pdf

    Open source ↗

  8. J. H. Saltzer and M. D. Schroeder, *The Protection of Information in Computer Systems*, 1975. https://web.mit.edu/Saltzer/www/publications/protection/

    Open source ↗

  9. Computer History Museum, *Timesharing as a Business*. https://www.computerhistory.org/revolution/story/181

    Open source ↗

  10. Computer History Museum, *Timesharing: PDP-1 Restoration Project*. https://www.computerhistory.org/pdp-1/timesharing/ Time-sharing changes the unit of computer access. The user no longer submits a sealed job to an operator and waits for a finished answer. The user enters a continuing session, experiments, corrects, stores and returns. Computing becomes an environment rather than an appointment. That experience is a carefully sustained illusion. The machine is not privately owned by every terminal. The scheduler interrupts one process, preserves its state and grants a slice to another. Storage preserves identities and files. Communications links carry interaction. Protection prevents one user from becoming everyone else's disaster. The architecture therefore fuses technical and institutional scheduling. Processor quanta, account permissions, terminal locations and fees all decide who gets to think with the machine and how quickly the machine answers. > **Time-sharing did not give every user a computer. It gave every user a convincing conversation with one, while an operating system performed frantic invisible diplomacy underneath.**

    Open source ↗