History of Unix

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Unix
Unix history-simple.svg
Evolution of Unix and Unix-like systems
Company / developer Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna at Bell Labs
Written in C and Assembly language
OS family Unix
Working state Current
Source model Historically closed source, now some Unix projects (BSD family and Illumos) are open sourced.
Initial release 1973; 41 years ago (1973)
Available in English
Kernel type Monolithic
Default user interface Command-line interface & Graphical (X Window System)
License Proprietary
Official website unix.org
Main article: Unix

The history of Unix dates back to the mid-1960s when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric were developing an experimental time sharing operating system called Multics for the GE-645 mainframe.[1] Multics introduced many innovations, but had many problems.

Bell Labs, frustrated by the size and complexity of Multics but not the aims, slowly pulled out of the project. Their last researchers to leave Multics, Ken Thompson, Dennis Ritchie, Doug McIlroy, and Joe Ossanna, decided to redo the work on a much smaller scale.[2] In 1979, Dennis Ritchie described their vision for Unix:[2]

What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form. 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.

While Ken Thompson still had access to the Multics environment, he wrote simulations for the new file and paging system on it. He also programmed a game called Space Travel, but the game needed a more efficient and less expensive machine to run on, and eventually he found a little-used PDP-7 at Bell Labs.[3] On this PDP-7, in 1969, a team of Bell Labs researchers led by Thompson and Ritchie, including Rudd Canaday, developed a hierarchical file system, the concepts of computer processes and device files, a command-line interpreter, and some small utility programs.[2]

1970s[edit]

Ken Thompson (sitting) and Dennis Ritchie working together at a PDP-11
Version 7 Unix for the PDP-11, running in SIMH

In 1970, Peter Neumann coined the project name UNICS (UNiplexed Information and Computing Service) as a pun on Multics (Multiplexed Information and Computer Services): the new operating system was an emasculated Multics.[4]

Up to that point, there had been no financial support from Bell Labs. When the Computer Science Research Group wanted to use Unix on a machine much larger 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. This 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. A text formatting program called roff and a text editor were added. All three were written in PDP-11/20 assembly language. Bell Labs used this initial text processing system, consisting of Unix, roff, and the editor, for text processing of patent applications. Roff soon evolved into troff, the first electronic publishing program with full typesetting capability. The UNIX Programmer's Manual was published on 3 November 1971.

The first commercial instance of Unix worldwide was installed in early 1972 at New York Telephone Co. Systems Development Center, under the direction of Dan Gielan.[citation needed] An Operational Support System was developed entirely in assembly language by Neil Groundwater that survived nearly 7 years, without change.[citation needed]

In 1972, Unix was rewritten in the C programming language, contrary to the general notion at the time "that something as complex as an operating system, which must deal with time-critical events, has to be written exclusively in assembly language".[5] The migration from assembly to the higher-level language C, resulted in much more portable software, requiring only a relatively small amount of machine-dependent code to be replaced when porting Unix to other computing platforms.

Under a 1956 consent decree in settlement of an antitrust case, AT&T (the parent organization of Bell Labs) had been forbidden from entering the computer business[citation needed]. Unix could not, therefore, be turned into a product. Indeed, under the terms of the decree, Bell Labs was required to license its non-telephone technology to anyone who asked. Ken Thompson quietly began answering requests by shipping out tapes and disks, each accompanied by — according to legend — a note signed, "Love, Ken”.[6]

AT&T made Unix available to universities and commercial firms, as well as the United States government, under licenses. The licenses included all source code including the machine-dependent parts of the kernel, which were written in PDP-11 assembly language. Copies of the annotated Unix kernel sources circulated widely in the late 1970s in the form of a much-copied book by John Lions of the University of New South Wales, the Lions' Commentary on UNIX 6th Edition, with Source Code, which led to considerable use of Unix as an educational example.

Versions of the Unix system were determined by editions of its user manuals. For example, "Fifth Edition UNIX" and "UNIX Version 5" have both been used to designate the same version. Development expanded, with Versions 4, 5, and 6 being released by 1975. These versions added the concept of pipes, which led to the development of a more modular code base, and quicker development cycles. Version 5, and especially Version 6, led to a plethora of different Unix versions both inside and outside Bell Labs, including PWB/UNIX and the first commercial Unix, IS/1. As more of Unix was rewritten in C, portability also increased. A group at the University of Wollongong ported Unix to the Interdata 7/32. Bell Labs developed several ports for research purposes and internal use at AT&T. Target machines included an Intel 8086-based computer (with custom-built MMU) and the UNIVAC 1100.[7]

In May 1975, ARPA documented the benefits of the Unix time-sharing system which "presents several interesting capabilities" as an ARPA network mini-host in RFC 681.

In 1978, UNIX/32V was released for DEC's then new VAX system. By this time, over 600 machines were running Unix in some form. Version 7 Unix, the last version of Research Unix to be released widely, was released in 1979. In Version 7, the number of system calls was only around 50, although later Unix and Unix-like systems would add many more later:[8]

Version 7 of the Research UNIX System provided about 50 system calls, 4.4BSD provided about 110, and SVR4 had around 120. The exact number of system calls varies depending on the operating system version. More recent systems have seen incredible growth in the number of supported system calls. Linux 3.2.0 has 380 system calls and FreeBSD 8.0 has over 450.

Research Unix versions 8, 9 and 10 were developed through the 1980s but were only released to a few universities, though they did generate papers describing the new work. This research led to the development of Plan 9 from Bell Labs, a new portable distributed system.

1980s[edit]

The DEC VT100 terminal, widely used for Unix timesharing
USENIX 1984 Summer speakers. USENIX was founded in 1975, focusing primarily on the study and development of Unix and similar systems
The X Window System with twm and a number of core X applications

For internal use, Bell had developed multiple versions of Unix, such as CB UNIX (with improved support for databases) and PWB/UNIX, the "Programmer's Workbench", aimed at large groups of programmers. It advertised the latter version, as well as 32V and V7, stating that "more than 800 systems are already in use outside the Bell System" in 1980,[9] and "more than 2000" the following year.[10]

AT&T licensed UNIX System III, based largely on Version 7, for commercial use, the first version launching in 1982. This also included support for the VAX. AT&T continued to issue licenses for older Unix versions. To end the confusion between all its differing internal versions, AT&T combined them into UNIX System V Release 1. This introduced a few features such as the vi editor and curses from the Berkeley Software Distribution of Unix developed at the University of California, Berkeley. This also included support for the Western Electric 3B series of machines. AT&T provided support for System III and System V through the Unix Support Group (USG), and these systems were sometimes referred to as USG Unix.[citation needed]

In 1983, the U.S. Department of Justice settled its second antitrust case against AT&T and broke up the Bell System. This relieved AT&T of the 1956 consent decree that had prevented them from turning Unix into a product. AT&T promptly rushed to commercialize Unix System V, a move that nearly killed Unix.[6] The GNU Project was founded in the same year by Richard Stallman.

Since the newer commercial UNIX licensing terms were not as favorable for academic use as the older versions of Unix, the Berkeley researchers continued to develop BSD Unix as an alternative to UNIX System III and V. Many contributions to Unix first appeared in BSD releases, notably the C shell with job control (modelled on ITS). 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 several significant releases that contained network code: 4.1cBSD, 4.2BSD, 4.3BSD, 4.3BSD-Tahoe ("Tahoe" being the nickname of the Computer Consoles Inc. Power 6/32 architecture that was the first non-DEC release of the BSD kernel), Net/1, 4.3BSD-Reno (to match the "Tahoe" naming, and that the release was something of a gamble), Net/2, 4.4BSD, and 4.4BSD-lite. The network code found in these releases is the ancestor of much TCP/IP network code in use today, including code that was later released in AT&T System V UNIX and early versions of Microsoft Windows. The accompanying Berkeley sockets API is a de facto standard for networking APIs and has been copied on many platforms.

Other companies began to offer commercial versions of the UNIX System for their own mini-computers and workstations. Many of these new Unix flavors were developed from the System V base under a license from AT&T; others were based on BSD. One of the leading developers of BSD, Bill Joy, went on to co-found Sun Microsystems in 1982 and created SunOS for their workstation computers. In 1980, Microsoft announced its first Unix for 16-bit microcomputers called Xenix, which the Santa Cruz Operation (SCO) ported to the Intel 8086 processor in 1983, and eventually branched Xenix into SCO UNIX in 1989.

During this period, industry observers expected that UNIX, with its portability and rich capabilities, was likely to become the industry standard operating system for microcomputers.[11] In 1984, several companies established the X/Open consortium with the goal of creating an open system specification based on UNIX. Despite early progress, the standardization effort collapsed into the "Unix wars", with various companies forming rival standardization groups. The most successful Unix-related standard turned out to be the IEEE's POSIX specification, designed as a compromise API readily implemented on both BSD and System V platforms, published in 1988 and soon mandated by the United States government for many of its own systems.

The increasing power of microcomputers in the late 1980s, and in particular the introduction of the 32-bit Intel 80386, caused Unix to "explode" in popularity for business applications; Xenix, 386/ix and other Unix systems for the IBM PC compatible market competed with OS/2 in terms of networking, multiuser support, multitasking and MS-DOS compatibility.[12]

AT&T added various features into UNIX System V, such as file locking, system administration, STREAMS, new forms of IPC, the Remote File System and TLI. AT&T cooperated with Sun Microsystems and between 1987 and 1989, merged features from Xenix, BSD, SunOS, and System V into System V Release 4 (SVR4), independently of X/Open. This new release consolidated all the previous features into one package, and heralded the end of competing versions. It also increased licensing fees.[citation needed]

During this time a number of vendors including Digital Equipment, Sun, Addamax and others began building trusted versions of UNIX for high security applications, mostly designed for military and law enforcement applications.

1990s[edit]

Unix workstations of the 90s, including those made by DEC, HP, SGI, and Sun
The Common Desktop Environment (CDE) was widely used on Unix workstations

In 1990, the Open Software Foundation released OSF/1, their standard Unix implementation, based on Mach and BSD. The Foundation was started in 1988 and was funded by several Unix-related companies that wished to counteract the collaboration of AT&T and Sun on SVR4. Subsequently, AT&T and another group of licensees formed the group UNIX International in order to counteract OSF. This escalation of conflict between competing vendors again gave rise to the phrase Unix wars.

In 1991, a group of BSD developers (Donn Seeley, Mike Karels, Bill Jolitz, and Trent Hein) left the University of California to found Berkeley Software Design, Inc (BSDI). BSDI produced a fully functional commercial version of BSD Unix for the inexpensive and ubiquitous Intel platform. Shortly after it was founded, Bill Jolitz left BSDI to pursue distribution of 386BSD, the free software ancestor of FreeBSD, OpenBSD, and NetBSD.

By 1993, most commercial vendors had changed their variants of Unix to be based on System V with many BSD features added. The creation of the Common Open Software Environment (COSE) initiative that year, by the major players in Unix, marked the end of the most notorious phase of the Unix wars, and was followed by the merger of UI and OSF in 1994. The new combined entity retained the OSF name and stopped work on OSF/1. By that time the only vendor using it was Digital Equipment Corporation, which continued its own development, rebranding their product Digital UNIX in early 1995.

Shortly after UNIX System V Release 4 was produced, AT&T sold all its rights to UNIX to Novell. Dennis Ritchie likened this sale to the Biblical story of Esau selling his birthright for the mess of pottage.[13] Novell developed its own version, UnixWare, merging its NetWare with UNIX System V Release 4. Novell tried to use this as a marketing tool against Windows NT, but their core markets suffered considerably.

In 1993, Novell decided to transfer the UNIX trademark and certification rights to the X/Open Consortium.[14] In 1996, X/Open merged with OSF, creating the Open Group. Various standards by the Open Group now define what is and what is not a UNIX operating system, notably the post-1998 Single UNIX Specification.

In 1995, the business of administering and supporting the existing UNIX licenses, plus rights to further develop the System V code base, were sold by Novell to the Santa Cruz Operation.[15] Whether Novell also sold the copyrights is currently the subject of litigation (see below).

In 1997, Apple Computer sought a new foundation for its Macintosh operating system and chose NEXTSTEP, an operating system developed by NeXT. The core operating system, which was based on BSD and the Mach kernel, was renamed Darwin after Apple acquired it. The deployment of Darwin in Mac OS X makes it, according to a statement made by an Apple employee at a USENIX conference, the most widely used Unix-based system in the desktop computer market.[citation needed]

Meanwhile, Unix had got competition from the open source Linux operating system, a reimplementation of Unix from scratch, using parts of the GNU project that had been underway since the mid-1980s. Work on Linux proper was begun in 1991 by Linus Torvalds; in 1998, a confidential memo at Microsoft stated, "Linux is on track to eventually own the x86 UNIX market," and further predicted, "I believe that Linux – moreso than NT – will be the biggest threat to SCO in the near future."[16]

2000s[edit]

In 2000, SCO sold its entire UNIX business and assets to Caldera Systems, which later changed its name to The SCO Group.

The bursting of the dot-com bubble (2001–2003) led to significant consolidation of versions of Unix. Of the many commercial variants of Unix that were born in the 1980s, only Solaris, HP-UX, and AIX were still doing relatively well in the market, though SGI's IRIX persisted for quite some time. Of these, Solaris had the largest market share in 2005.[17]

In 2003, the SCO Group started legal action against various users and vendors of Linux. SCO had alleged that Linux contained copyrighted Unix code now owned by the SCO Group. Other allegations included trade-secret violations by IBM, or contract violations by former Santa Cruz customers who had since converted to Linux. However, Novell disputed the SCO Group's claim to hold copyright on the UNIX source base. According to Novell, SCO (and hence the SCO Group) are effectively franchise operators for Novell, which also retained the core copyrights, veto rights over future licensing activities of SCO, and 95% of the licensing revenue. The SCO Group disagreed with this, and the dispute resulted in the SCO v. Novell lawsuit. On 10 August 2007, a major portion of the case was decided in Novell's favor (that Novell had the copyright to UNIX, and that the SCO Group had improperly kept money that was due to Novell). The court also ruled that "SCO is obligated to recognize Novell's waiver of SCO's claims against IBM and Sequent". After the ruling, Novell announced they have no interest in suing people over Unix and stated, "We don't believe there is Unix in Linux".[18][19][20] SCO successfully got the 10th Circuit Court of Appeals to partially overturn this decision on 24 August 2009 which sent the lawsuit back to the courts for a jury trial.[21][22][23]

On 30 March 2010, following a jury trial, Novell, and not The SCO Group, was "unanimously [found]" to be the owner of the UNIX and UnixWare copyrights.[24] The SCO Group, through bankruptcy trustee Edward Cahn, decided to continue the lawsuit against IBM for causing a decline in SCO revenues.[25]

In 2005, Sun Microsystems released the bulk of its Solaris system code (based on UNIX System V Release 4) into an open source project called OpenSolaris. New Sun OS technologies, notably the ZFS file system, were first released as open source code via the OpenSolaris project. Soon afterwards, OpenSolaris spawned several non-Sun distributions. In 2010, after Oracle acquired Sun, OpenSolaris was officially discontinued, but the development of derivatives continued.

See also[edit]

References[edit]

  1. ^ Stuart, Brian L. (2009). Principles of operating systems: design & applications. Boston, Massachusetts: Thompson Learning. p. 23. ISBN 1-4188-3769-5. 
  2. ^ a b c Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System". Retrieved 2009-11-29. 
  3. ^ "The Creation of the UNIX* Operating System: The famous PDP-7 comes to the rescue". Bell-labs.com. Retrieved 2010-11-09. 
  4. ^ Salus, Peter H. (1994). A Quarter Century of UNIX. Addison Wesley. p. 9. ISBN 0-201-54777-5. 
  5. ^ Stallings, William. "Operating Systems: Internals and Design Principles" 5th ed, page 91. Pearson Education, Inc. 2005.
  6. ^ a b "Origins and History of Unix, 1969–1995". Faqs.org. Retrieved 2010-11-09. 
  7. ^ D. E. Bodenstab, T. F. Houghton, K. A. Kelleman, G. Ronkin, and E. P. Schan (October 1984). "UNIX Operating System Porting Experiences" (PDF). AT&T Bell Laboratories Technical Journal, Vol. 63, No. 8 Part 2. p. 9. Retrieved 2009-04-09. 
  8. ^ Stevens, W Richard. Rago, Stephen A. Advanced Programming in the UNIX Environment, 3rd Edition. 2013. p. 21
  9. ^ Bell System Software (April 1980). "(Advertisement)". Australian Unix Users Group Newsletter 2 (4). p. 8. 
  10. ^ Dennis M. Ritchie. "Unix Advertising". former Bell Labs Computing and Mathematical Sciences Research. Retrieved 17 February 2014. 
  11. ^ "UNIX". The Computer Chronicles. 1985. http://www.archive.org/details/UNIX1985.
  12. ^ Jeff Tye; Lauren Black; Gregory Smith (10 July 1989). "Unix on the desktop: 80386-based Unix multiuser operating systems present an alternative to LANs". InfoWorld. 
  13. ^ "comp.unix.questions | Google Groups". Groups.google.com. Retrieved 2010-11-09. 
  14. ^ Chuck Karish   View profile    More options. "The name UNIX is now the property of X/Open – comp.std.unix | Google Groups". Groups.google.com. Retrieved 2010-11-09. 
  15. ^ "HP, Novell and SCO To Deliver High-Volume UNIX OS With Advanced Network And Enterprise Services". Novell.com. 20 September 1995. Retrieved 2010-11-09. 
  16. ^ Vinod Valloppillil (11 August 1998). "Open Source Software: A (New?) Development Methodology". Retrieved 3 February 2014. 
  17. ^ Stephen (7 December 2005). "Itanium: A cautionary tale". Tech News. ZDNet. Archived from the original on 23 September 2006. Retrieved 2006-10-04. "In the third quarter of this year, 7,845 Itanium servers were sold, according to research by Gartner. That compares with 62,776 machines with Sun Microsystems' UltraSparc, 31,648 with IBM's Power, and 9,147 with HP's PA-RISC." 
  18. ^ "Memorandum and Decision Order in SCO v. Novell". Groklaw.net. Retrieved 2010-11-09. 
  19. ^ "Tuxrocks.com" (PDF). Retrieved 2012-01-06. 
  20. ^ Novell Won't Pursue Unix Copyrights 15 August 2007
  21. ^ Groklaw.net 24 August 2009
  22. ^ Novell.com 24 August 2009
  23. ^ Wired.com 24 August 2009
  24. ^ "03/30/2010 – 846 – JURY VERDICT for Defendant Novell. (slm) (Entered: 03/30/2010)" (PDF). Retrieved 2010-11-09. 
  25. ^ http://www.sltrib.com (30 March 2010). "Jury says Novell owns Unix copyrights". Sltrib.com. Retrieved 2012-01-06. 

Further reading[edit]

Books
Television.

External links[edit]