A short history of UNIX 

=============================================================================
Overview:  They say "To know all is to forgive all."  This is especially true
           in the world of computers where antiquated solutions to problems
           ossify into the bizarre anomalies of the present day.  This brief
           review of the main strands of development in UNIX should whet your
           appetite for more.
=============================================================================

Section                            Topics
-------                            ------

   Multics, a terrific and influential failure
   Starting out very small
   Speaking the right language
   Go West, Young Operating System
   The price of Success
   Wonderful things are seldom free
   What makes for popularity?
   People are so critical
   UNIX forks many children
   GNU's Not UNIX
   POSIX
   What's Past is Prologue
   Credits




Multics, a terrific and influential failure
-------------------------------------------

Once upon a time in the mid-Sixties, three companies, MIT, Bell Labs and
General Electric, decided to create a "computer utility" sort of like a
power company, which would provide computing resources to an entire city or
area.  Their project, called MULTICS for Multiplexed Information and 
Computing System, was a failure due to the enormity of the project and the
vast budget overruns.  When Bell Labs left the venture, several of its
programmers were left with nothing exciting to do.


Starting out very small
-----------------------

Ken Thompson, Dennis Ritchie and a few other programmers began to carve the
beached whale called MULTICS up into usable and bite-size pieces.  In 1969,
they began a file system project for an old PDP-7 which wasn't being used
anymore, in the hopes of creating word processing software for it.  They
named their system UNICS, a variant of the MULTICS but emphasizing its
single user nature.  Its name was later changed to UNIX, and the X became
the most important feature of the name.

At first, UNIX wasn't much of a system, but several of the seminal ideas of
MULTICS were carried over into it, including shells and pipes.  But UNIX was
small, simple and clean, and Bell Labs employees began using it, especially
as it moved to more powerful computers, such as the PDP-11/70.  Also, the
system was freely given to many universities, ensuring its popularity in the
next generation of computer professionals.


Speaking the right language
---------------------------

In 1973, Thompson and Ritchie did a very crucial thing: they rewrote UNIX
in the C programming language.  Most operating systems were written in 
assembler up to that time, making them completely non-portable and difficult
to study, write, or change.  Though this idea wasn't original, either
(MULTICS was written in PL/I, another high level language), the use of C
made it possible to move UNIX to many new computers with minimal effort.

Many people studied the UNIX source code, in C, and made contributions and
improvements.  During these early years, UNIX flourished in a very collegial
fashion and blossomed as a result of being frequently scrutinized.  Many
versions were produced, which Bell Labs marketed.  The final culmination
was Version 7, produced in 1979.


Go West, Young Operating System
--------------

In the meantime, UCB students in Berkeley, California were experimenting
with new features to make UNIX more user friendly.  Led by Professor R. S.
Fabry, they produced Berkeley UNIX 4.1 bsd in June, 1981, "bsd" standing for
Berkeley Software Distribution.  It was a great success, introducing virtual
memory, the "vi" full-screen editor, the C shell and a number of other
features now considered essential.  More versions of Berkeley UNIX followed,
competing with new updates produced by Bell Labs.


The price of Success
--------------------

Finally, AT&T, owner of Bell Labs, saw the profits in UNIX, especially as it
was ported to everything from Macintoshes to Cray supercomputers.  Now, UNIX
is licensed and sold, and the free public exchange of source code no longer
happens.


Wonderful things are seldom free
--------------------------------

It is important to notice that UNIX is not free nor public domain.  It is
licensed by AT&T and you must purchase a license from AT&T to use it, even if
it is a variant from another company.  There are several redesigns of UNIX
that escape the copyright that AT&T holds due to the fact that they have
completely rewritten the system from scratch.  These include Minix, Linux and
GNU.  (GNU stands for GNU's Not UNIX, and is a cute recursive acronym.)  But
even these systems still look and feel like UNIX.


What makes for popularity?
--------------------------

Everyone is wondering why UNIX is so popular, why it virtually took over the
computer world, and it is worth taking some time to answer this very good
question.  First, UNIX was for many years free to universities and colleges,
so it became very widespread in academia, which is where the next generation
of computer professionals come from.  All the other systems like VMS were
expensive and not portable.  They only ran on their vendor's hardware.

Second, UNIX source code was available and was widely studied, and modified.
Most computer vendors protect their source code to prevent copying.

Third, a derivative of the above two reasons, UNIX was portable to many 
different hardware platforms.  It ran first on DEC minicomputers, but was 
ported (moved) to Data Generals, IBMs, and later to microcomputers and super-
computers, and everything in between.  Part of the reason that UNIX was so 
easily moved to new "iron" was that it made minimal use of special features of 
hardware and it was written in a high level language, namely C, for which 
compilers on many different computers exist.  Prior, most operating systems 
were written in assembler, which is extremely NON-portable.

Many claim that UNIX is popular because it is elegant, and there is something
to be said for this.  Its concept of what a file is is almost comically minimal,
but from this extreme economy comes the flexibility to interpret and use it in
novel ways and combinations.  UNIX provides all the essential concepts that 
a modern operating system must provide to users and programmers:  files,
input/output devices, security, processes.  But the system, at least in its
older, pristine versions, was very small and served as a base on which to build.

UNIX also includes many fine concepts from an early flop, an operating
systems called MULTICS.  These included the pipe, shell and background 
processes.


People are so critical
----------------------

Many people find UNIX intimidating and claim that its very short command names
are too cryptic.  While it is true that UNIX's line at a time command shells are
old-fashioned and are somewhat difficult and time-consuming to learn, UNIX does
not need to rely on such shells.  X Windows is an example of a graphical user
interface that resembles Windows for PCs or the Macintosh, and is very popular
with new UNIX users.  However, the underlying programming system of UNIX is
still there and looks the same as before.


UNIX forks many children
------------------------

Just as UNIX drew most of its ideas from earlier systems, later operating
systems modeled UNIX's features.  The best example is MS-DOS, which is very
widely used on IBM PCs and PC-clones.  Some experts estimate that there are
50 million personal computers worldwide running MS-DOS.

Microsoft, Inc., which was contracted to write an operating system for the new
IBM PC in 1981 slapped together a minimal operating system which later grew
enormously.  Several important features of UNIX, like directories and pathnames,
input/output redirection, pipes and command shells were emulated in MS-DOS.
Unfortunately, several fundamental limitations that MS-DOS imposes on programs,
all due to the size and power of PCs in the early 1980s and now long outmoded,
make MS-DOS a poor system to program in.  But attempts to break its hegemony,
such as OS/2, have failed.  The newest wrinkle is the extreme and sudden
popularity of Microsoft Windows 3, which is a Macintosh-like GUI for use on
computers running MS-DOS.

UNIX also served as the platform for several modern distributed operating
systems, systems that can handle large networks of processors, terminals and
peripherals and can run many programs, or even many parts of the same program,
in parallel.  The most famous of these is Mach, although others like Amoeba and
SUNOS (now called Solaris) have heavily drawn on UNIX concepts.  Most of these
new systems retain the familiar C and Bourne shells for their user's comfort
while changing the internal architecture of the kernel to make it faster or
more flexible.


GNU's Not UNIX
--------------

Not everyone who works with computers thinks they should be tightly controlled
and that software should be licensed and sold.  Richard Stallman, famous
creator of the emacs editor, reacted angrily to AT&T's move to tighten its
control on UNIX by writing his own operating system, largely modeled after
UNIX but with completely new code, called GNU.  The name is a recursive
acronym.  What is GNU?  Well, GNU is Not UNIX.

Several other programmers joined Stallman to form the GNU Foundation to provide
free software, relying on user contributed software and monetary donations to
keep the effort running.  Though they haven't yet produced a complete operating
system, they have written and made available some excellent support software,
including a C and and a C++ compiler that are world-famous.


POSIX
-----

Another sign of maturity is the government's attempt to standardize UNIX.
With so many defense contractors writing software in UNIX for the government,
and using slightly different systems, the confusion and non-portability of
earlier languages and systems threatened to erode UNIX's viability.  Thus,
the government stepped in to create a Portable Operating System based on
a combination of 4.3 Berkeley UNIX and AT&T's System V release 3.  The
standard that resulted basically defined the underlying system calls and was
quite fair and usable.

POSIX promised to heal the split between the two main UNIX camps:  Berkeley
UNIX and AT&T's System V.  Unfortunately, a new split appeared when a group
of vendors (IBM, DEC, Hewlett-Packard and others) set up a consortium called
OSF, the Open Systems Foundation.  Their intent was to take the core POSIX
system and define all the other necessary stuff, such as a windowing system,
a graphical user interface, distributed computing and management environments
and other items.

AT&T moved to protect their privileged position by setting up their own
consortium, UI or UNIX International to do the same thing as OSF.  Once again
there are at least two major camps of UNIX vendors, although many vendors also
support their own variants, such as IBM's AIX, DEC's Ultrix, HP's HP-UX, and
SUN's Solaris.  Perhaps it is a tribute to UNIX that a good thing cannot be
left alone until it is tinkered with and finally ruined.


What's Past is Prologue
-----------------------

Will UNIX survive long into the future?  It is hard to tell where computers
will be ten years from now, but it is unlikely that users will want to go back
to an earlier, more confusing era in which there were too many incompatible
operating systems.  It is only too likely that UNIX will continue to serve as
the basic underlying operating system and more complex interfaces and subsystems
will be built on top of it.


Credits
-------

    1.  "An Introduction to Berkeley UNIX" by Paul Wang.

    2.  "Modern Operating Systems" by Andrew Tanenbaum.