Subject: Re: Early UNIX dates

From: [email-masked]
Date: Thu, 21 Jan 1999 03:11:01 -0500

I've got some suggested emendations and amplifications
that I intend to relate.  Bug me if I don't get to it soon.

	Dennis

---

From: [email-masked]
Date: Fri, 22 Jan 1999 02:28:16 -0500

Some comments.  They're not really corrections to a timeline,
and are mostly amplifications.  Perhaps they suggest possible
changes to the wording.

-----

		   Early dates of UNIX Development

As accurately as we can tell, anyway! References given where possible.

1969
	Unknown: Ken creates `Space Travel'. It was first written on Multics,
		then transliterated into Fortran for GECOS, then Ken and
		Dennis rewrote Space Travel to run on the PDP-7
		[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html]

	Mid-year: Bell Labs withdraws from the Multics project
		  [QCU pg 8]
This date is probably OK for the official withdrawal, but the event
was considerably more spread-out.  It was pretty obvious many months
in advance that the support was likely to go away, and the machine
stayed around for months after.

	April, May, June: Ken is interested in writing a file system
		  [QCU pg 8]
The interest was older than this.  He did experiments with simulation
of paging on Multics, for example.  He also wrote a rudimentary,
completely stand-alone system for the Multics machine that achieved
the equivalent of "Hello World" but gave it up when it became obvious
that the hardware would not last.

	Mid-year: Ken brings the file system to life on the PDP-7 in a month
		  [QCU pg 10]

The missing sequence here is that by the time B was developed, PDP-7 Unix
was a 2-user system that already did a basic core of ancestral commands
and was self-supporting (development done on itself).  So during the next
months, extending into 1970, a useful programming environment visibly
ancestral to current Unix was developed.  B was just a part of this.

	Unknown: Ken develops the B language
		  [QCU pg 34],
		  [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html]

1970
	Unknown: Peter Neumann coins the term `Unics', which is
		subsequently changed to `Unix'
		  [QCU pg 9]

	Unknown: Alternatively, Brian Kernighan suggests the name `Unix'
		[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html]

The details here remain satisfyingly uncertain.   Brian does think
he's likely to have invented the name; in recent correspondence,
Neumann imagines he might have come up with "unics", but definitely not
"unix."  Each is willing to concede to the other; neither is really sure.
I retain a suspicion that I'm responsible for the Neumann attribution
simply because I didn't remember then or now, and Neumann's
punful propensity suggested his authorship, and now we're stuck
with this guess.

	Mid-year: The PDP-11/20 is purchased, with no disk drives
		[QCU pg 35],
		[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html]

	3 months later: The disks arrive
		  [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html]

	Unknown: Ken recodes the Unix kernel and some commands in PDP-11
		assembly code
		  [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html]

Actually much of the recoding even occurred before the disk was delivered.
The basic system was running and executing commands, with
a basic shell, cp and whatnot.   The 12KWords were divided into
8KB for the system code and data, 8KB for running user programs,
8KB for an in-memory file system.  This all used a cross-assembler
written in B that ran on the PDP-7 and generated the -11 object
programs.

1971
	January-March: PDP-11 version largely rewritten during this period
		[http://cm.bell-labs.com/cm/cs/who/dmr/notes.html]
Despite the above paragraph, it's true enough that the PDP-11 (with
an 8KB "disk") couldn't be used for selt-supporting development.

	February: PDP-11 Unix beccomes ``operational''
		[http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html]

	Unknown: Dennis extends B to be NB
		  [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html]

Maybe "throughout"?  The point is that although it's true enough
that I can't reconstruct the dates, it also wasn't an event, it was
a process.

	Spring: roff rewritten in PDP-11 assembler language, starting from
		the PDP-7 version that had been transliterated from
		McIlroy's BCPL version on Multics, which had in turn been
		inspired by J. Saltzer's runoff program on CTSS
		[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html]
	
	November: First Edition manuals were published
		  [QCU pg 43]

1972
	January: The Labs issues a technical memorandum, written by Ken,
		describing the B language on the PDP-11
		[http://cm.bell-labs.com/cm/cs/who/dmr/kbman.html]

I just found a manuscript dated 27 July 1971, that has essentially the
same content as the more formal memorandum.

	March: First manual for cc(1)
		  [QCU pg 48]

	March: UNIX is running on at least 5 PDP-11/20s
		[http://cm.bell-labs.com/cm/cs/who/dmr/notes.html]

	June: DEC starts to ship the PDP-11/45. The Labs purchases one
		sonn after this
		[http://www.village.org/pdp11/faq.pages/11model.html]
soon

	June: Second Edition manuals were published. 10 UNIX installations
		  [QCU pg 43]

	Unknown: Ken adds pipes to the assembly-language version of the kernel
		[QCU pg 51],
		[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html]

1973
	January: the `nsys' kernel in the PUPS archive, written in C
		[timestamps on the files]

This is a bit problematical.  The dates you see are those recovered
from bytes on a tape; they might be wrong because of misinterpretation,
or uncertainty about the epoch.  It could be correct.  The September
date below (switching over to the C version of the system, an early
version of which is the "nsys" system) is probably OK.

	February: Third Edition manuals were published. 16 UNIX installations
		  [QCU pg 43]
		  Kernel is still the assembly-language version
		  [private email from dmr dated 7 Jan 1999]

	September: The C version of the kernel is adopted over the
		assembly-language version
		  [private email from dmr dated 18 Jan 1999]

	October: First UNIX paper, presented by Ken at the Fourth
    		ACM Symposium on Operating Systems Principles
		[http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html]

	November: Fourth Edition manuals were published
		  [QCU pg 43]

1974
	June: Fifth Edition manuals were published
		  [QCU pg 43]

This was the first Unix distribution in which the manual was coordinated
with a recorded set of software.   Before this, when people got the software,
they got what was on the disk at the moment and whatever manual
we'd most recently printed.   The Fifth Edition was all collected in one
reasonably coherent piece on tape.

	July: Ken's SOSP published in Communications of the ACM, 17, No. 7
		[http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html]
Well, mine too.  The paper was always nominally co-written, though
I did the writing (and Ken did most the ideas and more of the work).
He was indeed the speaker at the SOSP session at Yorktown Heights.

---

From: [email-masked]
Date: Sat, 23 Jan 1999 01:57:36 -0500

> I was idly thinking, now that I've completed my Ph.D, if Bell Labs
 > would take someone for a sabbatical in a few years, perhaps for some
 > (current) Operating Systems work.

Posed as is, the answer is "sure."  We have such visitors all the time.
When the time comes, the specifics will need to be discussed
in more detail, of course.

	Dennis