| We knew from
experience that the essence of communal computing, as supplied by remote-access,
time-shared machines, is not just to type programs into a terminal instead of
a keypunch, but to encourage close communication.
- Dennis Ritchie, The Evolution
of the Unix Time-Sharing System, 1996. |
Dozens of different operating
systems have been developed over the years, but only Unix has grown in so many
varieties. There are three main branches. Four factors have
facilitated this growth:
- Portability.
It was the first widely-used operating system written in a high level programming
language, C, making it easier to port to different hardware architectures.
- Modifiability. Since
it was written in C, modifications and enhancements are relatively easier to
make.
- Free
open source software.
The original was developed at AT&T Bell Labs, a non-profit research institution,
so the
source code was permitted to be published and shared with others.
- Open system. Research
scientists designed it as an open, modular system, with a host of utilities and
features to assist with the development and integration of new applications.
The
different versions of Unix fall into the following three branches, described in
more detail below:
System
V. In the late 1970's, a few companies started to develop products based on
the AT&T Unix code. In 1979, AT&T announced that they intended to commercialize
Unix themselves, and established Unix System Laboratories (USL) to develop a supportable
product. In 1983, USL published the first release of the new commercial baseline,
called System V Release 1 (SVR1).
In
1982, AT&T agreed to terms for a consent decree with the US
Government that ended their monopoly control over telephone access, but also
allowed them
to
get into
the
computer business, so they began to market Unix on a commercial scale. USL released
SVR2 in 1984, and SVR3 in 1987, which they sold on their own computers, as well
as licensed to other vendors who customized and then resold it with their own
hardware.
In 1987, AT&T entered an alliance to develop a standard Unix
version with Sun Microsystems, the leading vendor
of the BSD Unix variant. In 1989, USL released SVR4, which integrated the System
V and BSD Unix baselines.
The AT&T alliance with Sun alarmed many of
the other Unix vendors, who then formed the Open System Foundation as described
below. AT&T then established a rival group called
Unix International. However, despite considerable effort, AT&T didn't have
much success in the computer marketplace, and they finally sold their Unix business
to Novell in 1993. Novell
then handed over the Unix trademark and System V source code to the X/Open group.
In December, 1993, Novell released the last System V Unix, a multiprocessor version
called SVR4.2MP.
In 1996, the Santa Cruz Operation (SCO) bought the Unix
business from Novell in order to integrate System V with their leading Unix version
for the Intel personal computer. SCO, and maintained the System V baseline
for several years until making it available for free.
BSD Unix. In November, 1973, Ken
Thompson and Dennis Ritchie presented
a paper on Unix at the Symposium on Operating System Principles at Purdue University,
where Bob Fabry from the University of California at Berkeley (UCB) heard about
the work. Fabry requested a copy of the system, received Unix edition 4 in January,
1974, and a group of UCB computer scientists and mathematicians began working
with the system.
In 1975, graduate students Bill Joy and Chuck Haley started
working with the Unix system. They wrote a line editor called ex
and a Pascal language compiler for the system, which Joy released in 1977 as the
first Berkeley Software Distribution (1BSD). Joy released 2BSD in
1978, which updated the Pascal compiler and included two utilities he
had written -- a full screen wysiwyg text editor called vi,
and a terminal interfacing interpreter called termcap.
In 1979, DARPA decided to consolidate
on one operating system to reduce the cost of supporting different systems at
their various sites, and to provide a common foundation to enable sharing of software.
They selected Unix to be the standard, among other reasons because it was easily
portable between different hardware computer systems. In the fall of 1979, Fabry
made a proposal to DARPA to build a Unix version for DoD based on the forthcoming
3BSD release.
In 1980, DARPA awarded a contract to UCB to create a DoD
version of Unix. Fabry then set up an organization called the Computer Systems
Research Group (CSRG), with Joy as project leader, to work on what would become
BSD
Unix. The first version was called 4.1BSD, and released in 1981. The CSRG
continued on to integrate many new capabilities into Unix, such as networking,
virtual memory, and a fast file system. The 4.2BSD release in 1984 included TCP/IP
networking, and the 4.3BSD release in 1986 included a Domain
Name Server, expanding the number of sites able to implement Internet
networking.
The final release was 4.4BSD in 1993.
Up until 1988, use of
BSD Unix required an AT&T license, since each release included AT&T source
code. However, the licenses began to increase in cost, the mechanism was inconvenient,
and some vendors only wanted the BSD originated components. Therefore, in June,
1989, UCB published Networking Release 1 containing their TCP/IP networking system
for the first time without any AT&T code, and released under an open license
that allowed free source code modification and distribution.
In one of
the first major efforts at open system distributed development, Keith Bostic then
led an initiative to get people to rewrite the hundreds of AT&T utilities
from open specifications. By the end of 1991, a completely new Unix had been developed
that didn't include any AT&T code, which was then released as Networking Release
2 under the same open license.
In 1991, a group of former CSRG members
established
a company called BSDI to market a commercial
version of Unix based on Networking Release 2. AT&T then sued BSDI and UCB
for disclosing trade secrets and infringing copyrights. UCB then counter-sued
AT&T for not acknowledging the source of a lot of UCB code in the System V
baseline. Finally a settlement was reached which required some minor code-tweaking
to the BSD source, which was then released as 4.4BSD-Lite under UCB's open software
license. This version was then used as the baseline for development of several
other free software versions, including FreeBSD,
NetBSD, and OpenBSD.
Open systems. By 1982, the minicomputer industry
was beginning to grow. Several computer companies began to develop commercial
versions of Unix, some based on System V, and some on BSD Unix. Each vendor differentiated
their system by adding unique features, but also recognized that they had a common
interest in preventing AT&T from monopolizing the market. Several efforts
were made in the in 1980's to develop open Unix specifications and standards,
such as by the IEEE POSIX group and a European group of companies called X/Open,
with some limited success.
In 1988, in response to AT&T's alliance with
Sun described above, several vendors formed a group
called the Open System Foundation to develop a new Unix operating system from
open specifications and end their dependence on the AT&T code. The OSF/1 system
was released in 1991, but it wasn't as mature as the established systems, so there
was only slow adoption some of its components by AT&T's biggest competitors
like DEC and IBM.
In 1993, a lot of the fight went out of the Unix wars
when AT&T left the computer business and sold System V to Novell, who then
assigned the rights to Unix to X/Open. In 1996, OSF and X/Open merged into The
Open Group, which still promotes open system standards today.
In the
late 1990's, interest began to coalesce around Linux,
the first really open Unix system released under the free software GNU
license, and which might finally unify the Unix family after three decades
of development.