The UNIXTM Operating System

Some history (section 7.1): around 1964, the MULTICS experiment (Bell Labs, MIT & GE) was a bit of a failure. Brian Thomson & Dennis Richie hacked up UNICS on a spare machine, then got some interest up, ported it to the PDP-11 around the 1970s. They then invented the C language out of spare bits of BCPL

CPL -> BCPL -> B -> C ( -> C++ -> Java, but that ain't important right now)

and rewrote UNIX in it. Turned out lots of people, especially universities had PDP-11s, but the OS which came with it sucked, and since UNIX was going for free, and you could get the source code and fiddle with it, UNIX became massively popular.

The family tree is complex, but basically there are two main breeds of UNIX, those derived from System V (from AT&T, now a private company, in 1984), and 4BSD, from Berkeley. Both of these derive from a common ancestor, UNIX Version 7 (if my sources are to be believed---the weird version numbering really screws things up).

POSIX, the IEEE portable OS spec is basically a list of UNIX calls. Definitely the most ported operating system in the world. UNIX is the OS against which others are measured.

What makes UNIX special: (section 7.2) multiprocessing (originally with one thread of execution per process), filesystems mapped to a single directory structure, processes in one machine are all related (all trace their ancestry back to a single, primeval Eve process---the init process).

So the way you create a new process in UNIX is by being a process and cloning yourself (using the FORK system call). Each child process begins with exactly the same file descriptors and program state as its parent. Thereafter the new process can modify itself to perform the desired task. Very neat and tidy. Each process has a single, big, contiguous lump of memory---its data segment---from which it may allocate and free memory (but allocating and freeing memory are left to the program or the programming language; the OS just provides one big undifferentiated heap).



last updated 29 April 1997