On 10/08/2011 03:32 PM, MBR wrote:
Speaking of RT-11, my first job out of college was in the Small Systems
Group at DEC from 1972 to 1977. RT-11 was developed as a successor to
OS-8. The PDP-8 (12-bit word, 3-bit opcode, maximum memory
32K-12-bit-words) was to the world of computers in the early 1970s what
the Model T had been to the world of automobiles in the 1910s. While it
was severely limited compared to mainframes of the day, the PDP-8
brought the price down to the $10,000 to $20,000 range, a price where
every college psych lab could afford their own computer to monitor
experiments and process data.
DEC's mainframe at the time was the PDP-10 (36-bit word, 9-bit opcode,
maximum memory 4M-36-bit-words), which typically cost many hundreds of
thousands of dollars. TOPS-10, the PDP-10 operating system,
time-shared among lots of terminals. I don't remember what its limit
was, but I think 50 users at a time was not unusual.
When I joined DEC's Small Systems Group, one member of the group was
legendary -- Ritchie Lary. PDP-8 development had to be done with a
cross-assembler running on the PDP-10. But the Small Systems Group
didn't have enough PDP-8's for everyone to have one, so we each got a
few hours a day on the real PDP-8 hardware. It was extremely
cumbersome to have to assemble your source code on the PDP-10, punch a
paper tape of the binary, wait for your 2-4 hour time slot on the
PDP-8 hardware, load the binary from paper tape, debug your code, and
then have to go back to the PDP-10 and repeat the process if you
needed to change anything in your code. The story was that a year or
two before I joined, Ritchie Lary realized that to do a standard edit,
compile, and debug cycle all on the same machine, he'd need a
single-user version of TOPS-10 running on the PDP-8. So he went off
and wrote it! Other members of the group wrote the necessary
utilities. The editor (TECO) was translated,
instruction-for-instruction, to the 8 instuction set. Someone wrote a
native PDP-8 assembler. And thus was OS-8 born! Lary's original name
for it was the _*F*_ully _*U*_pward _*C*_ompatible _*KE*_yboard
_*M*_onitor. Of course, marketing couldn't call it FUCKEM, so they
gave it a more respectable name.
I know that if someone had suggested to me at that time that an OS
that ran in Mega-words of 36-bit word memory could be implemented as a
single-user verison in 8 Kilo-words of 12-bit word memory, with only
256 words resident, I'd have thought the idea was insane! I've always
felt that Lary's ability to see that such a thing could be done and go
do it was true genius.
Around 1973 or 1974, DEC's hardware engineers gave us a brand new, and
quite innovative architecture, the PDP-11. Its instruction set was
nicely orthogonal so it was easy to learn, but was also quite
powerful. Its native post-increment and pre-decrement addressing
modes inspired C's ++ and --.
Our managers came to us and said that because OS-8 was doing so well,
they need OS-8 reimplemented to run on the new PDP-11. That's how
RT-11 came into existence.
Gary Kildall's CP/M started out as his own reimplementation of RT-11
for the Intel 8080. A few years later, Tim Paterson of Seattle
Computer Products (SCP) wrote his own implementation of CP/M called
QDOS (Quick and Dirty OS). Bill Gates didn't write MS-DOS. He simply
bought rights to QDOS from SCP for $50,000 while keeping secret from
SCP the fact that Microsoft's customer was IBM! And that's how the
whole chain of cloning and incremental improvement came to make a
fortune for Gates under the name MS-DOS.
For me, the lessons of this history are:
*
Good software usually involves someone with a brilliant insight
followed by a series of incremental improvements done by
individuals, either collaborating with one another or
unintentionally collaborating by copying and improving each
other's work.
*
Those who reap the rewards seldom have a significant hand in the
creation. Instead they tend to be skilled publicists who make
dubious deals with naive programmers.
I think some, but not all of this, applies to Steve Jobs too. He was
definitely quite skillful at promoting his company, their products,
and himself. He didn't invent the modern bitmapped graphics
computer. That work was done by people like Charles Thacker, Alan
Kay, Douglas Engelbart, Robert Metcalfe, and others that most people
have never heard of. But I think Jobs had vision that allowed him to
improve on their ideas while copying what they'd done, just as Kildall
improved on what we'd done at DEC, and Paterson improved on what
Kildall did. In that regard, whatever other objections I may have had
to how Jobs ran things, I have far more respect for him than for Gates.
One of my first jobs after graduate school was at Burger King Corp. At
that time, BK's point of sale systems were 8K DEC PDP-8Ms (with no
control panel). The cash register had nixie tubes and a keyboard you
read by reading the row, then column (eg not ASCII). The modem only had
a ring interrupt. To send data, you rotated the accumulator into the
link to send a bit, or from the link to read a bit. The 1200bps was done
in timing loops. The PDP 8 processor speeds were predictable. Since it
had core memory, if there was a power fail, all we had to do was to save
the PC, accumulator and link. The PDP-8 only had those registers plus a
multiplier quotient we did not use, and a 3 bit bank register we did not
use in the 4K versions. Only Connecticut had 8K. At the time, a 4K
memory board cost about $5,000. Each PDP 8 could support a maximum of 4
registers and 8 clerks. (2 clerks could share 1 register). In 4K we
could do inventory, cash reconciliation, hourly sales, and a couple of
other things. We could only store 1 day's worth of data. If the store
failed to send it's data, in the morning the manager had to call Miami.
The printer was a drum printer with only 10 characters. The right side
of the printer was numeric, so we could print 0-9 or a space, and the
left side had Alpha characters, but only 10 letters, so some of the
abbreviations were interesting. We had to write the code to strike the
hammers on the drum. We had a home-grown comms protocol partially
because of the 12 bit data. The Miami host was a Burroughts medium
systems EBCDIC mainframe. Our modem program there was written in COBOL
with integrated assembler. Burroughs medium systems did not have a
linkage editor so your programs were monolithic. So, one of the things
it had to do was to read the 8-bit data convert it back to 12-bit binary
words, then into COBOL integers. The PDP-8 would send 2 words in 3
octets. I was hired as a PDP-8 assembler programmer since I had training
in graduate school. Later on, BK converted to a microprocessor based
system.
--
Jerry Feldman<[email protected]>
Boston Linux and Unix
PGP key id:3BC1EB90
PGP Key fingerprint: 49E2 C52A FC5A A31F 8D66 C0AF 7CEA 30FC 3BC1 EB90
_______________________________________________
Discuss mailing list
[email protected]
http://lists.blu.org/mailman/listinfo/discuss