Most technologists are familiar with the outlines of the Unix origin story. This talk examines what happened before Unix. Where did the concept of time-sharing come from? What were early implementations of the ideas? How did they influence Unix?
a flight simulator to train new pilots. Team started with an analog computer (but it was too slow and unreliable) Inspired by ENIAC, decided to work on an electronic digital computer Parallel digital computer (20,000 ops/second) in 1952 Design goal of 50,000 ops/second Memory system was too slow.
and run through a secondary system to magnetic tape. The tape would be run through the primary system one after another serially. Output would go to a line printer or another magnetic tape, then printed later Made developing software very difficult, as one single error would most likely cause an entire run to be wasted. Could take hours or days to try again.
solve general problems and… most of the computer time would be spent running these standard programs with new sets of data… The actual situation is much closer to the opposite extreme.” John McCarthy, 1959 
was just another thing. At least initially, he did not see it as revolutionary. The appreciation of timesharing was directly proportional to the amount one personally programmed. The more you personally programmed, the more you knew what it meant…” Fernando Corbato, 1990 
McCarthy demonstrates interactive LISP session with a flexowriter terminal. Hebert Teager joins MIT, takes over time-sharing project from McCarthy. Teager’s proposals do not convince his colleagues. McCarthy calls his ideas “vague” and “ambitious.” Prof. Christopher Strachey publishes a paper entitled “Time Sharing in Large, Fast Computers” for the IFIP conference in Paris. The paper mainly deals with the idea of “multi-programming” (aka concurrency) not McCarthy’s idea of a “virtual computer.” 1957 1960 1959
Explains his ideas about timesharing to several principals (including J.C.R. Licklider) and engineers at Digital Equipment (DEC). DEC donates a PDP-1 to MIT to work on a timesharing system by Jack Dennis and his students. 1957 1960 1959
work on a prototype time sharing system using Teager’s 3 modified flexowriter terminals. This programming effort is led by a young post-doc named Fernando Corbato. A time-sharing system is demonstrated in primitive form by Corbato.  1957 1960 1959 1961
BA Physics, Cal Tech, 1950 PhD Physics MIT, 1956 Post-doc working on Whirlwind Joined Computation Center as its Asst. Deputy Director, 1957 Lead designer on Multics, lead programmer on CTSS ACM Turing Award 1990
709. The timesharing supervisor ran in core and in the background, other batch oriented jobs could be executed (as they had always done.) In this way the time-sharing system was “compatible” with the batch jobs already available.
included Marjorie Merwin-Daggett and Robert Daley. (See co-authors for .) Contemporary compilers of the day were 11-16,000 words (1 word is usually 18 bits) CTSS supervisor was 12,000 words + 6,000 words for command programs.   has a great introduction how “everyday” users could interact with the system. (Commands included: login, input, edit, load, start) (This slide deck by itself is almost 100MB including all picture and videos.)
and other user’s programs from a user program) I/O device sharing/multiplexing Saving and restoring user program state between time slices (called “quanta” in ) Related problem: how much time does a user get? “Satisfactory” computer responsiveness  (200 ms is suggested.)
”do timesharing right”  CTSS had a simple design and the popularity of it did not scale well. The team of MIT spent a significant amount of time finding industrial partners for a new timesharing hardware and software platform. (GE and Bell Telephone Labs)
Privilege “rings” around the supervisor (protect memory access), Virtual memory system (including the idea of “swap”), Mapping files to virtual memory, Hardware system could be composed of multiple CPUs, RAM and storage devices. Wrote the system in a high level language (PL/I) [8,10]
discovered that we had built a monster. We had several instances of that inside Multics…Yes, one of the problems was that we were all kind of young and naïve. We couldn’t see that we had built something that was too complicated. Only under the duress of realizing it was awful did we dig in and realize it didn’t have to be that way.” - Fernando Corbato, 2006 
which I think is the major factor that people underestimate and a huge amount of... the difference between engineering projects to me is the degree that the participants have done it before. If they have done it before it's a piece of cake sometimes; if they have never done it before it can be a hellish adventure.” - Fernando Corbato, 1990 
use to design a system. But our first conviction was we absolutely had to have a compiler language. And I think that one was still dead right. The next problem was that we wanted one that was relatively advanced and flexible and there weren't many choices in those days. And the third key ingredient was that Doug McIlroy and Bob Morris at Bell Labs, who had considerable language expertise and who wanted to take responsibility for the language effort, were quite persuaded that PL-1 was a good choice.” - Fernando Corbato, 1990 
name was a joke…[Thompson’s] strategy was clear– Start small and build up the ideas one by one as he saw how to implement them well. As we all know, Unix has evolved and become immensely successful.” - Fernando Corbato, 1990 
I Computer, Review of Electronic Digital Computers, Joint Computers American Institute of Electrical Engineers- Institute of Radio Engineers Conference, pp. 70-74, February, 1952. : J. McCarthy: Reminiscences on the History of Timesharing, http://www- formal.stanford.edu/jmc/history/timesharing/timesharing.html : A. Norberg: Oral history of Fernando Corbato, Babbage Institute, University of Minnesota, 1990. http://hdl.handle.net/11299/107230 : J. McCarthy: A Time Sharing Operator Program for our Projected IBM 709, memorandum, 1959. http://www-formal.stanford.edu/jmc/history/timesharing-memo.html
Proceedings of the SJCC 1962. http://larch-www.lcs.mit.edu:8001/~corbato/sjcc62/ : Timesharing: A solution to computer bottlenecks, 1963. https://www.youtube.com/watch?v=Q07PhW5sCEk : Saltzer, J.H.: CTSS Technical Notes, 1966, Project MAC Technical Report TR-16. : Corbato, F.J.: On Building Systems that Will Fail (1990 Turing Award Lecture), Communications of the ACM, September 1991, p72-83. : Van Vleck, T: The IBM 7094 and CTSS, http://www.multicians.org/thvv/7094.html
World. Invited Talk SOSP14, 1993. : Corbato, F.J., et al.: CTSS Programmers Guide, MIT Press, 1963. : Webber, S: Oral History of Fernando Corbato, Computer History Museum, 2006. : Norberg, A.: Oral History of Jules Schwartz, Babbage Institute, University of Minnesota, 1989. : Bull, G.M.: The Dartmouth Time Sharing System, Elias Horwood Publishers, 1980.