A bit of history
1955: 701, 704 work flow. One app at a time. Human intervention between apps. Some institutions tried to keep a job-sequencer in memory but with no protection.
1961: Stretch had simple limit registers to protect memory, but anyone could change them. Lincoln labs had a Stretch and asked IBM for a ‘privileged’ bit. They got it. I think they could have written a secure kernel with that.
Perhaps the brits had this idea earlier.
IBM thought thru the problem carefully for the IBM 360 and widely delivered hardware and by 1966 a protected OS that achieved multiprogramming for many customers.
1961: Project Mac (MIT) produced CTSS on a modified IBM 7090. It was an interactive time sharing system where a user could debug machine code interactively without requiring a devoted machine. I used it; it worked. I think that was unprecedented.
1962: Livermore was about to acquire a CDC 6600 and we started planning a TS for that inspired by CTSS. That crude system was successful just because it was badly needed. It also ran in Los Alamos.
Both CTSS (with modified hardware) and the 6600 could, with hardware help, put small programs from several users in core at once. The program was unaware of its real address which could change at the convenience of the kernel that managed memory. Without relocation a 360 program was bound to a particular address and a TS system would often be unable to run some interactive program that had been loaded at a location now in use by a long running program.
I think it was a British machine that first had paging (KDF9?). The application program was provided with the illusion that there was more memory than was actually there—virtual memory.
Several American institutions were inspired by paging and developed one of a kind systems. (SDS 930 at Berkeley, PDP-6 at Livermore, and rumors of several other instances.) DEC belatedly offered paging on the PDP-10 and there were at least three successful TS systems built on that.
A business plan to offer commercial TS service over dial-up teletypes soon arose; perhaps GE was first. They based their offering on a simple and wonderful 1964 system pioneered by Kemeny at Dartmouth. The architecture of that system was too simple perhaps, but I was astounded at how much utility they got out of that simple hardware.
Tymshare got started shortly thereafter starting from the SDS 930 Berkeley project Genie, (Lampson, Pirtle, Lichtenberger, Deutch). They had added paging. SDS carefully cloned the modified 930 and named it the 940. Perhaps 40 940’s were sold. That system followed the conventional wisdom of basing protection on user-name. Each customer would have a user-name between which the protection boundaries were drawn. Shortly thereafter Computer Center Corporation started a TS service in Seattle and a teen-ager named Gates hung-around and did useful things. (All TS services tell stories like this.)
There had been professional opinions in the late 50’s that multi-programming, by what-ever name, would never work. TS was very successful because there were in places that IBM never dreamed — people competent to read a Basic manual and sit at a teletype and write code to solve their problems. Typically these were small businesses, but also departments of large corporations that could not get the attention of their own IT staff, and few companies offered internal interactive service.
A few customers came to us asking if we could solve novel security problems. Derwent come to mind. Our conventional platforms could not. A few of us at Tymshare began to think about this and became enamored with capabilities in about 1973, eight years after the pioneering work.
Tymshare moved on from the SDS 940 to the PDP-10 and the IBM 370 after IBM began to deliver paged machines. IBM also delivered VM/370 which provided several virtual machines running on one real machine. It came with a drastically simple interactive program, CMS, designed for a virtual machine to serve the purposes of the casual IBM system user. Again the protection boundaries were between these virtual machines. Another form of the Procrustean bed of boundaries between users—too much and too little. Applications are not shaped that way.
About 1974 IBM announced that they would begin to charge for VM and cease delivering the sources thereto. This was a threat for us for we had modified VM substantially. Keykos began in 1975 as a funded project predicated on capabilities. The onslaught of Mini computers and even desktops was upon us and Tymeshare business managers lacked confidence in our capability plans. Tymshare sold out to McDonnell Douglas.