A very brief look at Unix history.

A very brief look at Unix history.

Unix history goes back to 1969 and the famous "little-used PDP-7
in a corner" on which Ken Thompson, Dennis Ritchie (the R in K&R)
and others started work on what was to become Unix. The name
"Unix" was intended as a pun on Multics (and was written "Unics"
at first -- UNiplexed Information and Computing System).

For the first 10 years, Unix development was essentially confined
to Bell Labs. These initial versions were labeled "Version n" or
"Nth Edition" (of the manuals), and were for DEC's PDP-11 (16
bits) and later VAXen (32 bits). Some significant versions
include:

V1 (1971): 1st Unix version, in assembler on a PDP-11/20.
Included file system, fork(), roff, ed. Was used as a text
processing tool for preparation of patents. Pipe() appeared
first in V2!

V4 (1973): Rewritten in C, which is probably the most
significant event in this OS's history: it means Unix can be
ported to a new hardware in months, and changes are easy. The
C language was originally designed for the Unix operating
system, and hence there is a strong synergy between C and Unix.

V6 (1975): First version of Unix widely available outside
Bell Labs (esp. in universities). This was also the start of
Unix diversity and popularity. 1.xBSD (PDP-11) was derived
from this version. J. Lions published "A commentary on the
Unix Operating System" based on V6.

V7 (1979): For many, this is the "last true Unix", an
"improvement over all preceding and following Unices"
[Bourne]. It included full K&R C, uucp, Bourne shell. V7 was
ported to the VAX as 32V. The V7 kernel was a mere 40
Kbytes!

Here (for reference) are the system calls of V7:
_exit, access, acct, alarm, brk, chdir, chmod, chown,
chroot, close, creat, dup, dup2, exec*, exit, fork, fstat,
ftime, getegid, geteuid, getgid, getpid, getuid, gtty,
indir, ioctl, kill, link, lock, lseek, mknod, mount,
mpxcall, nice, open, pause, phys, pipe, pkoff, pkon,
profil, ptrace, read, sbrk, setgid, setuid, signal, stat,
stime, stty, sync, tell, time, times, umask, umount,
unlink, utime, wait, write.

These Vn versions were developed by the Computer Research Group
(CRG) of Bell Labs. Another group, the Unix System Group (USG),
was responsible for support. A third group at Bell Labs was also
involved in Unix development, the Programmer's WorkBench (PWB),
to which we owe, for example, sccs, named pipes and other
important ideas. Both groups were merged into Unix System
Development Lab in 1983.

Another variant of Unix was CB Unix (Columbus Unix) from the Columbus
branch of Bell Labs, responsible of Operations Support Systems. Its
main contribution was parts of SV IPC.

Work on Unix continued at Bell Labs in the 1980s. The V series
was further developed by the CRG (Stroustrup mentions V10 in the
2nd edition of his book on C++), but we don't seem to hear much
about this otherwise. The company now responsible for Unix
(System V) is called Unix System Laboratories (USL) and is
majority-owned by AT&T. Novell has bought USL (early 93)!
Novell has given rights to the "UNIX" trademark to X/Open (late 93).

But much happened to Unix outside AT&T, especially at Berkeley
(where the other major flavor comes from). Vendors (esp. of
workstations) also contributed much (e.g. Sun's NFS).

The book "Life with Unix" by Don Libes and Sandy Ressler is
fascinating reading for anyone interested in Unix, and covers a
lot of the history, interactions, etc.. Much in the present
section is summarized from this book.



Home FAQ