Unix
UNIX (or Unix) is a portable computer operating system originally developed
by a group of AT&T Bell Labs employees including Ken Thompson, Dennis
Ritchie and Douglas McIlroy.
History
The early development of what is believed to be one of the most influential
operating systems in history was unique, and nobody would have predicted the
growth of UNIX after its first incarnation.
In the late 1960s, the Massachusetts Institute of Technology, AT&T Bell
Labs, and General Electric worked on an experimental operating system called
Multics (Multiplexed Information and Computing System), which was designed
to run on the GE-645 mainframe computer. The aim was the creation of an
interactive operating system with many novel capabilities, including
enhanced security. The project did develop production releases, but
initially these releases turned out to have poor performance.
AT&T Bell Labs pulled out and deployed its resources elsewhere. One of the
developers on the Bell Labs team, Ken Thompson, continued to develop for the
GE-645 mainframe, and wrote a game for the computer called Space Travel.
However he found that the game was slow on the GE machine and was costly,
apparently costing $75 per go.
Thompson thus re-wrote the game with help from Dennis Ritchie to run on the
DEC PDP-7, written in PDP-7 assembly. This experience, combined with his
work on the Multics project, led Thompson to start a new operating system
for the DEC PDP-7. Thompson and Ritchie led a team of developers, including
Rudd Canaday, at Bell Labs developing a file system as well as the new
multi-tasking operating system itself. They included a command interpreter
and some small utility programs as well. This project was called UNICS,
short for Uniplexed Information and Computing System, because it could
support two simultaneous users. The name has been attributed to Brian
Kernighan, and was a hack on Multics. The name was later changed to UNIX,
and thus a legacy was born.
Up until this point there had been no financial support from Bell Labs,
until the Computer Science Research Group wanted to use UNIX on a much
larger machine than the PDP-7. Thompson and Ritchie managed to trade the
promise of adding text processing capabilities to UNIX for a PDP-11/20
machine, and this itself led to some financial support from Bell. For the
first time in 1970, the UNIX Operating System was officially named and ran
on the PDP-11/20. It added a text formatting program called runoff and a
text editor. All three were written in the PDP-11/20 assembly language. This
initial "text processing system", made up of UNIX, runoff and the editor,
was used by Bell Labs for text processing of patent applications at Bell.
Runoff soon evolved into Troff, the first electronic publishing program with
a full typesetting capability. The UNIX Programmer's Manual was published on
November 3, 1971.
In 1973 the decision was made to re-write UNIX in the C programming
language. The change meant that UNIX could later easily be modified to work
on other machines (thus portable) and other variations could be created by
other developers. The code was now more concise and compact, leading to an
acceleration in the development of UNIX. AT&T made UNIX available to
universities and commercial firms, as well as the United States government
under licenses.
Development expanded, with Versions 4, 5 and 6 being released by 1977. These
versions added pipes, leading to the development of a more modular
code-base, increasing development speed still further. By 1978 over 600
machines were running UNIX in some form. Version 7, the last non-commercial
version, was released in 1979.
AT&T now developed UNIX System III, based on Version 7, as a commercial
version and sold the product directly, the first version launching in 1982.
However its subsidiary, Western Electric, continued to sell older UNIX
versions, based on the UNIX System (Versions 1 to 7). To end the confusion
between all the differing versions, AT&T combined various versions developed
at other universities and companies into UNIX System V Release 1. This
introduced features such as the Vi editor and curses from BSD UNIX (the
Berkeley Software Distribution) developed at the University of California,
Berkeley (UCB). This also included support for the DEC VAX machine.
The new commercial UNIX releases however no longer included the source code
and so UCB continued to develop BSD UNIX as an alternative to UNIX System
III and V, originally on the PDP-11 architecture (the BSD 2.x releases,
ending with 2.10). Perhaps the most important aspect of the BSD development
effort was the addition of TCP/IP network code to the mainstream UNIX
kernel. The BSD effort produced 8 significant releases that contained
network code: 4.1c, 4.2, 4.3, 4.3-Tahoe ("Tahoe" being the nickname of the
CCI Power 6/32 architecture that was the first non-DEC port of the BSD
kernel), 4.3-Reno (to match the "Tahoe" naming, and that the release was
somewhat of a gamble), Net2, 4.4, and 4.4-lite. The network code found in
these releases is the ancestor of almost all TCP/IP network code in use
today, including code that was later released in AT&T System V UNIX and
Microsoft Windows.
Other companies began to offer commercial version of the UNIX System for
their own mini-computers and workstations. Some chose System V as the base
for their own version, others choosing BSD instead. Two of the leading
developers of BSD, Bill Joy and Chuck Haley went on to create SunOS, and
eventually founding Sun Microsystems to distribute the operating system.
In 1991, a group of BSD's developers (Donn Seeley, Mike Karels, Bill Jolitz,
and Trent Hein) left the University of California to found Berkeley Software
Design, Inc (BSDI). BSDI was the first company to produce a fully-functional
commercial version of BSD UNIX for the inexpensive and ubiquitous Intel
platform, which started a wave of interest in the use of inexpensive
hardware for production computing. Shortly after it was founded, Bill Jolitz
left BSDI to pursue distribution of 386BSD, commonly identified as the
freeware ancestor of FreeBSD, OpenBSD, and NetBSD.
AT&T added features such as file locking, system administration, job
control, streams, the Remote File System and TLI into UNIX System V. However
AT&T decided in 1987-1989 to merge Xenix (Microsoft's development of UNIX
for x86-PC's), BSD, SunOS and System V into System V Release 4 (SVR4). This
new release solidifed all the previous features into one package, and spelt
the end of competing versions.
By 1993 most of the commercial vendors of UNIX had changed their commercial
variants of UNIX to be based upon SVR4, and many BSD features were added on
top.
Shortly after UNIX System V Release 4 was produced AT&T sold all its rights
to UNIX to Novell. Novell tried to use this to battle against Microsoft's
Windows NT, but their core markets suffered considerably, forcing Novell to
sell SVR4 rights to the X/OPEN Consortium, which was an industry group to
define a "UNIX Standard". Finally X/OPEN and OSF/1 (a competitor to the SVR4
standardisation) merged, creating the Open Group. Various standards by the
Open Group now define what is and what isn't a "UNIX" operating system.
The actual code for UNIX however was transferred to SCO, which at this time
is running a huge legal campaign against all the users of Linux, believing
that Linux is contaminated with code actually owned by SCO. (See the SCO v.
IBM Linux lawsuit) SCO is now offering licenses to all companies and
individuals wishing to use operating systems with code based on UNIX System
V Release 4 (and their own release, UNIX System 4, Release 5).
Standards
Beginning in the late 1980's, an open operating system standardization
effort known as POSIX provided a common baseline for all operating systems;
IEEE based POSIX around the structure of the UNIX system. A similar standard
is the Single UNIX Specification of standards, which is available for free.
Directory structure is defined by the Filesystem Hierarchy Standard.
Free UNIX-like operating systems
In 1983, Richard Stallman announced Project GNU, an ambitious effort to
create a freely redistributable UNIX-like system. The software developed in
this project -- such as GNU Emacs and GCC -- has gone on to play central
roles in other free UNIX systems as well.
When in 1991 Linus Torvalds began to put forth the Linux kernel and gather
contributors, the GNU tools were an obvious match. When combined with the
Linux kernel, the GNU software formed the foundation for a POSIX-conformant
operating system known as GNU/Linux -- or just Linux. Distributions of the
kernel, GNU, and additional software -- such as Red Hat Linux and Debian
GNU/Linux -- have become popular both with hobbyists and in business.
Yet GNU and Linux were not alone. With the 1994 settlement of a lawsuit
brought UNIX Systems Laboratories against the University of California and
Berkeley Software Design Inc. (BSDI), BSD UNIX experienced a renewal. The
lawsuit clarified that Berkeley had the right to distribute BSD UNIX -- for
free, if it so desired. Soon, the BSD release was being developed in several
different directions, becoming the projects now known as FreeBSD, NetBSD,
and OpenBSD. Although Linux is better-known, FreeBSD has become almost a
de-facto standard for shared Web hosting, and OpenBSD is renowned for its
security.
In an effort towards compatibility, in year? several UNIX system vendors
agreed on SVR4's ELF format as standard for binary and object code files.
The common format allows substantial binary compatibility among UNIX systems
operating on the same hardware: thus, with compatible libraries, FreeBSD can
run software compiled for Linux.
Linux and the BSD kin are now rapidly occupying the market traditionally
occupied by proprietary UNIX operating systems, as well as expanding into
new markets such as the consumer desktop and mobile and embedded devices. A
measure of this success may be seen when Apple sought out a new foundation
for its Macintosh operating system: it chose a freely redistributable core
operating system based on the BSD family. The deployment of BSD UNIX in Mac
OS X makes it one of the most widely-used UNIX systems on the market.
Impact
The UNIX system had a great impact on the surrounding community. Some
consider it the most influential operating system in changing other
proprietary operating systems, leading UNIX to be called "the most important
operating system you may never use."
It led the way in operating systems that were written in high level language
as opposed to assembler (assembler was vogue at the time).
It had a drastically simplified file model compared to many contemporary
operating systems. The file system hierarchy contained machine services and
devices (such as printers, terminals, or disk drives), providing a uniform
and convenient way for applications to access features of the hardware.
The recursive file system with the ability to create arbitrarily-nested
subdirectories was a major innovation, first implemented by Multics. Other
common operating systems of the era had ways to divide a storage device into
multiple directories or sections, but they were a fixed number of levels and
often only one level. The major proprietary operating systems all added
recursive subdirectory capabilities patterned after UNIX. DEC's RSTS
programmer/project hierarchy evolved into VMS directories, CP/M's volumes
evolved into MS-DOS 2.0+ subdirectories, and HP's MPE group.account
hierarchy and IBM's System 36 and OS/400 library systems were folded into
broader POSIX file systems.
The command prompt with which users interacted was just an ordinary
user-level process, a UNIX shell. The shell itself was novel in that the
same language was used for interactive commands and for scripting the system
(there was no separate job control language, like IBM's JCL for example).
Also, the fact that, unlike on other early systems, the shell and OS
commands were "just another program", enabled each user to choose his/her
own shell (and even to write his or her own, if the user in question were
able to program). Finally, new commands could be added without recompiling
the shell.
It popularised a syntax for regular expressions that found much wider use.
The UNIX programming interface became the basis for a standard operating
system interface (POSIX, see above).
The C programming language, now ubiquitous in systems and applications
programming, originated under UNIX. Early UNIX developers were important in
bringing the theory of software modularity and re-use into engineering
practice.
UNIX provided early access to the TCP/IP networking protocol, which later
resulted in the Internet explosion of world-wide real-time connectivity.
Over time, the leading developers of UNIX (and programs that ran on it)
developed a set of cultural norms for developing software, norms which
became as important and influential as the technology of UNIX itself. See
UNIX philosophy for more information.
Branding
"UNIX" is a trademark of The Open Group and, like all trademarks, should be
used as an adjective followed by a generic term such as "system." The term
refers more to a class of operating systems than to a specific
implementation of an operating system; those operating systems which meet
The Open Group's Single UNIX Specification should be able to bear the "UNIX"
and UNIX98 trademarks today. UNIX systems include AIX, HP-UX, IRIX, Solaris,
Tru64, A/UX and a part of z/OS. In practice, the term, especially when
written as "UN*X", "*NIX", or "*N?X" is applied to a number of other
multiuser POSIX-based systems such as GNU/Linux, Mac OS X, FreeBSD, NetBSD,
OpenBSD that do not seek UNIX branding because the royalties would be too
expensive for a product marketed to consumers or freely available over the
Internet.
The term "Unix" is also used, and in fact was the original capitalisation,
but the name UNIX stuck because, in the words of Dennis Ritchie "[when
presenting the original UNIX paper to the third Operating Systems Symposium
of the American Association for Computing Machinery], we had just acquired a
new typesetter and were intoxicated by being able to produce small caps"
(quoted from The Jargon File, version 4.3.3, 20 September 2002).
This content from Wikipedia is licensed under the GNU Free Documentation License.
|