[TUHS] Ideas for a Unix paper I'm writing

Jim Capp jcapp at anteil.com
Tue Jun 28 13:53:37 AEST 2011


Two more excerpts if I may:

The UNIX Time-Sharing System, Dennis M. Ritchie and Ken Thompson, Bell Laboratories, CACM July 1974, pp. 374:

"Our goals throughout the effort, when articulated at all, have always concerned themselves with building a comfortable relationship with the machine and with exploring ideas and inventions in operating systems. We have not been faced with the need to satisfy someone else's requirements, and for this freedom we are grateful."


"The success of 'UNIX' lies not so much in new inventions but rather in the full exploitation of a carefully selected set of fertile ideas, and especially in showing that they can be keys to the implementation of a small yet powerful operating system."



----- Original Message -----
From: "Warren Toomey" <wkt at tuhs.org>
To: tuhs at tuhs.org
Sent: Monday, June 27, 2011 8:11:40 PM
Subject: [TUHS] Ideas for a Unix paper I'm writing

All, IEEE Spectrum have asked me to write a paper on Unix to celebrate the
40th anniversary of the release of 1st Edition in November 1971. I'm after
ideas & suggestions!

I think my general thrust is that Unix is an elegant design, and the
design elements are still relevant today. The implementation is mostly
irrelevant (consider how much the code has changed from assembly -> C,
from the simple data structures in V7 through to current BSD), but the
original API is classic. Note that about 28 of the 1st Ed syscalls are
retained in current BSDs and Linux, and with the same syscall numbers.

I'm having some trouble thinking of the right way to explain what is
an elegant design at the OS/syscall level, so any inspirations/ideas
would be most welcome. I might highlight a couple of syscall groups:
open/close/read/write, and fork/exec/exit/wait.

If you have any references/URLs you think I should look at, please
pass them on to me.

I'm also trying to chase down some quotes; my memory seems to be failing me
but I'm sure I've seen these somewhere:

 - in a paper, I think by Thompson & Ritchie, where they assert that the
   kernel should provide no more than the most minimal services to the
   userland programs. I thought this was the CACM paper, but I can't spot
   this bit. Maybe it's in Thompson's preface to the Lions Commentary,
   of which my copy is elsewere at present.

 - I'm sure I remember someome (Kernighan?) say that Ritchie encouraged
   them to espouse the use of processes as context switching was cheap,
   but later measurements showed that in fact it wasn't that cheap in
   the early versions of Unix.

Anyway, if you can think of good ideas/references about the elegance of
Unix, especially from the design perspective, I would much appreciate them.

TUHS mailing list
TUHS at minnie.tuhs.org

More information about the TUHS mailing list