Unix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. Today's Unix systems are split into various branches, developed over time by AT&T, several other commercial vendors, as well as several non-profit organizations.

UNIX was designed to be portable, multi-tasking and multi-user. The Unix systems are characterized by various concepts: plain text files, command line interpreter, hierarchical file system, etc. In software engineering, Unix is mainly noted for its use of the C programming language and the so-called Unix philosophy.

The present owner of the UNIX trademark is The Open Group, while the present claimants on the rights to the UNIX source code are The SCO Group and Novell. Only systems fully compliant with and certified to the Single UNIX Specification qualify as "UNIX" (others are called "UNIX system-like" or Unix-like).

Contents

History

1960s and 1970s

In the 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 Service), 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 that computer called Space Travel. However, he found that the game was slow on the GE machine and was costly, apparently costing $75 per go in scarce computing time.

Thompson thus re-wrote the game in DEC PDP-7 Assembly language with help from Dennis Ritchie. 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, and could support two simultaneous users. The name has been attributed to Brian Kernighan, and was a hack on Multics. Following bad puns of UNICS (homophone of eunuchs) being a castrated MULTICS, the name was later changed to UNIX, and thus a legacy was born. The name is also a criticism of the overly general and bloated MULTICS system - UNIX would do one thing, and do it well.

Up until this point there had been no financial support from Bell Labs, when 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 roff and a text editor. All three were written in PDP-11/20 assembly language. This initial "text processing system", made up of UNIX, roff, 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 becoming 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. The licenses included all source code except for the machine-dependent kernel, which was written in PDP-11 assembly code. However, bootleg copies of the annotated UNIX machine-dependent kernel circulated widely in the late 1970's.

Development expanded, with Versions 4, 5 and 6 being released by 1975. 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 version of Research UNIX to be released widely, was released in 1979. Versions 8, 9 and 10 were developed through the 1980s but were only ever released to a few universities, though they did generate papers describing the new work. This research led to the development of Plan 9, a new portable distributed system.

1980s

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 the Berkeley Software Distribution of UNIX 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 eight 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 something 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 versions of the UNIX System for their own mini-computers and workstations. Most of these new UNIX flavors were developed from the System V base under a license from AT&T. Others chose BSD instead. One of the leading developers of BSD, Bill Joy, went on to co-found Sun Microsystems in 1982 and create SunOS (now Solaris) 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.

In 1984, an industry group called X/Open was formed, with the aim of forming compatible open systems, that is, standardize the UNIX systems.

AT&T added various features into UNIX System V, such as file locking, system administration, job control (modelled on ITS), streams, the Remote File System and TLI. AT&T cooperated with Sun Microsystems and between 1987 and 1989 merged 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 threatened the end of competing versions. It also greatly increased licensing fees.

1990s

In 1990, the Open Software Foundation released OSF/1, their standard Unix implementation, and it was more closely based on BSD than on SVR4. OSF was started in 1988 and funded by several Unix-related companies that wished to counteract AT&T's and Sun's collaboration on SVR4. AT&T and another group of licensees then proceeded to form the group "UNIX International" inorder to counteract OSF. This escalation of conflict between competing vendors gave rise to the syntagma "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 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 free software ancestor of FreeBSD, OpenBSD, and NetBSD.

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. In 1994, OSF stopped the development of OSF/1, as the only vendor using it was DEC, who branded it Digital UNIX.

Shortly after UNIX System V Release 4 was produced, AT&T sold all its rights to UNIX to Novell. Dennis Ritchie, one of the creators of UNIX, likened this to the Biblical story of Esau selling his birthright for some lentils [1] (http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=7379%40ucsbcsl.ucsb.edu&rnum=1&prev=/groups%3Fq%3Ddennis%2Britchie%2Blentil%2Bbirthright%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D7379%2540ucsbcsl.ucsb.edu%26rnum%3D1). Novell developed its own version, UnixWare, merging its Netware with UNIX System V Release 4. Novell tried to use this to battle against Windows NT, but their core markets suffered considerably.

In 1994, Novell decided to split the bundle of UNIX-related assets and sell parts of them. The UNIX trademark and the certification rights were sold 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 administration and support of the existing UNIX licenses plus rights to further develop the SystemV code base were transferred to the Santa Cruz Operation. Whether Novell also sold the copyrights is currently the subject of litigation (see below).

2000s

In 2000, the Santa Cruz Operation sold its entire UNIX business and assets to Caldera Systems, which later on changed its name to The SCO Group. This new player then started a huge legal campaign against various users and vendors of Linux. The SCO Group has offered various legal theories over the course of several cases. Some of these allege that Linux contains copyrighted Unix code now owned by The SCO Group. Others allege trade-secret violations by IBM, or contract violations by former Santa Cruz customers who since converted to Linux. The most far-reaching theory is that development work that IBM did for AIX is considered a derivative work and therefore also owned by SCO. If this is upheld it would affect all Unix licensees.

Under a program called SCOsource, the SCO Group 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 V, Release 5).

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 had resulted in the SCO v. Novell lawsuit.

Standards

Beginning in the late 1980s, 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. At around the same time a separate but very similar standard, the Single UNIX Specification, was also produced by the Open Group. Starting in 1998 these two standards bodies began work on merging the two standards, and the latest revisions of both are in fact a single identical document.

The directory layout of some systems 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. Much of the software developed in this project -- such as the GNU toolchain, the GNU C library and the GNU core utilities-- has gone on to play central roles in other free UNIX systems as well, but GNU attempts to fulfill Stallman's original manifesto by providing a replacement for the UNIX kernel progressed very slowly. At present, the GNU Hurd, an attempt to provide an advanced kernel for GNU based on the Mach microkernel, is still not considered close to production standard.

In 1991, when Linus Torvalds began to publicize 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 UNIX-like operating system known as GNU/Linux (commonly referred to as 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 UNIX Systems Laboratories brought against the University of California and Berkeley Software Design Inc. (USL v. 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. FreeBSD, an alternative to Linux, has strong support and is the most popular of the BSD derivatives. OpenBSD is renowned for its security, while NetBSD focuses on porting the OS to many platforms.

In an effort towards compatibility, 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 to develop a freely redistributable core operating system, Darwin, based on the BSD family and Mach. The deployment of Darwin BSD UNIX in Mac OS X makes it one of the most widely-used UNIX based 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."

Following the lead of Multics, it was written in high level language as opposed to assembler (assembler was in 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 superficially uniform interface, but at the expense of requiring indirect mechanisms such as IOCTL and mode flags to access features of the hardware that did not fit the simple "stream of bytes" model.

Unix also popularized the hierarchical file system with arbitrarily nested subdirectories, originally introduced 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 also patterned after Multics. 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.

Making the command interpreter an ordinary user-level program, with additional commands provided as separate programs, was another Multics innovation popularized by Unix. The UNIX shell used the same language for interactive commands as for scripting (shell scripts -- there was no separate job control language, like IBM's JCL for example). Since the shell and OS commands were "just another program", the user could choose (or even write) his/her own shell. Finally, new commands could be added without recompiling the shell. Unix's innovative command-line syntax for creating chains of producer-consumer processes (pipes) made a powerful programming technique (coroutines) widely available.

A fundamental simplifying assumption of UNIX was its focus on ASCII text for 100% of its I/O package and the assumption that the machine word was a multiple of 8 bits in size. There were no "binary" editors in the original version of UNIX - the entire system was configured using text shell commands and the least and greatest common denominator in the I/O system is the text byte - unlike "record-based" file systems in other computers. The focus on text for representing "everything" made UNIX pipes useful. The focus on text and 8-bit bytes made the system far more scalable and portable than other systems. Over time text-based applications have also won in application areas, such as printing languages (Postscript - not Interpress - an earlier effort by the same people), and when feasible, at the application layer of the Internet Protocols, i.e. Telnet, FTP, SMTP, HTTP, SIP, XML, etc.

Unix 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, and spread more quickly than UNIX. The C language was the first agnostic language that did not attempt to force a coding style upon the programmer (e.g. support for 3 types of loops and all types of parameter passing.) The C language was the first programming languages to access a computer's full instruction set (e.g. masking, shifting, auto increment, auto decrement, jump tables, pointers.) However, the unsafeness of C leads to problems such as buffer overruns from C library functions such as gets() and scanf(), which are behind many notorious bugs, including one exploited by the Morris worm.

Early UNIX developers were important in bringing the theory of software modularity and re-use into engineering practice.

UNIX provided the TCP/IP networking protocol on relatively inexpensive computers, which later resulted in the Internet explosion of world-wide real-time connectivity. This quickly exposed several major security holes in the UNIX architecture, kernel, and system utilities.

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

In 1994, Novell, the company that owned the rights to the Unix System V source at the time, sold the right to use the name of the Unix software to the X/Open Company (now The Open Group), but they sold the rights to the actual software to the original SCO company (not to be confused with Caldera, which renamed itself to SCO after it bought parts of the first SCO).

Now, "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." By decree of The Open Group, 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, after the operating system's vendor pays a fee to The Open Group. Systems licensed to use the UNIX® trademark 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; such systems claim that the term has now become a genericized trademark.

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). Additionally, it should be noted that many of the operating system's predecessors and contemporaries used all-uppercase lettering, because many computer terminals of the time could not produce lower-case letters, so many people wrote the name in upper case due to force of habit.

Several plural forms of Unix are used to refer to multiple brands of Unix and Unix-like systems. Most common is the conventional "Unixes", but the culture that created Unix has a penchant for playful use of language, and "Unices" (treating Unix as Latin word) is also popular. The Anglo-Saxon plural form "Unixen" is not common, although occasionally seen.

Canonical UNIX Commands

The most basic UNIX commands/utilities are:

Here is a list of the 60 user commands from section 1 of the First Edition:

ar as b bas bcd boot cat chdir check (Unix) chmod chown cmp cp date db dbppt dc df dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mount mv nm od pr rew rkd rkf rkl rm rmdir roff sdate sh stat strip su sum tap tm tty type un wc who write

For a more complete and modern list, see the list of Unix programs.

See also: /dev/null, /dev/random, /dev/urandom, /dev/zero.

See also

External links

ca:Unix cs:Unix da:UNIX de:Unix eo:Unikso es:Unix fi:Unix fr:UNIX he:יוניקס hr:UNIX hu:Unix ia:UNIX it:Unix ja:UNIX ko:유닉스 lv:UNIX lt:UNIX ms:UNIX nds:Unix nl:Unix nn:Unix no:Unix pl:Unix pt:UNIX ru:UNIX simple:Unix sl:Unix sv:UNIX th:ยูนิกซ์ zh:UNIX

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools