Early computers ran one job at a time, fed in as a batch and collected later. The operating system grew out of the need to manage the machine automatically, and time-sharing turned it from a batch clerk into the interactive systems we use now.
The idea
An operating system is a resource manager. It decides which program runs, parcels out the processor and memory, and, with time-sharing, lets many users share one machine as if each had it alone.
Batch processing
In the early days a job ran from start to finish while everyone else waited. Letting a user operate the computer directly was generally far too expensive, because the machine would sit idle while the human thought and typed. So jobs were collected, run in sequence, and their output returned hours later.
Time-sharing
The answer was to give each user a small slice of processing time, switching among them so rapidly that many people interact with one computer at once, each with the illusion of having it to themselves.
CTSS and Multics
The first general-purpose time-sharing system usable for software development, CTSS, grew from a 1959 memo by John McCarthy at MIT. From 1964 the Multics system pushed the idea furthest, modeling computing as a utility like electricity, and Multics is the direct parent of Unix.
Why it matters
Time-sharing dramatically lowered the cost of providing computing and made interactive use, and a whole new class of interactive software, possible. The modern operating system, juggling many programs and users on shared hardware, is its descendant.
Related Notes
- Multics and the Engineering of Time-Sharing, the deep dive
- Unix and Open Source, Multics’s lean descendant
- Processes and Threads, how an OS shares the processor
- Engelbart and the Mother of All Demos, interactive computing’s other root
- History of Computing, the section index
Sources
- “Time-sharing,” Wikipedia. https://en.wikipedia.org/wiki/Time-sharing . Supports time-sharing as the concurrent sharing of a computer by giving each user a small slice of processing time, its replacement of batch processing, CTSS originating from a 1959 memo by John McCarthy at MIT, Multics from 1964 modeled as a computing utility, and time-sharing enabling interactive computing.