The History of Unix

Matt George
Matt George

Fractional CTO · Founder of Injuria.ai

•16 min read•

The History of Unix

Unix is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed in 1969 at the Bell Telephone Laboratories. Created by a small team of researchers including Ken Thompson, Dennis Ritchie, Doug McIlroy, Joe Ossanna, and Brian Kernighan, Unix introduced a set of architectural concepts that permanently altered software engineering.[31] The system was built around a core philosophy of modularity and simplicity. It featured a hierarchical file system, represented physical devices and inter-process communication channels as standard files, and provided a large collection of small, single-purpose utility programs. These utilities could be strung together through a command-line interpreter using a mechanism called pipes, allowing complex tasks to be executed without writing custom monolithic programs.

The historical trajectory of Unix is defined by its unusual path to ubiquity. Initially written in assembly language for a specific minicomputer, Unix was rewritten in the C programming language in 1973. This decision separated the operating system from its underlying hardware, allowing it to be ported to entirely different computer architectures with minimal effort. Because AT&T was bound by a 1956 federal antitrust consent decree that prohibited the company from entering the commercial computing business, Bell Labs licensed the Unix source code to universities for the nominal cost of magnetic media and shipping. This created a massive, decentralized academic ecosystem that studied, modified, and expanded the system. The most significant of these academic forks was the Berkeley Software Distribution (BSD) at the University of California, Berkeley, which introduced virtual memory and the TCP/IP networking stack to the Unix environment.

During the 1980s, the deregulation of AT&T allowed the company to commercialize Unix, sparking a period of intense corporate competition known as the Unix wars. Hardware vendors created incompatible, proprietary Unix derivatives, fracturing the market. In the 1990s, a protracted legal battle over intellectual property rights temporarily stalled the development of BSD. This legal cloud created an opening for the open-source Linux kernel, which was combined with tools from the GNU Project to create a free, Unix-like operating system that ran on inexpensive personal computers.[32] Today, Unix and Unix-like systems form the foundational infrastructure of the modern digital economy. They operate the vast majority of web servers, cloud computing platforms, and supercomputers.[33] The macOS operating system is the most widely used certified UNIX desktop environment, while the Linux kernel powers the Android mobile operating system, placing Unix derivatives in the hands of billions of users.

The Origins at Bell Labs (1969 to 1973)

The origins of Unix are rooted in the failure of an earlier, highly ambitious operating system project called Multics[1] (Multiplexed Information and Computing Service). Initiated in 1964 as a joint venture between the Massachusetts Institute of Technology (MIT), General Electric (GE), and Bell Labs, Multics aimed to create a computing utility that could support hundreds of simultaneous users with high availability, strict security rings, and a hierarchical file system. However, the project suffered from severe feature creep and poor performance on the GE-645 mainframe hardware. Frustrated by the lack of progress and the immense resource drain, Bell Labs management, led by Bill Baker, withdrew from the Multics project in March 1969.

The withdrawal left researchers Ken Thompson, Dennis Ritchie, Doug McIlroy, and Joe Ossanna without a modern interactive computing environment. Thompson had written a space simulation game called Space Travel[2], which ran poorly on the available GE-635 mainframe and cost $75 per execution in computing time. Searching for an alternative, Thompson found a little-used Digital Equipment Corporation (DEC) PDP-7 minicomputer. The PDP-7 was a modest machine with only 8,192 words of 18-bit memory, paper tape input, and a disk drive (a 1MB RB09 disk). During the summer of 1969, Thompson wrote a new operating system for the PDP-7 from scratch, implementing a simplified version of the Multics hierarchical file system, a process management subsystem, and a basic command-line interpreter. In 1970, researcher Brian Kernighan[3] jokingly named the new system "Unics" (Uniplexed Information and Computing Service) as a pun on Multics, reflecting its focus on doing single tasks well rather than multiplexing many tasks. The spelling was soon changed to Unix.

To secure funding for a more capable machine, the DEC PDP-11/20, the research team proposed building a text processing system for the Bell Labs patent department. The patent department needed a way to format complex legal documents, and the Unix team delivered. The PDP-11/20 provided 24 kilobytes of core memory and a 512-kilobyte disk. On November 3, 1971, First Edition Unix[4] was released, featuring the roff text formatter, the ed text editor, and basic utilities like stat and mail.[34] The system was highly successful in the patent department, proving the commercial viability of minicomputer-based text processing.

In 1973, Doug McIlroy conceived the concept of pipes, a mechanism to pass the output of one program directly into the input of another. Thompson implemented pipes in the Unix kernel, fundamentally shaping the Unix philosophy. Instead of writing large programs that handled input, processing, and output internally, developers wrote small tools like grep, sort, and wc that could be chained together at the command line to perform complex data manipulation.

The C Language and Portability (1973 to 1979)

During the early 1970s, operating systems were universally written in assembly language. Assembly language maps directly to the specific instruction set of a computer's central processing unit (CPU), meaning an operating system written for a DEC PDP-7 could not run on an IBM mainframe or even a DEC PDP-11 without being completely rewritten. Ken Thompson had previously developed the B programming language, a stripped-down version of the BCPL language created by Martin Richards. However, B was typeless and word-oriented. This made it inefficient for the new PDP-11, which was a byte-addressable machine. Between 1972 and 1973, Dennis Ritchie developed the C programming language[5] to address these shortcomings, adding data types (such as characters and integers) and structures (struct) while maintaining the low-level memory access required for systems programming.

In 1973, the Unix team made the radical decision to rewrite the Unix kernel in C. Released as Version 4, this rewritten in C[6] operating system defied the conventional wisdom that high-level languages were too slow and memory-intensive for operating system kernels. The tradeoff of a slight performance penalty was vastly outweighed by the benefits of portability and developer productivity. To move Unix to a new hardware architecture, developers only needed to write a C compiler for the target machine and rewrite a small fraction of hardware-specific assembly code, leaving the vast majority of the operating system untouched.

In October 1973, Thompson and Ritchie presented the first public paper on Unix at the 4th ACM Symposium on Operating Systems Principles[6] (SOSP) in Yorktown Heights, New York. The presentation generated immense interest within the academic computer science community. In July 1974, the paper was published as "The UNIX Time-Sharing System"[7] in the Communications of the ACM, prompting a flood of requests for the software.[31] Because the 1956 consent decree prevented AT&T from selling software commercially, the company licensed Unix to universities for educational purposes at the cost of media and shipping, typically around $150, but provided no technical support or bug fixes.[34]

The release of Version 6 Unix[8] (V6) in 1975 marked the beginning of widespread academic adoption. V6 was the first version to be widely distributed outside Bell Labs. At the University of New South Wales, professor John Lions wrote a detailed commentary on the V6 source code[9]. Although AT&T later restricted the distribution of the source code, Lions' book became a famous underground textbook, photocopied and passed among computer science students worldwide. In 1979, Bell Labs released Version 7 Unix[10] (V7), which included the Bourne shell (written by Stephen Bourne), the make build automation tool (written by Stuart Feldman), the awk programming language (created by Alfred Aho, Peter Weinberger, and Brian Kernighan), and the compiler tools lex (Mike Lesk) and yacc (Stephen Johnson). V7 was the last major release of Research Unix before AT&T began commercializing the system, and it is the common ancestor for nearly all modern Unix derivatives.

The Berkeley Software Distribution (1977 to 1989)

The academic distribution of Unix found its most fertile ground at the University of California, Berkeley. Professor Bob Fabry acquired a V4 Unix license after hearing Thompson and Ritchie's 1973 SOSP presentation, installing it in 1974 and upgrading to V6 in 1975. That same year, Ken Thompson took a sabbatical from Bell Labs to teach at Berkeley, bringing the latest code with him. Graduate students Bill Joy and Chuck Haley began organizing the various utilities and modifications developed at Berkeley into a cohesive package. In 1977, Joy released the first Berkeley Software Distribution[11] (1BSD), an add-on to V6 that included a Pascal compiler and the ex text editor. The following year, 2BSD was released, introducing the C shell (csh) and the vi visual text editor, which Joy optimized specifically for the ADM-3A terminal.

As Berkeley acquired newer DEC VAX-11/780 minicomputers, the limitations of the original Unix architecture became apparent. The 32-bit VAX supported virtual memory, a feature not present in AT&T's V7 Unix. Berkeley developers, led by Ozalp Babaoglu and Bill Joy, implemented virtual memory paging, releasing 3BSD in 1979. This technical superiority caught the attention of the Defense Advanced Research Projects Agency[12] (DARPA). DARPA was funding the development of the ARPANET (the precursor to the internet) and needed a standard operating system for its research nodes. Rather than buying proprietary operating systems for every machine, DARPA awarded an 18-month contract (and later a larger two-year contract) to the Computer Systems Research Group (CSRG) at Berkeley to develop a standard, network-capable Unix.

The DARPA funding transformed BSD from a collection of academic patches into a production-ready operating system. In 1983, the CSRG released 4.2BSD, which integrated the TCP/IP networking protocol stack directly into the kernel, largely through the work of Bill Joy and Mike Karels. To allow programmers to write network-aware applications, 4.2BSD introduced the Berkeley sockets[13] API, an interface that treated network connections similarly to file descriptors. This API became the universal standard for network programming and remains the foundation of internet communication today. 4.2BSD also included the Fast File System (FFS), written by Marshall Kirk McKusick, William Joy, Samuel Leffler, and Robert Fabry. FFS optimized disk layout based on physical geometry, increasing disk throughput by up to ten times over the original Unix file system.

The innovations at Berkeley heavily influenced the commercial sector. In 1982, Bill Joy left Berkeley to co-found Sun Microsystems[14] with Andy Bechtolsheim, Vinod Khosla, and Scott McNealy. Sun built high-performance engineering workstations, and its operating system, SunOS, was directly based on BSD. By the late 1980s, BSD had become the primary operating system of the early internet, running the majority of ARPANET nodes and establishing the technical standards for network routing, domain name resolution (BIND), and electronic mail (Sendmail).

Commercialization and the Unix Wars (1980s to 1990s)

The legal constraints on AT&T were dissolved in 1982 when the United States Department of Justice forced the breakup of the Bell System[15] monopoly. The 1984 divestiture lifted the 1956 consent decree, allowing AT&T to enter the computer hardware and software markets. AT&T immediately moved to commercialize Unix, releasing UNIX System III in 1981 and subsequently UNIX System V[16] in 1983 through the Unix Support Group (USG).[35] The company stopped distributing source code to commercial entities, raised licensing fees significantly, and attempted to assert strict control over the Unix standard.

The commercialization of Unix led to severe market fragmentation. Because AT&T's licensing terms were restrictive, hardware vendors licensed the base code and developed their own proprietary, incompatible extensions. Hewlett-Packard developed HP-UX, IBM created AIX, Digital Equipment Corporation (DEC) released Ultrix, and Microsoft licensed Unix to create Xenix (later sold to SCO).[35] This era, known as the Unix wars[17], was characterized by bitter corporate rivalries and a lack of interoperability. A program compiled for HP-UX would not run on IBM AIX, and system administrators had to learn different commands and file structures for each vendor's hardware.

In 1988, AT&T acquired an equity stake in Sun Microsystems. The two companies announced a partnership to merge the features of System V, BSD, and Xenix into a single, unified standard called System V Release 4 (SVR4). Fearing that an AT&T and Sun alliance would monopolize the Unix market, rival vendors including IBM, HP, DEC, and Apollo formed a consortium called the Open Software Foundation[18] (OSF) to develop an alternative open standard, OSF/1. In response, AT&T and Sun formed their own consortium, Unix International (UI). The competing consortiums poured millions of dollars into marketing and development, further confusing enterprise customers.

To mitigate the damage caused by the Unix wars, the Institute of Electrical and Electronics Engineers (IEEE) established a committee to standardize the Unix application programming interface (API). In 1988, the IEEE published the IEEE POSIX standard[19] (Portable Operating System Interface, IEEE 1003.1). POSIX defined a baseline set of system calls, library functions, and command-line utilities that any compliant operating system had to provide. In 1993, the major Unix vendors attempted to unify their graphical interfaces and APIs by forming the Common Open Software Environment (COSE), which produced the Common Desktop Environment (CDE). While POSIX and COSE helped software developers write portable code, the Unix wars had already done lasting damage to the platform's commercial viability, driving enterprise customers toward Microsoft's emerging Windows NT operating system.

Legal Battles and the Open Source Revolution (1992 to 1999)

As AT&T aggressively commercialized System V, the researchers at Berkeley's CSRG realized that their BSD releases were legally encumbered. Because BSD was originally built on top of AT&T's V6 and 32/V code, anyone who wanted to use BSD had to purchase an expensive AT&T source license. To free BSD from AT&T's control, the CSRG began a systematic effort to rewrite all utilities and kernel subsystems that contained original Bell Labs code. In 1989, they released Networking Release 1[20] (Net/1), which contained only the Berkeley-authored networking stack and was distributed under a permissive license that required no AT&T license. In 1991, they followed up with Net/2, which replaced nearly all remaining AT&T code, resulting in a nearly complete, freely redistributable operating system.

A startup company called Berkeley Software Design, Inc. (BSDi) began selling a commercial port of Net/2 for Intel 80386 personal computers. In 1992, Unix System Laboratories (USL), the AT&T subsidiary responsible for Unix, sued BSDi and the University of California[21] in New Jersey federal court. USL alleged that Net/2 contained stolen trade secrets and violated AT&T copyrights. The university countersued, arguing that AT&T had incorporated Berkeley code into System V without proper attribution. The judge actually denied USL's request for a preliminary injunction, but the lawsuit cast a chilling legal cloud over the entire BSD ecosystem.

The timing of the USL lawsuit had profound historical consequences. In 1983, Richard Stallman had launched the GNU Project (GNU's Not Unix) at MIT with the goal of creating a completely free, Unix-compatible operating system, outlined in The GNU Manifesto[22]. By 1991, the GNU Project had developed a comprehensive suite of user-space tools, including the GCC compiler, the GDB debugger, and the Bash shell, all protected by the GNU General Public License (GPL). However, the project lacked a working kernel. In August 1991, Linus Torvalds, a computer science student at the University of Helsinki, announced on the comp.os.minix newsgroup[23] that he was writing a free, monolithic operating system kernel for Intel 386 machines. Torvalds combined his kernel, Linux, with the GNU tools to create a fully functional operating system.

Because the BSD source code was tied up in litigation from 1992 to 1994, developers who wanted a free Unix-like system for their personal computers flocked to Linux. In 1993, AT&T sold USL to Novell, led by CEO Ray Noorda. Novell wanted to compete with Microsoft rather than fight universities, and in 1994, the two parties settled the lawsuit. The settlement required Berkeley to remove three files and modify seventy others, after which they released 4.4BSD-Lite[24], which was definitively free of AT&T intellectual property. This release became the foundation for the modern open-source BSD operating systems: FreeBSD, NetBSD, and OpenBSD (forked by Theo de Raadt in 1995).[36] However, the two-year delay allowed Linux to become the dominant open-source Unix-like operating system.[32]

Modern State and Significance (2000s to Present)

The late 1990s and early 2000s saw the consolidation of the Unix market and the triumph of open-source Unix-like systems. Novell transferred the rights to the Unix trademark and the definition of the standard to X/Open, which merged with OSF in 1996 to form The Open Group. The Open Group maintains the Single UNIX Specification FAQ[25] and the official standard (SUS), a superset of the POSIX standard. Today, an operating system can only legally be called "UNIX" if it has been certified by The Open Group to comply with the SUS.

The most widely used certified UNIX operating system today is Apple's macOS. In 1997, Apple acquired NeXT[26], a computer company founded by Steve Jobs. NeXT had developed NeXTSTEP, an object-oriented operating system built on the Mach microkernel (originally developed by Richard Rashid at Carnegie Mellon University) and a BSD userland. Apple used NeXTSTEP as the foundation for Mac OS X (now macOS). The core operating system, Apple Darwin Architecture[27], is open-source and heavily relies on FreeBSD code. In 2007, Apple submitted macOS 10.5 Leopard for testing, and it was certified as UNIX 03 compliant[28]. Every subsequent major release of macOS for Intel and Apple Silicon processors has maintained this certification, placing a fully compliant UNIX system on the desks of hundreds of millions of users.

While not formally certified as UNIX due to licensing costs and rapid development cycles, the Linux kernel[29] and its associated GNU userland have become the de facto standard for enterprise and infrastructure computing. Linux displaced proprietary Unix systems (like Solaris, HP-UX, and AIX) on expensive RISC hardware by offering comparable stability and superior performance on cheap, commodity x86 servers. Today, Linux runs all of the world's top 500 supercomputers, the vast majority of public cloud infrastructure (such as Amazon Web Services and Microsoft Azure), and the underlying architecture of the internet.[33] The Android operating system[30], which holds the largest market share of any operating system globally, is built on top of a modified Linux kernel.

The legacy of Unix extends far beyond specific kernels or trademarks. The Unix philosophy (the idea that software should be modular, that data should be stored in plain text, and that complex systems can be built by composing simple, single-purpose tools) remains a foundational paradigm in computer science. Concepts introduced by Unix, such as hierarchical file systems, regular expressions, and the C programming language, are so deeply embedded in modern technology that they are practically invisible. From the servers that route global financial transactions to the smartphones in billions of pockets, the architectural decisions made at Bell Labs in 1969 continue to dictate the structure of the digital world.

Sources (36)
  1. Multics project
  2. Space Travel game
  3. Brian Kernighan
  4. First Edition Unix
  5. The Development of the C Language
  6. The Evolution of the Unix Time-sharing System
  7. The UNIX Time-Sharing System
  8. Version 6 Unix
  9. Lions' Commentary on UNIX 6th Edition
  10. Version 7 Unix
  11. Twenty Years of Berkeley Unix
  12. DARPA
  13. Berkeley sockets
  14. Sun Microsystems
  15. Breakup of the Bell System
  16. UNIX System V
  17. Unix wars
  18. Open Software Foundation
  19. IEEE POSIX standard
  20. Explaining BSD
  21. UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc.
  22. The GNU Manifesto
  23. Linus Torvalds Linux announcement
  24. History of the Berkeley Software Distribution
  25. Single UNIX Specification FAQ
  26. NeXT
  27. Apple Darwin Architecture
  28. The Open Brand Register
  29. Linux kernel
  30. Android operating system
  31. Stewart Weiss, System Programming in Linux (No Starch Press, 2025)
  32. Eric S. Raymond, The Art of UNIX Programming (Addison-Wesley Professional, 2003)
  33. Jerry Peek, Grace Todino, John Strang, Learning the Unix Operating System ("O'Reilly Media, Inc.", 2002)
  34. John R. Levine, Margaret Levine Young, UNIX For Dummies (John Wiley & Sons, 2011)
  35. Douglas W. Topham, A System V Guide to UNIX and XENIX (Springer Science & Business Media, 2012)
  36. Christopher Negus, Francois Caen, BSD UNIX Toolbox (Wiley, 2008)