The Birth of the UNIX System


The history of the UNIX System dates back to the late 1960s when MIT, AT&T Bell Labs, and then-computer manufacturer GE (General Electric) worked on an experimental operating system called Multics. Multics, from Multiplexed Information and Computing System, was designed to be an interactive operating system for the GE 645 mainframe computer, allowing information sharing while providing security Development met with many delays, and production versions turned out to be slow and required extensive memory For a variety of reasons, Bell Labs dropped out of the project. However, the Multics system implemented many innovative features and produced an excellent computing environment.

In 1969, Ken Thompson, one of the Bell Labs researchers involved in the Multics project, wrote a game for the GE computer called Space Travel. This game simulated the solar system and a space ship. Thompson found that the game ran jerkily on the GE machine and was costly-approximately $75 per run! With help from Dennis Ritchie, Thompson rewrote the game to run on a spare DEC PDP-7. This initial experience gave him the opportunity to write a new operating system on the PDP-7, using the structure of a file system Thompson, Ritchie, and Rudd Canaday had designed. Thompson, Ritchie, and their colleagues created a multitasking operating system, including a file system, a command interpreter, and some utilities for the PDP-7. Later, after the new operating system was running, Space Travel was revised to run under it. Many things in the UNIX System can be traced back to this simple operating system.

Because the new multitasking operating system for the PDP-7 could support two simultaneous users, it was humorously called UNICS for the Uniplexed Information and Computing System; the first use of this name is attributed to Brian Kernighan. The name was changed slightly to UNIX in 1970, and that has stuck ever since. The Computer Science Research Group wanted to continue to use the UNIX System, but on a larger machine. Ken Thompson and Dennis Ritchie managed to get a DEC PDP-11/20 in exchange for a promise of adding text processing capabilities to the UNIX System; this led to a modest degree of financial support from Bell Laboratories for the development of the UNIX System project. The UNIX operating system, with the text formatting program runoff, both written in assembly language, was ported to the PDP-11/20 in 1970. This initial text processing system, consisting of the UNIX operating system, an editor, and runoff, was adopted by the Bell Laboratories Patent Department for text processing. runoff evolved into troff, the first electronic publishing program with typesetting capability.

In 1972, the second edition of the UNIX Programmer’s Manual mentioned that there were exactly ten computers using the UNIX System, but that more were expected. In 1973, Ritchie and Thompson rewrote the kernel in the C programming language, a high-level language unlike most systems for small machines, which were generally written in assembly language. Writing the UNIX operating system in C made it much easier to maintain and to port to other machines. The UNIX System’s popularity grew because it was innovative and was written compactly in a high-level language with code that could be modified to individual preferences. AT&T did not offer the UNIX System commercially because, at that time, AT&T was not in the computer business. However, AT&T did make the UNIX System available to universities, commercial firms, and the government for a nominal cost.

UNIX System concepts continued to grow. Pipes, originally suggested by Doug McIlroy, were developed by Ken Thompson in the early 1970s. The introduction of pipes made possible the development of the UNIX philosophy, including the concept of a toolbox of utilities. Using pipes, tools can be connected, with one taking input from another utility and passing output to a third.

By 1974, the fourth edition of the UNIX System had become widely used inside Bell Laboratories. (Releases of the UNIX System produced by research groups at Bell Laboratories have traditionally been known as editions.) By 1977, the fifth and sixth editions had been released; these contained many new tools and utilities. The number of machines running the UNIX System, primarily at Bell Laboratories and universities, increased to more than 600 by 1978. The seventh edition, the direct ancestor of the UNIX operating system available today, was released in 1979.

UNIX System III, based on the seventh edition, became AT&T’s first commercial release of the UNIX System in 1982. However, after System III was released, AT&T, through its Western Electric manufacturing subsidiary, continued to sell versions of the UNIX System. UNIX System III, the various research editions, and experimental versions were distributed to colleagues at universities and other research laboratories. It was often impossible for a computer scientist or developer to know whether a particular feature was part of the mainstream UNIX System or just part of one of the variants that might fade away. To foster the success of UNIX, AT&T needed to clarify what constituted mainstream UNIX, which they did when they released UNIX System V, discussed in the next subsection.

UNIX System V

To eliminate the confusion over varieties of the UNIX System, AT&T introduced UNIX System V Release 1 in 1983. (UNIX System IV existed only as an internal AT&T release.) With UNIX System V Release 1, for the first time, AT&T promised to maintain upward compatibility in its future releases of the UNIX System. This meant that programs built on Release 1 would continue to work with future releases of System V.

Release 1 incorporated some features from the version of the UNIX System developed at the University of California, Berkeley, including the screen editor vi and the screenhandling library curses. AT&T offered UNIX System V Release 2 in 1985. Release 2 introduced protection of files during power outages and crashes, locking of files and records for exclusive use by a program, job control features, and enhanced system administration. Release 2.1 introduced two additional features of interest to programmers: demand paging, which allows processes to run that require more memory than is physically available, and enhanced file and record locking.

In 1987, AT&T introduced UNIX System V Release 3.0; it included a simple, consistent approach to networking. These capabilities include STREAMS, used to build networking software, the Remote File System, used for file sharing across networks, and the Transport Level Interface (TLI), used to build applications that use networking. Release 3.1 made UNIX System V adaptable internationally, by supporting wider character sets and date and time formats. It also provided for several important performance enhancements for memory use and for backup and recovery of files. Release 3.2 provided enhanced system security, including displaying a user’s last login time, recording unsuccessful login attempts, and a shadow password file that prevents users from reading encrypted passwords. Release 3.2 also introduced the Framed Access Command Environment (FACE), which provides a menu-oriented user interface.

Release 4 unified various versions of UNIX that were developed inside and outside AT&T, including the BSD System, the SunOS, and XENIX, each discussed later in this chapter. These variants were all merged into UNIX System V Release 4. UNIX System V Release 4 met its goal of providing a single UNIX System environment, meeting the needs of a broad array of computer users. Because of this, SVR4 has served as the basis for much of the further evolution of UNIX.

After releasing UNIX System V Release 4, AT&T split off its UNIX System Laboratories (USL) as a separate subsidiary AT&T held a majority stake in USL, selling off portions of USL to other companies. USL developed UNIX System V Release 4.2, also known as Destiny, to address the market for running UNIX on the desktop. Release 4.2 included a graphical user interface that helps users manage their desktop environment and simplifies many administrative tasks.

In July 1993, AT&T sold its UNIX System Laboratories to Novell. Companies competing with Novell in the UNIX market, including the Santa Cruz Operation (SCO) and Sun Microsystems, objected to Novell’s control of UNIX System V; they felt that this control would give Novell an advantage over competing products in the UNIX marketplace.

To counter this perception, in October 1993, Novell transferred trademark rights to the UNIX operating system to X/Open (which is now part of the Open Group-discussed later in this chapter). Under this agreement, any company could use the name UNIX for an operating system, as long as the operating system complied with X/Open’s specifications, with a royalty fee going to X/Open. Novell continued to license System V Release 4 source code to other companies, either taking royalty payments or making a lumpsum sale. Novell also developed its own version of System V Release 4, called UnixWare.

In 1995, Novell sold its ownership of UNIX System V Release 4 and its version of UNIX System V Release 4, UnixWare, to the Santa Cruz Operation. SCO became the owner of the UNIX System V Release 4 source code and continued the development of UNIX System V Release 4 (and in 1997 introduced UNIX System V Release 5 under the name SCO UnixWare 7-see later in this chapter for more information). Unlike UNIX System V Release 4, which was licensed by many computer companies, this newer release of UNIX System V was not licensed by other computer companies. In 2000 SCO sold the rights to its UnixWare operating system, including its ownership of the source code for UNIX System V, as well as parts of its company, to Caldera Systems, a company whose original product was a distribution of Linux (see later in this chapter of a discussion of Linux). Caldera later changed its name to the SCO Group. (The old SCO company had changed the name to the part of its company not sold to Caldera to Tarantella.) The SCO Group (the company formerly called Caldera) has instituted some extremely controversial legal actions asserting its intellectual property rights from its ownership of the UNIX System V source code. These legal actions (discussed later in this chapter) have caused uproar in the UNIX/Linux communities, and the ultimate disposition of these legal actions is still up in the air.

The Berkeley Software Distribution (BSD)

Many important innovations to UNIX have been made at the University of California, Berkeley. Some of these enhancements had been made part of UNIX System V in earlier releases, and many more were introduced in UNIX System V Release 4. Furthermore, several important UNIX variants are primarily based on earlier versions of UNIX developed at the University of California, Berkeley.

U.C. Berkeley became involved with UNIX in 1974, starting with the fourth edition. The development of Berkeley’s version of UNIX was fostered by Ken Thompson’s 1975 sabbatical at the Department of Computer Science. While at Berkeley, Thompson ported the sixth edition to a PDP-11/70, making UNIX available to a large number of users. Graduate students Bill Joy and Chuck Haley did much of the work on the Berkeley version. They put together an editor called ex and produced a Pascal compiler. Joy put together a package that he called the “Berkeley Software Distribution.” He also made many other valuable innovations, including the C shell and the screen-oriented editor vi-an expansion of ex. In 1978, the Second Berkeley Software Distribution was made; this was abbreviated as 2BSD. In 1979, 3BSD was distributed; it was based on 2BSD and the seventh edition, providing virtual memory features that allowed programs larger than available memory to run. 3BSD was developed to run on the DEC VAX-11/780.

In the late 1970s, the United States Department of Defense’s Advanced Research Projects Agency (DARPA) decided to base their universal computing environment on UNIX. DARPA decided that the development of their version of UNIX should be carried out at Berkeley Consequently, DARPA provided funding for 4BSD. In 1983, 4.1BSD was released; it contained performance enhancements. The 4.2BSD operating systems, also released in 1983, introduced networking features, including TCP/IP networking, which can be used for file transfer and remote login, and a new file system that sped access to files. Release 4.3BSD came out in 1987, with minor changes to 4.2BSD.

Many computer vendors have used the BSD System as a foundation for the development of their variants of UNIX. One of the most important of these variants is the Sun Operating System (SunOS, which has evolved into Solaris, discussed later in this chapter), developed by Sun Microsystems, a company cofounded by Joy SunOS added many features to 4.2BSD, including networking features such as the Network File System (NFS). The SunOS was one of the UNIX variants that were merged to create UNIX System V Release 4.

Although the BSD System played an important role in the creation of UNIX System V Release 4, it continued to evolve independently The latest version of BSD was 4.4 BSD, which included a wide variety of enhancements, many involving networking capabilities. Furthermore, both the source code and the binary code for a variant of 4.4BSD, known as 4.4 BSD-Lite, were freely distributed, encumbered by licenses for earlier AT&T developed versions of UNIX.

Many UNIX variants are based on BSD releases, including 386BSD, a free version of BSD developed in the early 1990s for the Intel 80836 processor. FreeBSD, a widely used free UNIX variant, is based on 386BSD and 4.4 BSD-Lite. FreeBSD, and several other important UNIX variants based on BSD, including NetBSD and OpenBSD, are discussed later in this chapter.

XENIX

In 1980, Microsoft introduced XENIX, a variant of UNIX designed to run on microcomputers. The introduction of XENIX brought UNIX capabilities to desktop machines; previously these capabilities were available only on larger computers. XENIX was originally based on the Seventh Edition, with some utilities borrowed from 4.1BSD. In Release 3.0 of XENIX, Microsoft incorporated new features from AT&T’s UNIX System III, and in 1985 XENIX was moved to a UNIX System V base.

In 1987 XENIX was ported to 80386-based machines by the Santa Cruz Operation, a company that had worked with Microsoft on XENIX development. In 1987, Microsoft and AT&T began joint development efforts to merge XENIX with UNIX System V, and they accomplished this in UNIX System V Release 3.2. This effort provided a unified version of the UNIX System that runs on systems ranging from desktop personal computers to supercomputers. Of all the early variants of UNIX, the XENIX System achieved the largest installed base of machines. This position was only surpassed by Linux in 2000, the widely used free variant of UNIX which we next discuss.




UNIX. The Complete Reference
UNIX: The Complete Reference, Second Edition (Complete Reference Series)
ISBN: 0072263369
EAN: 2147483647
Year: 2006
Pages: 316

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net