History of Unix
Evolution of Unix and Unix-like systems
|Developer||Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna at Bell Labs|
|Written in||C and Assembly language|
|Source model||Historically closed source, now some Unix projects (BSD family and Illumos) are open sourced.|
|Default user interface||Command-line interface & Graphical (X Window System)|
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. 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. In 1979, Dennis Ritchie described their vision for Unix:
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 it needed a more efficient and less expensive machine to run on, and eventually he found a little-used PDP-7 at Bell Labs. On the 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.
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. McIlroy attributes UNIX to Brian W. Kernighan, as well as popularizing Thompson's Unix philosophy.
When the Computing Sciences Research Center wanted to use Unix on a machine larger than the PDP-7, while another department needed a word processor, Thompson and Ritchie added text processing capabilities to Unix and received funding for a PDP-11/20. 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.
As the system grew in complexity and the research team wanted more users, the need for a manual grew apparent. The UNIX Programmer's Manual was published on 3 November 1971; commands were documented in the "man page" format that is still used, offering terse reference information about usage as well as bugs in the software, and listing the authors of programs to channel questions to them.
After other Bell Labs departments purchased PDP-11s, they also chose to run Unix instead of DEC's own operating system. By Version 4 it was widely used within the laboratory and a Unix Support Group was formed, helping the operating system survive by formalizing its distribution. 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. An Operational Support System was developed entirely in assembly language by Neil Groundwater that survived nearly 7 years, without change.
In 1972, Unix was rewritten in the higher-level language 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". The language appeared as part of Version 2. Thompson and Ritchie were so influential on early Unix that McIlroy estimated that they wrote and debugged about 100,000 lines of code that year, stating that "[their names] may safely be assumed to be attached to almost everything not otherwise attributed". Although assembly did not disappear from the man pages until Version 8, the migration to 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, the Bell System (the parent organization of Bell Labs) was forbidden from entering the computer business. Unix could not, therefore, be turned into a product. Ken Thompson quietly began answering requests by shipping out tapes and disks, each accompanied by — according to legend — a note signed, "Love, Ken”.
In 1973 AT&T released Version 5 Unix and licensed it to educational institutions, and licensed 1975's Version 6 to companies for the first time. While commercial users were rare because of the $20,000 cost, the latter was the most widely used version into the early 1980s. While anyone could purchase a license, the terms were very restrictive; licensees only received the source code, on an as is basis. The licenses also included the machine-dependent parts of the kernel, written in PDP-11 assembly language. Copies of the Lions' Commentary on UNIX 6th Edition, with Source Code circulated widely, 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, adding 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.
Unix still only ran on DEC systems. As more of the operating system was rewritten in C (and the C language extended to accommodate this), portability also increased; in 1977, Bell Labs procured an Interdata 8/32 with the aim of porting Unix to a computer that was as different from the PDP-11 as possible, making the operating system more machine-independent in the process. Unix next ran as a guest operating system inside an VM/370 hypervisor at Princeton. Simultaneously, a group at the University of Wollongong ported Unix to the similar Interdata 7/32. Target machines of further Bell Labs ports for research and AT&T-internal use included an Intel 8086-based computer (with custom-built MMU) and the UNIVAC 1100.
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:
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.
A microprocessor port of Unix, to the LSI-11, was completed in 1978, and an Intel 8086 version was reported to be "in progress" the same year. The first microcomputer versions of Unix, and Unix-like operating systems like Whitesmiths' Idris, appeared in the late 1970s.
Bell developed multiple versions of Unix for internal use, 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, and "more than 2000" the following year. 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.
By the early 1980s thousands of people used Unix at AT&T and elsewhere, and as computer science students moved from universities into companies they wanted to continue to use it. Observers began to see Unix as a potential universal operating system, suitable for all computers. Less than 20,000 lines of code—almost all in C—composed the Unix kernel as of 1983, and more than 75% was not machine-dependent. By that year Unix or a Unix-like system was available for at least 16 different processors and architectures from about 60 vendors; BYTE noted that computer companies "may support other [operating] systems, but a Unix implementation always happens to be available".
Microcomputer Unix became commercially available in 1980, when Onyx Systems released its Zilog Z8000-based C8002 and Microsoft announced its first Unix for 16-bit microcomputers called Xenix, which the Santa Cruz Operation (SCO) ported to the 8086 processor in 1983. Other companies began to offer commercial versions of Unix for their own minicomputers 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.
AT&T announced UNIX System III—based on Version 6, 7, and PWB—in 1981. Licensees could sell binary sublicenses for as little as $100, which observers believed indicated that AT&T now viewed Unix as a commercial product. 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 Computer Systems Research Group. 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.
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. 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.
During this period, many observers expected that UNIX, with its portability and rich capabilities, was likely to become the industry standard operating system for microcomputers. Citing its much smaller software library and installed base than that of MS-DOS and the IBM PC, others expected that customers would prefer personal computers on local area networks to Unix multiuser systems. Microsoft planned to make Xenix MS-DOS's multiuser successor, and by 1983 a Xenix-based Altos 586 with 512 KB RAM and 10 MB hard drive cost about $8,000.
In 1986, Computerworld wrote that "Until very recently, almost no one associated Unix with corporate data processing. [...] the operating system traveled almost exclusively in academic and technical circles ... But now — almost entirely because of strenuous efforts by AT&T — some people are beginning to perceive Unix as a viable option for large commercial installations." Unix reached the mainframe: while Amdahl UTS had been available for several years, now even IBM started offering Unix, as VM/IX.:37 The total installed base of Unix, however, remained small at some 230,000 machines.:44
Despite its academic reputation—InfoWorld stated in 1989, "Until recently, Unix conjured up visions of long-haired bearded technoids stuck in the bowels of an R&D lab, coding software until the wee hours of the morning"—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 PC-compatible market competed with OS/2 in terms of networking, multiuser support, multitasking, and MS-DOS compatibility.
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.
Standardization and the Unix wars
A problem that plagued Unix in this period was the multitude of implementations, based on either System V, BSD, or what Poul-Henning Kamp later described as a "more or less competently executed" combination of the two, usually with home-grown extensions to the base systems from AT&T or Berkeley.:38 Xenix was effectively a third lineage, being based on the earlier System III. The rivalry between vendors was called the Unix wars; customers soon demanded standardization.
AT&T responded by issuing a standard, the System V Interface Definition (SVID, 1985), and required conformance for operating systems to be branded "System V". In 1984, several European computer vendors established the X/Open consortium with the goal of creating an open system specification based on Unix (and eventually the SVID). Yet another standardization effort was the IEEE's POSIX specification (1988), designed as a compromise API readily implemented on both BSD and System V platforms. POSIX was soon[when?] mandated by the United States government for many of its own systems.
In the spring of 1988, AT&T took the standardization a step further. First, it collaborated with SCO to merge System V and Xenix into System V/386. Next, it sought collaboraton with Sun Microsystems (vendor of the 4.2BSD derivative SunOS and its Network File System) to merge System V, BSD/SunOS and Xenix into a single unified Unix, which would become System V Release 4. AT&T and Sun, as UNIX International, acted independently of X/Open and drew ire from other vendors, which started the Open Software Foundation to work on their own unified Unix, OSF/1, ushering in a new phase of the Unix wars.
The Unix wars continued into the 1990s, but turned out to be less serious of a thread than it originally looked: AT&T and Sun went their own ways after System V.4, while OSF/1's schedule slipped behind. 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. POSIX became the unifying standard for Unix systems (and some other operating systems).
Meanwhile, the BSD world saw its own developments. The group at Berkeley moved its operating system toward POSIX compliance and released a stripped down version of its networking code, supposedly without any code that was the property of AT&T. 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), which sold a fully functional commercial version of BSD Unix for the Intel platform, which they advertised as free of AT&T code. They ran into legal trouble when AT&T's Unix subsidiary sued BSDi for copyright infringement and various other charges in relation to BSD; subsequently, the University of California countersued. Shortly after it was founded, Bill Jolitz left BSDI to pursue distribution of 386BSD, the free software ancestor of FreeBSD, OpenBSD, and NetBSD.
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. 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. It also quickly settled the court battles with BSDi and Berkeley.
In 1993, Novell decided to transfer the UNIX trademark and certification rights to the X/Open Consortium. 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. Whether Novell also sold the copyrights would later become the subject of litigation (see below).
With the legal troubles between AT&T/Novell and the University of California over, the latter did two more releases of BSD before disbanding its Computer Systems Research Group in 1995. The BSD code lived on, however, in its free derivatives and in what Garfinkel et al. call a second generation of commercial Unix systems, based on BSD. The first exponent of these was BSDi's offering, popular at internet service providers but eventually not successful enough to sustain the company.:22 The other main exponent would be Apple Computer.
In 1997, Apple 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.
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."
|History of computing|
|Timeline of computing|
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.
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". 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.
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. The SCO Group, through bankruptcy trustee Edward Cahn, decided to continue the lawsuit against IBM for causing a decline in SCO revenues.
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.
- Comparison of operating systems
- List of Unix systems
- Operating systems timeline
- Plan 9 from Bell Labs
- Stuart, Brian L. (2009). Principles of operating systems: design & applications. Boston, Massachusetts: Thompson Learning. p. 23. ISBN 1-4188-3769-5.
- Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System". Retrieved 2009-11-29.
- "The Creation of the UNIX* Operating System: The famous PDP-7 comes to the rescue". Bell-labs.com. Retrieved 2010-11-09.
- "The History of Unix". BYTE. August 1983. p. 188. Retrieved 31 January 2015.
- Salus, Peter H. (1994). A Quarter Century of UNIX. Addison Wesley. p. 9. ISBN 0-201-54777-5.
- McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (Technical report). CSTR. Bell Labs. 139.
- Stallings, William. "Operating Systems: Internals and Design Principles" 5th ed, page 91. Pearson Education, Inc. 2005.
- "Origins and History of Unix, 1969–1995". Faqs.org. Retrieved 2010-11-09.
- Fiedler, Ryan (October 1983). "The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace". BYTE. p. 132. Retrieved 30 January 2015.
- Johnson, Stephen C.; Ritchie, Dennis M. (1978). "Portability of C Programs and the UNIX System". Bell System Technical Journal 57 (6): 2021–2048.
- Bodenstab, D. E.; Houghton, T. F.; Kelleman, K. A.; Ronkin, G.; Schan, E. P. (1984). "UNIX Operating System Porting Experiences". AT&T Bell Laboratories Technical Journal 63 (8): 1769–1790. doi:10.1002/j.1538-7305.1984.tb00064.x.
- Stevens, W Richard. Rago, Stephen A. Advanced Programming in the UNIX Environment, 3rd Edition. 2013. p. 21
- Lycklama, Heinz (1978). "UNIX Time-Sharing System: UNIX on a Microprocessor". Bell System Technical Journal 57 (6): 2087. doi:10.1002/j.1538-7305.1978.tb02143.x.
- Bell System Software (April 1980). "(Advertisement)". Australian Unix Users Group Newsletter 2 (4). p. 8.
- Dennis M. Ritchie. "Unix Advertising". former Bell Labs Computing and Mathematical Sciences Research. Retrieved 17 February 2014.
- Tilson, Michael (October 1983). "Moving Unix to New Machines". BYTE. p. 266. Retrieved 31 January 2015.
- "UNIX". The Computer Chronicles. 1985. http://www.archive.org/details/UNIX1985.
- Howitt, Doran (1984-12-10). "Unix and the Single User". InfoWorld. p. 28. Retrieved 7 February 2015.
- Yates, Jean L. (October 1983). "Unix and the Standardization of Small Computer Systems". BYTE. pp. 160–166. Retrieved 30 January 2015.
- Kelleher, Joanne (3 February 1986). "Corporate Unix: A system struggles to earn its stripes". Computerworld.
- 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.
- Kamp, Poul-Henning (2012). "A Generation Lost in the Bazaar". ACM Queue 10 (8).
- Garfinkel, Simson; Spafford, Gene; Schwartz, Alan (2003). Practical UNIX and Internet Security. O'Reilly. pp. 15–17.
- Libes, Don; Ressler, Sandy; Ressler, Sanford (1989). Life With UNIX: A Guide For Everyone. Prentice Hall. p. 74.
- McKusick, Marshall Kirk (1999). "Twenty Years of Berkeley Unix – From AT&T-Owned to Freely Redistributable". In DiBona, Chris; Ockman, Sam; Stone, Mark. Open Sources: Voices from the Revolution. O'Reilly. ISBN 978-1-56592-582-3.
- "comp.unix.questions | Google Groups". Groups.google.com. Retrieved 2010-11-09.
- 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.
- "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.
- Vinod Valloppillil (11 August 1998). "Open Source Software: A (New?) Development Methodology". Retrieved 3 February 2014.
- 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.
- "Memorandum and Decision Order in SCO v. Novell". Groklaw.net. Retrieved 2010-11-09.
- "Tuxrocks.com" (PDF). Retrieved 2012-01-06.
- Novell Won't Pursue Unix Copyrights 15 August 2007
- Groklaw.net 24 August 2009
- Novell.com 24 August 2009
- Wired.com 24 August 2009
- "03/30/2010 – 846 – JURY VERDICT for Defendant Novell. (slm) (Entered: 03/30/2010)" (PDF). Retrieved 2010-11-09.
- http://www.sltrib.com (30 March 2010). "Jury says Novell owns Unix copyrights". Sltrib.com. Retrieved 2012-01-06.
|Look up Unix in Wiktionary, the free dictionary.|
|Wikimedia Commons has media related to History of Unix.|
- The UNIX System, at The Open Group.
- The Evolution of the Unix Time-sharing System
- The Creation of the UNIX Operating System
- The Unix Tree: files from historic releases
- History of Unix at DMOZ
- The Unix 1st Edition Manuals.
- 1982 film about Unix featuring Dennis Ritchie, Ken Thompson, Brian Kernighan, Alfred Aho, and more
- A History of UNIX before Berkeley: UNIX Evolution: 1975-1984