Unix gets 50 -- 50 links and pointers
===========================================
As you might know, the Unix operating system turns 50 in these days.
According to the history and the legend, Ken Thompson hacked the first
versions of the filesystem, the kernel, the editor (ed) and the shell in
about four weeks during summer 1969, while his wife was on vacation to
the West Coast. The system was already running on a PDP-7 at the
beginning of September 1969, so more or less exactly 50 years ago.
There have been several events to celebrate this special anniversary,
and other are planned for the next few months around the world. I am
passionate about the Unix system, but I am not a historian and I happen
to be a bit younger than needed, so I can't add more to the historical
recollections about the origins and development of Unix.
But I wanted to celebrate the event nonetheless, so I decided to compile
a list of 50 references (links, resources, documents, books) that I
think provide the best overview on the Unix history, development,
philosophy, impact, and legacy. For each resource I provide a short
description and a personal note. The list is in no particular order (the
only exception being the very first entry), and there is a lot of
interesting stuff so please just don't stop after the first few
references. The plan is to adapt and mirror most of those resource on my
gopher server as well, in due course.
Errors and inaccuracies are entirely my fault.
A toast to the next 50 years of Unix!
-+-+-+-
-
https://www.bell-labs.com/usr/dmr/www/
The homepage of Dennis Ritche at Bell Labs.
Dennis (known by his Unix username 'dmr') was the co-inventor of Unix,
together with Ken Thompson, and the inventor of the C programming
language. The webpage contains a lot of information about the history
and development of Unix and of the C language. Dennis Ritchie passed
away on October 2011, in the same week when Steve Jobs died. But,
outside the Unix world, he did not receive the same level of acclaim
and recognition as Jobs, despite his contributions to computer science
have been immeasureably more important and long-lasting. Despite his
humble and reserved nature, Dennis would have certainly been very
happy to see his creature reaching its golden anniversary. Thanks
Dennis. We all owe you AN AWFUL LOT. This list is dedicated to your
memory.
-
https://www.levenez.com/unix/
A timeline of the Unix history, to be printed and hung in your living
room (I actually used to have it in my living room for several years).
-
https://www.netjeff.com/humor/item.cgi?file=Foryouunixhackersoutthere
The Unix poem, a typical example of Unix humour.
-
https://www.tuhs.org/
TUHS: The Unix Heritage Society (also known as The Eunuchs Hysterical
Society). It's a group of Unix practitioners, developers, fans,
historians, working to preserve the Unix legacy and history. The
website contains a wealth of resources about Unix and its history. The
mailing list is quite active and includes among its members many Unix
gurus, including Ken Thompson, Steve Johnson, Doug McIlroy, and many
others.
-
https://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm
Unix: an oral history.
This website contains the transcripts of interviews to some of the
protagonists of the Unix saga. It was put together by Gordon Brown in
1989, on the 20th anniversary of Unix. Full of insights and great
adecdotes.
-
http://pdp11.org/
The PDP-11 Preservation Society
Tangentially relevant to the history of Unix, if not else because the
PDP-11 was the platform where Unix flourished and through which it
reached the computer science departments of hundreds of universities
around the world. The website is a collection of information on the
PDP-11 family of mini computers.
-
https://en.wikipedia.org/wiki/The_Unix_Programming_Environment
The Unix Programming Environment, B. Kernighan and R. Pike, Prentice
Hall (1984).
If you ever have to read only one book on Unix, please make sure this
is the one you pick. The book is an extraordinary synthesis of the Unix
philosophy, and every single page is worth one million times its weight
in gold, even 25 years after its original publication. An absolute gem.
-
https://www.pearson.com/us/higher-education/program/Bach-Design-of-the-UNIX-Operating-System/PGM81513.html
The design of the Unix operating system, M. J. Bach, Prentice Hall
(1986).
This has been the reference book on the internals of the Unix kernel
for three decades. A simple yet deep explanation of the algorithms
used to implement the file system, to manage processes, to provide
access to resources, and to communicate to the userland. A
masterpiece.
-
https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/
An article on the 50th anniversary of Unix by arstechnica.
-
https://en.wikipedia.org/wiki/The_C_Programming_Language
The C programming language, B. Kernighan and D. Ritchie, (1978).
If you think THE book on the C programming language has nothing to do
with Unix, then think again. This book describes the language used to
implement the Unix system (well, to re-implement it, since the first
few versions were written in assembly), and had an immense impact on
computing, effectively being the only C language reference for a
decade. Still a great introductory book to C more than 40 years later.
-
http://manpages.bsd.lv/history.html
History of Unix man pages.
A timeline of the tools used to write and maintain the manpage in
Unix and unix-like systems,
-
http://troff.org
The history of troff.
troff has been the tool used to write all the official Unix
documentation (and in particular the man-pages) as well as most of the
books on Unix until the early '90s. The webpage contains a lot of
resources on troff, its history, and its implementations.
-
https://mirrors.pdp-11.ru/
A mirror containing various resources on Unix and other operating
systems.
-
http://www.mckusick.com/
Kirk McKusick's webpage on BSD Unix.
The webpage of one of the most prolific contributors to BSD Unix.
Particularly interesting is the link to the CSRG Archive CD-ROMs,
which include most of the versions of BSD released by the Computer
Science Research Group at Berkeley. The CD-ROMs are also available on
www.archive.org.
-
https://www.goodreads.com/book/show/605971.A_Quarter_Century_of_Unix
A quarter century of Unix, P. H. Salus, Addison-Wesley (1994).
A very interesting book on the history of Unix by Peter Salus, one of
the most knowledgeable Unix historians. The book contains a lot of
anecdotes, and reconstructs the beginnings as well as the early
development of Unix.
-
https://www.goodreads.com/book/show/5273962-the-daemon-the-gnu-and-the-penguin
The Daemon, the GNU, and the Penguin, P. J. Salus and J. C. Reed, Reed
Media Services (2008).
Another nice book from Peter Salus, about the history of BSD, Linux,
and the GNU project. A digital (HTML) version of the book is available
as well.
-
http://a.papnet.eu/
A webpage containing plenty of resources about ancient Unix and its
derivative, and the evolution of the C programing language.
-
https://cat-v.org
A website full of resources on Unix, programming, phylosophy, and much
more. It includes sections on Unix, Plan9, Inferno, as well as a
collection of documents about Bell Labs and all the strange and
creative stuff that came out of there.
-
https://unix50.org/
A website made available by SDF to celebrate the 50th anniversary of
Unix. You can run several historical version of Unix from your
browser. Hope it stays online beyond 2019.
-
http://fortunes.cat-v.org/
A collection of "fortunes files" from different Unix and Unix-related
systems. The command fortune(6) appeared in Unix V7 and officially
entered the Unix culture by being used (and abused) in many different
ways. fortune(6) prints a random quote or message from a simple text
database. It was customary in many universities to have fortune(6)
executed at login, so that each newly logged user would start their
day with a laugh or a serious thought. Whether the sysadmin ever
succeeded in their intentions is a totally different story...
-
http://doc.cat-v.org/unix/unix-before-berkeley/
A history of UNIX before Berkley: UNIX evolution 1975-1984. I. F.
Darwin, G. Collyer (1984).
This is a very nice paper about the development of the Unix kernel and
the Unix userland up to Unix V8 (the latter was never commercialised
or distributed outside Bell Labs, but tapes and boot images do exist).
-
http://9front.org
9Front is one of the surviving forks of "Plan9 from Bell Labs", a
descendant of Unix V10 that was supposed to cure some of the design
mistakes of Unix and to bring the concept that "everything is a
file" to its most extreme consequences. Plan9 was considered by many
"more Unix than Unix itself", but Bell Labs eventually decided to
discontinue its development and the operating system remained
essentially relegated to a small niche. 9Front is still actively
developed by a handful of dedicated hackers. The last release at the
time of writing is "SKIN OF EVIL", made available in Spring 2019.
-
https://pubs.opengroup.org/onlinepubs/9699919799
The Single Unix Specification.
This website includes the definition of the POSIX standard as released
by The Open Group. The reference that establishes what is
POSIX-compliant and what is not, FWIW. You will probably be surprised
in discovering that most of the Unix tools we use today include at
least a few (and in some cases a lot of) non-POSIX extensions...
-
https://www.coulouris.net/cs_history/em_story/
The early days of Unix in the UK, as recalled by George Colouris who
was at Queen Mary College (London) in the early '70s. The page also
contains the history of how the vi editor originated from "em" ("ed
for mortals"), an enhanced version of ed(1) written by Colouris at
Queen Mary College, which he brought to Berkeley and showed to Bill
Joy. Would you have imagined that Europe had such a role in the
creeation of one of the iconic tools of the Unix environment?
-
https://github.com/dspinellis/unix-history-repo
Unix history repo.
A git repository that makes available all the existing versions of
Research UNIX in a single place. It allows to compare different
versions of Unix and Unix-like kernels to discover descendancy and/or
divergences.
-
http://bitsavers.org/
Bitsavers. A website containing tons of historic software and
documentation, including hundreds of images and tapes of historical
Unix and unix-like systems.
-
http://simh.trailing-edge.com/
SimH, a simulator of historical computing systems from DEC, Data
General, IBM, Interdata, Hewlett-Packard, Honeywell, and many other
makers. Indispensable to run historical Unix versions.
-
http://www.stargatemuseum.org/
Stargate Museum.
A website maintained by Mary Ann Horton (the most relevant among the
Usenet pioneers) about the history of Unix, UUCP, email, and
other great stuff. Particularly interesting are the historical maps of
Usenet, recently collected at
http://www.stargatemuseum.org/maps/
-
http://www.minix3.org/
The website of the Minix operating system. Minix was developed in
the mid '80s by Andrew Tanenbaum as an educational operating system.
Its version 2.0 was effectively POSIX-compliant. Linux Torvalds
started working on Linux to develop "a better Minix than Minix".
-
https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ
The original message by Linus Torvalds on comp.os.minix, announcing
that he was working on a clone of Minix. Linux started there.
-
https://nic.funet.fi/pub/
One of the oldest software and documentation archive on the Internet
still surviving. This is where Linux was first released to the public.
It still contains plenty of information, documentation, and old
software.
-
http://pcc.ludd.ltu.se/
The website of pcc, the portable C compiler, originally written by
Stephen Johnson at Bell Labs and released with Unix V7 aside with
Ritchie's C compiler. pcc was the default C compiler on all the
AT&T-derived Unix systems after V7 and up to System V. The compiler is
still developed today and runs on several modern Unix platforms,
including Linux and the BSD.
-
http://www.oldlinux.org/Linux.old/distributions/
A mirror of very old and early Linux distributions.
-
https://386bsd.org/
The website of 386BSD, the first open source BSD Unix operating
system, made available by Bill and Lynne Jolitz in 1992. The system
was also known as Jolix. FreeBSD and NetBSD were originally forked
from that codebase.
-
https://www.fuzix.org
The fuzix project.
An amazing project by Alan Cox (yes, the same Alan Cox of the "-ac"
Linux kernel branch) to revive old small Unix implementations for Z80
and other 8bit and 16bit platforms from the '80s. The project is
currently under heavy development. FUZIX already works on more than a
dozen architectures and includes a full-featured Unix environment in
less than 32K or RAM. This is exactly the kind of trick you would
expect from a genius like Alan Cox.
-
http://heirloom.sourceforge.net/
The Heirloom Project aims at providing traditional Unix tools and
programs for modern Unix systems. You will find there the Heirloom
Toolchest (all the standard Unix userland), The Heirloom Bourne Shell,
The Heirloom Documentation Tools (troff, nroff, etc.), The Heirloom
Development Tools (lex, yacc, m4, SCCS), as well as The Traditional
Vi. Most of the software from the Heirloom project will run unaltered
on modern Linux and BSD systems.
-
https://dilbert.com/strip/1995-06-24
A very famous comic strip in the Dilbert series. Here's a nickel kid.
Get yourself a better computer.
-
https://www.bell-labs.com/usr/dmr/www/calderalicense2000.html
In the early 2000s Caldera (somehow related to SCO Group and other
evil operations, but please don't ask the details) acquired the
copyright on Unix from Novell. After a lot of discussions with
ancient Unix enthusiasts and fans, Caldera decided to release as open
source all the historical versions of Unix developed at Bell Labs
(collectively known as "Research Unix" and conveniently named "Ancient
Unix" by Caldera). The result is the Licence for Historical Research
Unix Systems available at the link above, which allows anybody to look
at the code of historical Unix systems and to run those systems for
any purpose without the need to buy a license.
-
http://www.tavi.co.uk/unixhistory/quasijarus.html
A page containing information on how to setup and run a BSD4.3
(quasijarus) on an emulated VAX. Quasijarus was one of the latest
releases of the Berkley System Distribution before the CSRG was
dismantled in the early '90s.
-
https://sourceforge.net/projects/bsd42/files/Install%20tapes/
A collection of historical BSD images, with some information on how to
run them on an emulator.
-
https://www.in-ulm.de/~mascheck/bourne/
A history of the Bourne Shell and its descendants. The Bourne Shell
was the default Unix shell since Unix V7, and is the ancestor of the
Korn Shell and, indirectly, of bash (the Bourne Again SHell).
-
https://www.in-ulm.de/~mascheck/various/ancient/
Another webpage containing historical Unix images and tapes.
-
https://www.youtube.com/watch?v=EY6q5dv_B-o
Brian Kernighan interviews Ken Thompson (2019). The recording of an
interview to Ken Thompson on the origin of Unix. The interviewer is
another legend on Unix, Brian Kernighan (the "K" of "K&R").
-
https://www.goodreads.com/book/show/515603.Software_Tools
Software Tools. B. W. Kernighan and P.J. Plauger, Addison-Wesley
(1976).
This book is very much related to the Unix history and development.
Kernighan and Plauger explain their theory about constructing
"software tools", i.e., simple programs, each doing exactly one thing,
and interconnected to each other to perform more complicated tasks. In
practice, the book explained how to re-create a Unix-like userland on
any computer, using a C-flavoured dialect of FORTRAN called "Ratfor",
that they invented. The book was extremely popular in the '70s and in
the '80s, and helped spreading the Unix philosophy far beyond the
places where Unix was actually developed and run. A modern
implementation of Ratfor is available and runs on Linux.
-
http://www.catb.org/esr/writings/taoup/html/
The Art of Unix Programming, E. S. Raymond (2003).
This is a classic book on Unix philosophy, also available in digital
format for free. The book discusses the unifying principles of Unix
programming and development through a series of concrete examples.
-
http://www.tuhs.org/Archive/Documentation/Books/Life_with_Unix.pdf
Life with unix. D. Libes and S. Ressler, Prentice Hall (1989).
A classic book describing the Unix ecosystem at the end of the '80s.
A great historical document, containing several chapters that are
still of good value today.
-
https://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code
Lions' commentary on UNIX 6th Edition with Source Code, J. Lions,
University of New South Wales (1976).
This book was written by John Lions to teach the Unix operating system
at the University of New South Wales, and is indeed a commentary on
the source code of the Unix kernel. When Unix V7 was released, the
book effectively became illegal overnight (the academic/research
license for Unix V7 did not permit any more to teach the operating
system in classrooms). Nevertheless, the book was passed down to
dozens of generations of computer science students across the world in
the form of photocopied notes. It is believed to be the most
photocopied book in the history of computer science. The book was
finally re-published a few years ago, but certified third or fourth
generation photocopies of the original are still quite valuable
specimens.
-
http://www.tuhs.org/Archive/Documentation/Papers/unix_cacm74.pdf
The Unix Timesharing System, D. Ritche and K. Thompson, Communications
of the ACM, 17(7), 1974.
This is the famous article presented by Dennis Ritchie at the ACM
conference in 1973 and published in the Communications of the ACM in
1974.
-
https://archive.org/details/a_research_unix_reader
A Research Unix Reader, M. D. McIlroy, 1987.
A great retrospective on the history of the Unix system and its
development by Doug McIlroy. The paper recalls the names and the
contributions of a lot of people who worked on Unix development at
Bell Labs.
-
https://archive.org/details/4.3BSD_UNIX
The design and implementation of the BSD 4.3 UNIX Operating System.
S. Leffler, K. McKusick, M. Karels & J. Quartermann, Addison-Wesley,
1991.
The reference book on the implementation of the most popular of the
BSD releases, written by the developers who contributed to it. It is
still considered one of the best introductions to the development of a
real-world operating system.