[rescue] Finding antique machines

John Francini francini at mac.com
Fri Apr 20 06:25:04 CDT 2007

>Tue, 17 Apr 2007 @ 22:18 -0700, Sheldon T. Hall said:
>>  And those things could handle a _lot_ of activity without breaking a sweat,
>>  too.  Remember when CompuServe was handling three million members with a
>>  bunch of hopped-up TOPS-10 machines?
>I thought they ran the pre-cursor to Twenex (TOPS-20)?


>The story as I remember it is they bought PDP-10s, added paging and
>other functions that DEC refuse to add, and rewrote TOPS.

CompuServe's weird (to me) version of TOPS-10 branched off the 'real' 
OS somewhere around the 5.07 or 6.01 release, mid-1970s.

>Time passes, and DEC basically starts from the timeshare system and
>creates the Decsystem-20 and TOPS-20.

Nope, nope, nope.

Here's the deal.

The TOPS-10 Monitor (the old term for what we call an "OS") dates 
straight back to the original code written for the PDP-6 (DEC's first 
36-bit product) in 1963.   The first model of the PDP-10, the KA-10, 
which debuted in 1968, didn't have virtual memory or paging.  These 
were new and (commercially) untested concepts, though they were 
already operational on Multics at MIT.

Instead, the KA-10 had protection and relocation registers, which 
allowed a user program to be split into a 'low segment' which the 
program could write to, and a 'high segment', which was 
write-protected.  The high segment code could be shareable amongst 
users. So, if your job (a process in modern parlance) were running, 
say, a COBOL program, the COBOL run-time environment (libraries and 
such) would live in the high segment, and your program and data would 
live in the low segment.  Segments were multiples of 1Kword (36-bit 
words) in size, and were internally contiguous.  The Monitor could 
swap out an entire low segment to the swap area (a pre-allocated 
contiguous spot on disk, or, earlier, drum storage). The high segment 
stayed in core if there were other users who needed it; if not, the 
high segment would get swapped out as well if necessary.

Computer scientists at Bolt, Berenek, and Newman (BBN), in Cambridge, 
tried to get DEC to add the newfangled paging features to Monitor, 
but to no avail.  So they did the next best thing:  they bought a 
PDP-10 and then designed a box to add paging logic to the KA-10 CPU. 
They then proceeded to write a new OS from the ground up for it.  The 
result was TENEX, or TEN EXecutive.  This was the direct predecessor 
to TOPS-20.  Dan Murphy, one of the original programmers on the TENEX 
project, was hired by DEC in 1972 to port TENEX to the 
then-under-development KL-10 processor, which *would* support proper 
paging via microcode.  The eventual result of that port was TOPS-20. 
The user community dubbed it "TWENEX", as an homage to its history.

Meanwhile, the original Monitor was dubbed "TOPS-10", and the system 
as a whole was christened "DECsystem-10" when the second processor in 
the family, the KI-10, came out in 1972.  It was twice as fast as the 
KA-10, used 512-word pages instead of the 1Kword-multiple memory 
segments of the KA, would allow individual pages to be set 
write-protected or write-enabled, and could support non-contiguous 
job memory spaces.  However, TOPS-10 still didn't support it.

The KL-10 Model A, which came out in 1974, was Digital's first 
microcoded processor. It was twice as fast as the KI-10 it replaced. 
It supported KI-10 style paging, which was just fine for TOPS-10.  It 
also supported external memory channels, which allowed it to be a 
'drop-in' replacement for the KI-10.

The KL-10 Model B, which came out in 1976, was the processor on which 
TOPS-20 debuted. The Model B supported internal MOS memory, and its 
microcode also supported "real" (TENEX-style) paging, so it natural 
that it was also the first computer that supported TOPS-20.  The 
system was dubbed the DECSYSTEM-20.

Later on, Digital came out with the DECsystem-1091, a re-packaging of 
the KL-10 Model B in the same cabinetry as the DECSYSTEM-20 (and with 
the same internal memory), but with blue top panels in place of the 
orange used on the -20.  After that point, the only difference 
between a DECsystem-10 and a DECSYSTEM 20 were:

o The microcode loaded at boot time by the front-end PDP-11/40
o The OS loaded from disk
o The on-disk format of the filesystems
o A can of paint

Inside DEC, we had a collection of KL-10 computers available for 
stand-alone developer use.  These were usually orange-paneled.  All 
we needed to do to switch from TOPS-20 to TOPS-10 (or vice versa) was:

1. Shut down any OS running on the box.
2. Remove the previous user's system disk pack.
3. Install your own system disk pack.
4. Hit the "boot" button.

This would boot the PDP-11/40's console front-end software (a highly 
modified version of RSX-11 called RSX-20F), which would then proceed 
to load the CPU microcode and then boot the OS.

A single-box, cost-reduced (and 4x slower) model, the DECSYSTEM-2020 
(also known as the KS-10), was released in 1978.  It used a PDP-11 
UNIBUS for its peripherals, and also supported both TOPS-10 and 

TOPS-10 and TOPS-20 were very different beasts.  TOPS-10 was always 
the faster OS, while TOPS-20 was always the more feature-ful OS. Both 
had their adherents, and both were in active development right to the 
very end of the product's life in 1990.

There were plans for a 'unification' OS, dubbed TOPS-36, to take the 
best parts of both Monitors and combine them into one system, but 
that never really got beyond the investigational stage.

>Before the two systems could be merged into one product again, DEC
>dropped the whole 36-bit line in favor of VAX.

Partial credit here. (see above).

Indeed, the whole 36-bit line was indeed dropped because of the "one 
architecture, one OS, one product" mantra.  (We in TOPS dubbed that 
"One chicken, egg, one basket".)

>For a lot of people, that was a black day.

Now THERE you're right on.

One longtime TOPS-20 user, Mark Crispin, to this day uses the 
signature line "TOPS-20: a great improvement on its successors" in 
his e-mails.  And many of us still feel that way to this day.

John Francini
Ex-TOPS-10 developer
John Francini, francini at mac.com

"The journey is more important than the destination -- that's part of life.
If you only live for getting to the end, you're almost always disappointed."
                               -- Donald Knuth

More information about the rescue mailing list