The Internet Encyclopedia (Volume 3)

(coco) #1

P1: JDW


UNIX WL040/Bidgoli-Vol III-Ch-41 August 13, 2003 17:26 Char Count= 0


510 UNIXOPERATINGSYSTEM

programmer can build a mansion or a doghouse. It is this
toolbox approach that brings one writer to say, “Unix is a
set of tools for smart people” (Hahn, 1994, p. 13).

Consistency
Consistency abounds in Unix. It can be seen in the pipes
and filters concept, in the consistent and ubiquitous appli-
cation of the file metaphor in Unix I/O. As Kernighan and
Pike put it, “Instead of creating distinctions, the UNIX
system tries to efface them” (Kernighan & Pike, 1984,
p. 47). What this means in effect is that because files
can have permissions, why can’t a message queue also
have permissions as well (an interprocess communication
mechanism that provides a list of events that can be stored
by one program and retrieved by another)? The answer
is, it can. Whenever a new feature was to be added, an
examination of existing patterns in the system would be
performed to see if some precedent had already been set;
if it was, it would be imitated.

Don’t Assume A Priori That Your Users Are Idiots
Unlike some operating systems, Unix was developed from
the ground up by programmers for software development.
There was a tacit assumption from the very beginning that
the people who would be working with Unix, installing it,
programming on it, were going to be intelligent people.
This was a fundamental expectation. As Dennis Ritchie
once put it, “UNIX is simple and coherent, but it takes a
genius (or at any rate, a programmer) to understand and
appreciate its simplicity” (Vahalia, 1996, p. 16). So Unix
offered power to the people, but the people were expected
to ante the intellectual goods and creativity to leverage
that power successfully, without shooting their foot off in
the process.

Empower the User with Choice
Unix is all about choice. Unix users can choose which shell
to use. They can also choose from any of a number of text
editors. Or they can, like Bill Joy, simply write their own
if they have the inclination. The user has a choice of a
number of mail programs for reading e-mail. They can
choose to read mail in the emacs editor or use other mail
clients such as elm, pine, and mh.
Even the particular version of Unix is available as a
choice, now that free versions are available for different
platforms. For instance, a person with an Intel-based com-
puter can choose to install Sun Solaris/X86, SCO Unix,
any of a number of distributions of Linux, or a few dif-
ferent flavors of BSD (FreeBSD being probably the most
popular). A version of Linux is available for the PowerPC,
as well as for Sun’s own Sparc computers. Each of these
various flavors of Unix will have different capabilities, but
they will all offer the essentials of Unix and demonstrate
the emphasis on choice within the Unix philosophy.

CONCLUSION
In the end, what is it about the Unix operating system
that so captured the hearts and minds of over a quar-
ter century of computer programmers and users? Why do
veteran hackers have fake license plates that simply say,
“UNIX: Live Free or Die”? It has to do with several things,

but most important among them would be freedom, imag-
ination, and the ability to envision various futures. It has
to do in the end with a penchant for trust, trusting users
with the ability to build and therefore achieve remark-
able things using simple tools. To offer an environment to
achieve greatness, great freedom requires great responsi-
bility, and Unix has always offered as much danger as pos-
sibility. Unix had from the beginning something Alan Kay
once described (talking about the Smalltalk programming
language) as “great thinking patterns and deep beauty”
built in. It offered the world a chance to be creative, a
trust and gift that was devoured by thousands of bright
people hungering for precisely that kind of participation
and community. Unix was, and still is, thanks to grassroots
efforts like Linux, the FSF, and FreeBSD, all aboutbelong-
ing and contributing,and just plain fun.Vive la beauteet ́
la libert ́e.

GLOSSARY
Application programmer interface (API) A library of
functions that are callable as routines.
Bit The smallest unit of information on a digital com-
puter, standing for binary digit. A bit can have the value
1 or 0, meaning on or off.
Boot The process of initializing the operating system on
a computer, by initializing hardware and establishing
a sane environment in which users can work on the
system.
Berkeley Software Distribution (BSD) One of the two
major variants in Unix, begun during the mid-1970s by
the Computer Systems Research Group at the Univer-
sity of California, Berkeley.
Byte Eight bits of data on a digital computer. A byte
generally contains a single character (like the char-
acter ‘a’) or a small integer (generally less than 128
or 256).
Command substitution The ability of a shell to execute
a command and substitute the output of that command
in another command.
Filter A special type of program written to take its in-
put from standard input and write its output to stan-
dard output. Filters may be linked together using pipes.
Grep and sort are two types of filters.
Function A routine that is callable in a procedural pro-
gramming language, such as C. A function promotes
the concept of modularity in program design.
Inode A fundamental data structure that holds informa-
tion pertaining to a particular logical file on the file sys-
tem. An inode holds information about the file such as
its size in bytes, modification dates, security and access
information, type of file, and the location of the data
on the physical device, etc.
Job control The ability of the shell to run multiple pro-
grams at the same time and the facility to manage
multiple programs running in the background and
foreground.
Kernel The main “brain” of an operating system, pro-
viding an interface between the hardware itself and
providing resource allocation services to the rest of the
user system.
Free download pdf