[mod.computers.workstations] SDS-940 and related computers

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).