From: Shearer, James E (james.e.shearer_at_boeing.com)
Date: Thu Jan 08 2004 - 09:52:31 PST
A review of "The UNIX Time-Sharing System"
The UNIX Time Sharing System (Ritchie and Thompson, 1974) describes the
third version of the now-ubiquitous OS. People familiar with
GUI-centric operating systems might be surprised to see UNIX described
in terms of "simplicity, elegance, and ease of use", but compared to
what came before; it is definitely all of these. Perhaps UNIX's single
greatest contribution to the world of computing is the abstraction of
the concept of "file" as described in this paper. While previous (and
some subsequent) systems differentiate between different types of files
and manage them differently, UNIX represents all data of any kind as
just a binary file, abstracting user data and applications away from the
realm of the operating system. Further, by treating directories and I/O
interfaces as files (including std-in, std-out, and std-err) UNIX is
phenomenally expandable and flexible. The directing and piping
capability that derives from this file abstraction gives UNIX its
simplicity and elegance. My enthusiasm for this approach stems to a
large degree from my own personal experience using an IBM-370 running
Job Control Language (JCL). It is not uncommon for a user to need to
know about 2000 JCL commands to use the system effectively. In
comparision, a small number of shell commands used in conjunction with
UNIX's directing and piping capability allow even a novice user the
ability to route and filter data in surprising ways.
The paper also provides an excellent description of the magic i-list
that makes this file abstraction possible, but here it is clear that
event the authors had no idea of the power of the idea they created.
The paper talks about small and large files and notes the implied limit
of 1 MB for a large file. There is no indication the authors imagined
that these fields of the i-table could be used to chain to yet more
i-table parameters, including vastly larger file sizes, as is standard
practice in current UNIX variants.
I found the process discussion (section 5 of the paper) to be
interesting but not as revolutionary as the file abstraction discussion.
This may be because I am not as familiar with the alternatives and so do
not fully appreciate the significance of the design.
James E. Shearer
This archive was generated by hypermail 2.1.6 : Thu Jan 08 2004 - 09:55:49 PST