Unix
Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley, Microsoft, Sun Microsystems, HP/HPE, and IBM.
The early versions of Unix, which are retrospectively referred to as "Research Unix", ran on computers such as the PDP-11 and VAX; Unix was commonly used on minicomputers and mainframes from the 1970s onwards. It distinguished itself from its predecessors as the first portable operating system: almost the entire operating system is written in the C programming language, which allows Unix to operate on numerous platforms. Unix systems are characterized by a modular design that is sometimes called the "Unix philosophy". According to this philosophy, the operating system should provide a set of simple tools, each of which performs a limited, well-defined function. A unified and inode-based filesystem and an inter-process communication mechanism known as "pipes" serve as the main means of communication, and a shell scripting and command language is used to combine the tools to perform complex workflows.
Version 7 in 1979 was the final widely released Research Unix, after which AT&T sold UNIX System III, based on Version 7, commercially in 1982; to avoid confusion between the Unix variants, AT&T combined various versions developed by others and released it as UNIX System V in 1983. However as these were closed-source, the University of California, Berkeley continued developing BSD as an alternative. Other vendors that were beginning to create commercialized versions of Unix would base their version on either System V or BSD. Amid the "Unix wars" of standardization, AT&T alongside Sun merged System V, BSD, SunOS and Xenix, solidifying their features into one package as UNIX System V Release 4 in 1989, and it was commercialized by Unix System Laboratories, an AT&T spinoff. A rival Unix by other vendors was released as OSF/1, however most commercial Unix vendors eventually changed their distributions to be based on SVR4 with BSD features added on top.
AT&T sold Unix to Novell in 1992, who later sold the UNIX trademark to a new industry consortium called The Open Group, allowing the use of the mark for certified operating systems that comply with the Single UNIX Specification. Since the 1990s, Unix systems have appeared on home computers: BSD/OS was the first to be commercialized for i386 computers and since then free Unix-like clones of existing systems have been developed, such as FreeBSD and the combination of Linux and GNU, the latter of which have since eclipsed Unix in popularity. Unix was, until 2005, the most widely used server operating system. However in the present day, Unix distributions like IBM AIX, Oracle Solaris and OpenServer continue to be widely used in certain fields.
Overview
Unix was originally meant to be a convenient platform for programmers developing software to be run on it and on other systems, rather than for non-programmers. The system grew larger as the operating system started spreading in academic circles, and as users added their own tools to the system and shared them with colleagues.At first, Unix was not designed to support multi-tasking or to be portable. Later, Unix gradually gained multi-tasking and multi-user capabilities in a time-sharing configuration, as well as portability. Unix systems are characterized by various concepts: the use of plain text for storing data; a hierarchical file system; treating devices and certain types of inter-process communication as files; and the use of a large number of software tools, small programs that can be strung together through a command-line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality. These concepts are collectively known as the "Unix philosophy". Brian Kernighan and Rob Pike summarize this in The Unix Programming Environment as "the idea that the power of a system comes more from the relationships among programs than from the programs themselves".
By the early 1980s, users began seeing Unix as a potential universal operating system, suitable for computers of all sizes. The Unix environment and the client–server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers.
Both Unix and the C programming language were developed by AT&T and distributed to government and academic institutions, which led to them both being ported to a wider variety of machine families than any other operating system.
The Unix operating system consists of many libraries and utilities along with the master control program, the kernel. The kernel provides services to start and stop programs, handles the file system and other common "low-level" tasks that most programs share, and schedules access to avoid conflicts when programs try to access the same resource or device simultaneously. To mediate such access, the kernel has special rights, reflected in the distinction of kernel space from user space, the latter being a lower priority realm where most application programs operate.
History
The origins of Unix date back to the mid-1960s when the Massachusetts Institute of Technology, Bell Labs, and General Electric were developing Multics, a time-sharing operating system for the GE 645 mainframe computer.Multics featured several innovations, but also presented severe problems. Frustrated by the size and complexity of Multics, but not by its goals, individual researchers at Bell Labs started withdrawing from the project. The last to leave were Ken Thompson, Dennis Ritchie, Douglas McIlroy, and Joe Ossanna, who decided to reimplement their experiences in a new project of smaller scale. This new operating system was initially without organizational backing, and also without a name.
The new operating system was a single-tasking system. In 1970, the group coined the name Unics for Uniplexed Information and Computing Service as a pun on Multics, which stood for Multiplexed Information and Computer Services. Brian Kernighan takes credit for the idea, but adds that "no one can remember" the origin of the final spelling Unix. Dennis Ritchie, Doug McIlroy, and Peter G. Neumann also credit Kernighan.
The operating system was originally written in PDP-7 assembly language, and ported to PDP-11 assembly language in 1970, but in 1973, Version 4 Unix was rewritten in C. Ken Thompson faced multiple challenges attempting the kernel port due to the evolving state of C, which lacked key features like structures at the time. Version 4 Unix, however, still had much PDP-11 specific code, and was not suitable for porting. The first port to another platform was a port of Version 6, made four years later at the University of Wollongong for the Interdata 7/32, followed by a Bell Labs port of Version 7 to the Interdata 8/32 during 1977 and 1978.
In 2026, a previously unknown magnetic tape containing Version 4 Unix was discovered at the University of Utah and recovered successfully at the Computer History Museum in California. The tape represents the earliest known surviving distribution of Version 4 and provides additional insight into the early development of Unix.
Bell Labs produced several versions of Unix that are collectively referred to as Research Unix. In 1975, the first source license for UNIX was sold to Donald B. Gillies at the University of Illinois Urbana–Champaign Department of Computer Science.
During the late 1970s and early 1980s, the influence of Unix in academic circles led to large-scale adoption of Unix by commercial startups, which in turn led to Unix fragmenting into multiple, similar – but often slightly and mutually incompatible – systems including DYNIX, HP-UX, SunOS/Solaris, AIX, and Xenix. In the late 1980s, AT&T Unix System Laboratories and Sun Microsystems developed System V Release 4, which was subsequently adopted by many commercial Unix vendors.
In the 1990s, Unix and Unix-like systems grew in popularity and became the operating system of choice for over 90% of the world's top 500 fastest supercomputers, as BSD and Linux distributions were developed through collaboration by a worldwide network of programmers. In 2000, Apple released Darwin, also a Unix system, which became the core of the Mac OS X operating system, later renamed macOS.
Unix-like operating systems are widely used in modern servers, workstations, and mobile devices.
Standards
In the late 1980s, an open operating system standardization effort now known as POSIX provided a common baseline for all operating systems; IEEE based POSIX around the common structure of the major competing variants of the Unix system, publishing the first POSIX standard in 1988. In the early 1990s, a separate but very similar effort was started by an industry consortium, the Common Open Software Environment initiative, which eventually became the Single UNIX Specification administered by The Open Group. Starting in 1998, the Open Group and IEEE started the Austin Group, to provide a common definition of POSIX and the Single UNIX Specification, which, by 2008, had become the Open Group Base Specification.In 1999, in an effort towards compatibility, several Unix system vendors agreed on SVR4's Executable and Linkable Format as the standard for binary and object code files. The common format allows substantial binary compatibility among different Unix systems operating on the same CPU architecture.
The Filesystem Hierarchy Standard was created to provide a reference directory layout for Unix-like operating systems; it has mainly been used in Linux.