mmt@dciem.UUCP.UUCP (05/13/86)
>SDS also manufactured the SDS 940, based on an experimental machine >built out of a SDS 930 at U.C. Berkeley starting in 1964. The 940 >was the first commercial time-sharing machine with paging hardware >-- it predated the Sigma-7 -- and was also (as far as I know) the >first commercial time-sharing system with the hardware and software >to allow users to program in arbitrary languages (including assembly >language) and keep them properly protected from each other. I was >one of the principal designers of the Berkeley 940 operating system >(along with Butler Lampson and Larry Barnes). > I think the Ferranti (Canada) FP-6000 (sold in 1962-3) predates the SDS-940 as the first commercial time-sharing system with hardware and software to allow users to program in arbitrary languages and keep them properly protected. It used base and fence-registers for the user memory, not paging hardware. This machine was a commercial failure, in part because it was in competition with IBM, whose salesmen would tell potential customers "No-one can do what they are claiming, and if anyone could, it would be IBM". The plans were sold to ICL in England, where the machine became known as the ICL-1900 series, which dominated the UK market for several years. As for SDS-940 spin-offs, I visited Berkeley and discussed the design principles (I'm afraid I don't remember who I talked to except Butler Lampson), and used them in the design of the PDP-9T. I think the PDP-9T improved in some way on the SDS-940, in that the I/O was cleaner. It was possible for each user to have a virtual I/O map, and instructions that for some users would be simulated by kernel subroutines could for other users be executed directly on privately owned hardware. The same mapping provided for fast and flexible traps. DEC subsequently used the same memeory mapping scheme on the PDP-11, but I don't know whether they got it from the 9T or the SDS-940. I haven't seen the I/O mapping used in any other machines, nor the concept of user-specific instruction sets, unless you include compiled microcode. The PDP-9T was delivered in 1967, and I think it was DEC's first memory mapped time-sharing machine. As for operating system and languages, the user's saw whatever operating system they cared to load. Most used DEC's PDP-9 operating system, but special-purpose ones were used for real-time experiments. (I forgot to mention that the machine was designed for running several simultaneous psychology experiments, which it did with a typical response latency of 2 msec and a guarantee of 10 msec). Incidentally, the way DEC decided to build the 9T made me very appreciative of their management style. I proposed the basic idea to their Toronto salesman (Sy Lyle -- maybe he reads this group), who took it to Maynard and came back with an invitation for me to visit. I went, in company with a friend from Harvard who had a similar requirement, to see the manager of the then secret PDP-9 project (John Jones). He listened for a few minutes, and then called in his engineer (Larry Seligman). After a few more minutes, he asked "Larry, what do you think." Larry said "It's neat" or words to that effect, and Jones said "Right, we'll build it." Just like that. And they did. (The I/O mapping was Seligman's idea, not part of the original plans, and it was in large part responsible for the technical success of the 9T. It had no commercial success, for what reason, I don't know).