Table of Contents

Unix Timeline

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 finally withdraws from the Multics project. Dennis says: “It was pretty obvious many months in advance that the support was likely to go away, and the machine stayed around for months after.” [ QCU pg 8]

April, May, June: Ken is interested in writing a file system. Dennis says: “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.” [ QCU pg 8]

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

Unknown: Ken develops the B language. Dennis says: “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.” [ 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 ]

Dennis says: “I think the Neumann connection was an invention of my own fevered brain. I wasn't sure who created the name and I assumed Peter because of his propensity for puns. He has since denied involvement and Brian has claimed it, so I think things are as certain as they can be at this point.” [ private email from dmr dated 10 Jan 2000]

Mid-year: The PDP-7 version supports two concurrent users, one on a teleprinter and the other on the Graphics-2 device. The filesystem has the “dd” directory, a “system” directory for binaries and per-user directories, but no concept of pathnames, “.” or “..” [ extant source code ]. Utilities include as, bi (B interpreter), cat, check (filesystem checker), chmod, chown, chrm (remove files), cp, db (debugger), dsw (delete from switches), ed, ln, mv, sh, stat (ls-like output on one file).

Mid-year: The PDP-11/20 is ordered, but it arrives with no disk drives as they were not ready yet [ QCU pg 35], [ http://cm.bell-labs.com/cm/cs/who/dmr/hist.html ]. It sits in Joseph Osanna's office [ Thompson interview ].

Unknown: Ken has recoded the Unix kernel and some commands in PDP-11 assembly code. Dennis writes: “Much of the recoding 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.” [ http://cm.bell-labs.com/cm/cs/who/dmr/chist.html ]

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

1971

January-March: PDP-11 version largely rewritten during this period, but was not truly self-supporting. [ http://cm.bell-labs.com/cm/cs/who/dmr/notes.html ]

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

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

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 ]

Mid-1971: Dennis writes a draft of “The Unix Time-Sharing System” paper.

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.htmll ]

January-May: Most of the 0405-magic binaries on the s2-bits tap archive, using the 1st Edition API. date(1) has 1971 as its epoch. [timestamps on files in the tap archive]

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 soon after this [ http://www.village.org/pdp11/faq.pages/11model.html ]

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

June-July: The C compiler binaries and associated utilities (as, nm, size, ld, un) on the s2-bits tap archive, with 0407-magic and using the 2nd Edition API. The files in the last1120c C compiler are contemporaneous. [timestamps on files in the tap archives]

Sometime between July and December: 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 ]

December: The prestruct C compiler sources. This compiler assumes a load address of 0, unlike last1120c which has 040000. This implies that the kernel now used the 11/45 memory management. [timestamps on files in the tap archive]

1973

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]

August: the `nsys' kernel in the PUPS archive, written in C. The source code uses structures; the C compiler must therefore have supported them by now. [timestamps on the files]

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 by Ken and Dennis, 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. Dennis writes: 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. [ QCU pg 43]

July: Ken and Dennis's SOSP paper is published in Communications of the ACM, 17, No. 7 [ http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html ]

1975

1976

1977

1978

1979