Unix Timeline: From AT&T to Modern Linux
Introduction
The history of Unix is the history of modern computing itself. Born in a cramped lab at Bell Telephone Laboratories in 1969, Unix evolved from a small project by two programmers into a global ecosystem that powers everything from smartphones to supercomputers. This timeline traces the key events, forks, and philosophical shifts that shaped the operating system landscape—from the original AT&T Unix through BSD, System V, MINIX, and ultimately to Linux.
Understanding this lineage is essential for anyone working with Linux, because many of the design decisions, conventions, and even controversies that define modern systems trace directly back to these decades of evolution.
The Birth of Unix (1969–1979)
Multics to Unics
In the mid-1960s, Bell Labs was a partner in the Multics (Multiplexed Information and Computing Service) project alongside MIT and General Electric. Multics was an ambitious time-sharing operating system, but by 1969, Bell Labs withdrew from the project due to its complexity and cost.
Ken Thompson and Dennis Ritchie, both Bell Labs researchers who had worked on Multics, wanted to preserve the interactive computing environment they had grown accustomed to. Thompson found a spare PDP-7 minicomputer and began writing a new operating system.
1969 — Key Milestone
├── Ken Thompson writes a file system on a PDP-7
├── Dennis Ritchie joins the effort
├── The name "Unics" is coined (a pun on "Multics")
│ └── Brian Kernighan suggested the name
└── First version: assembler-based, single-user
Unix V1 through V6
| Version | Year | Key Features |
|---|---|---|
| V1 | 1971 | First edition; PDP-11/20; fork() primitive; roff text formatter |
| V2 | 1972 | Rewritten in assembly; C compiler by Ritchie |
| V3 | 1973 | First C rewrite begins; pipes introduced |
| V4 | 1973 | Mostly rewritten in C—a revolutionary decision |
| V5 | 1974 | Licensed to universities for $200 |
| V6 | 1975 | Widely distributed; basis for BSD; PDP-11/40 and /45 support |
The decision to rewrite Unix in C (developed by Dennis Ritchie specifically for this purpose) was transformative. For the first time, an operating system was written in a high-level language, making it portable across hardware architectures.
“C was invented essentially to write Unix in, and the combination of C and Unix became the lingua franca of computing.” — Brian Kernighan
System III and System V
AT&T released System III in 1982, followed by System V (also called SVR1) in 1983. System V became the commercial branch of Unix:
AT&T Unix Lineage
──────────────────
V6 (1975)
├── V7 (1979) — Last research Unix widely distributed
├── 32V (1979) — First Unix for VAX (32-bit)
├── System III (1982) — AT&T commercial release
└── System V (1983)
├── SVR2 (1984) — STREAMS I/O, shared libraries
├── SVR3 (1987) — TLI networking, ELF format
├── SVR3.2 (1987) — Multiprocessor support
├── SVR4 (1989) — Merged with SunOS; massive feature set
└── SVR4.2 (1992) — UnixWare, Novell involvement
System V Release 4 (SVR4) was particularly significant because it merged features from three major branches: System V, BSD, and SunOS. This was a joint effort between AT&T and Sun Microsystems.
Key System V Contributions
initsystem with runlevels (influenced systemd design debates decades later)- STREAMS — a flexible I/O framework for networking
- IPC mechanisms — shared memory, semaphores, message queues
- ELF binary format — still the standard on Linux today (see
arch/x86.md) - Dynamic linking — shared libraries (
.sofiles)
System V init Runlevels
The System V init system used numbered runlevels to define system states:
| Runlevel | Purpose |
|---|---|
| 0 | Halt (shutdown) |
| 1 | Single-user mode (maintenance) |
| 2 | Multi-user, no networking (Debian default) |
| 3 | Multi-user, with networking (RHEL default) |
| 4 | User-definable |
| 5 | Multi-user + graphical display (RHEL desktop) |
| 6 | Reboot |
# Traditional SysV init scripts
/etc/init.d/apache2 start
/etc/init.d/apache2 stop
# Check current runlevel
$ runlevel
N 5
# Change runlevel
$ init 3 # Switch to multi-user text mode
This runlevel model persisted until systemd replaced it in most distributions (2010–2015). The debate over systemd’s replacement of runlevels with targets was one of the most heated in Linux distribution history.
The BSD Branch (1977–Present)
Origins at Berkeley
The Berkeley Software Distribution began in 1977 when Bill Joy, a graduate student at UC Berkeley, started distributing enhancements to Unix V6 on PDP-11 tapes.
BSD Evolution
─────────────
1BSD (1977) — Joy's Pascal compiler, ex editor
2BSD (1978) — vi editor, termcap, more utilities
3BSD (1979) — VAX support, virtual memory
4.0BSD (1980) — TCP/IP networking stack (Joy)
4.1BSD (1981) — Fast file system (FFS)
4.2BSD (1983) — socket API, reliable signals
4.3BSD (1986) — Performance improvements
4.3BSD-Tahoe (1988) — Support for CCI and Power 6/32
4.3BSD-Reno (1990) — NFS client support
4.4BSD-Lite (1994) — Last Berkeley release (CSRG dissolves)
The Legal Battles
The early 1990s saw a protracted legal battle between Unix System Laboratories (USL) and BSDi (Berkeley Software Design Inc.) over alleged copyright infringement in BSD. The case was settled in 1994, but the delay was catastrophic for BSD adoption.
Key consequence: during the years BSD was legally encumbered, Linux emerged and gained momentum. Many historians argue that without the USL lawsuit, BSD might have become the dominant open-source Unix.
BSD Descendants
4.4BSD-Lite (1994)
├── FreeBSD (1993) — Performance, server workloads
│ └── Used by Netflix, WhatsApp, PlayStation OS
├── NetBSD (1993) — "Runs on anything" portability
│ └── Embedded systems, retro computing
├── OpenBSD (1995) — Security-focused (Theo de Raadt)
│ └── OpenSSH, LibreSSL, pf firewall
├── DragonFly BSD (2003) — Matt Dillon, new SMP approach
└── macOS / iOS (Darwin kernel)
└── Mach microkernel + BSD layer
MINIX and the Seeds of Linux (1987–1991)
Andrew Tanenbaum’s Teaching Tool
In 1987, Professor Andrew S. Tanenbaum of Vrije Universiteit Amsterdam created MINIX (MINi-unIX) as a teaching operating system. It was designed to accompany his textbook Operating Systems: Design and Implementation.
MINIX was significant for several reasons:
- Microkernel architecture — message-passing design, minimal kernel
- Runs on modest hardware — 8088 PCs with 256KB RAM
- Complete and documented — all source code published in the textbook
- Educational philosophy — Tanenbaum intentionally kept it simple
MINIX Architecture (Microkernel)
┌─────────────────────────────────────┐
│ User Processes │
├────────┬────────┬────────┬─────────┤
│ File │ Memory │ Device │ Network │ ← Server processes
│ System │ Mgr │ Driver │ │
├────────┴────────┴────────┴─────────┤
│ Microkernel │ ← Minimal: scheduling, IPC
├─────────────────────────────────────┤
│ Hardware │
└─────────────────────────────────────┘
MINIX 2 and 3
| Version | Year | Notable Features |
|---|---|---|
| MINIX 1 | 1987 | Original; 12,000 lines of C; IBM PC |
| MINIX 2 | 1997 | POSIX-compliant; networking support |
| MINIX 3 | 2005 | Self-healing; live update; runs drivers in user space |
MINIX 3’s self-healing capabilities were particularly innovative—it could automatically restart crashed drivers without rebooting the system.
The Connection to Linux
In 1991, Linus Torvalds, a student at the University of Helsinki, purchased an IBM PC/AT with a 386 processor. He initially used MINIX but found it limiting for his purposes. His frustration with MINIX’s licensing (it was not free software in the GNU sense) and technical limitations directly motivated the creation of Linux.
The famous Usenet post that announced Linux was cross-posted to comp.os.minix, reflecting the direct lineage. (See tanenbaum-debate.md for the subsequent philosophical clash.)
The Unix Wars and Standardization (1980s–1990s)
The Fragmentation Problem
By the late 1980s, Unix had fragmented into dozens of incompatible variants:
graph TD
U[Original Unix] --> ATT["AT&T System V"]
U --> BSD[Berkeley BSD]
ATT --> SVR4[System V Release 4]
ATT --> HP[HP-UX]
ATT --> AIX[IBM AIX]
ATT --> SCO[SCO Unix]
BSD --> SUN[SunOS/Solaris]
BSD --> IRIX[SGI IRIX]
BSD --> ULT[Digital Ultrix]
SVR4 --> UW[UnixWare]
SVR4 --> SOL[Solaris 2.x]
style U fill:#f9f,stroke:#333
style SVR4 fill:#bbf,stroke:#333
Standardization Efforts
Multiple competing standards emerged:
| Standard | Organization | Year | Focus |
|---|---|---|---|
| POSIX | IEEE | 1988 | Portable OS interface (IEEE 1003) |
| SVID | AT&T | 1985 | System V Interface Definition |
| X/Open | X/Open Group | 1984 | European portability standard |
| OSF | Open Software Foundation | 1988 | Anti-AT&T coalition |
| UI | Unix International | 1988 | Pro-AT&T/SVR4 coalition |
| Single UNIX Spec | X/Open | 1994 | Merged POSIX + X/Open |
| LSB | FSG | 2001 | Linux Standard Base |
POSIX (Portable Operating System Interface) was the most successful standardization effort. IEEE 1003 defined a common API that allowed programs to be portable across Unix-like systems. Linux largely conforms to POSIX, which is a key reason why it could replace commercial Unix systems.
The Open Source Revolution (1991–2000)
The GPL and Free Software
Richard Stallman’s GNU project (started 1983) had created most of the userland tools for a free Unix-like system by the early 1990s—everything except the kernel (GNU Hurd was perpetually delayed). The GNU General Public License (GPL) ensured that derivative works would remain free.
When Linus Torvalds released Linux under the GPL in 1992, it completed the GNU/Linux system and triggered an explosion of open-source development.
The 1990s Timeline
1991 — Linux 0.01 released (Sept 17)
1992 — Linux relicensed under GPL
1993 — Slackware and Debian, the first Linux distributions
FreeBSD 1.0 released
1994 — Linux 1.0 released (March 14)
USL vs BSDi settled
1995 — Apache HTTP Server released
OpenBSD forked from NetBSD
1996 — Linux 2.0 released (June 9)
KDE project started
1997 — Eric Raymond publishes "The Cathedral and the Bazaar"
1998 — Netscape open-sources Mozilla
"Open Source" term coined (Christine Peterson)
1999 — GNOME 1.0 released
Red Hat IPO
2000 — IBM announces $1 billion investment in Linux
The Enterprise Era (2000–2010)
Linux Goes Enterprise
The early 2000s saw Linux transition from a hobbyist system to an enterprise platform:
- 2000: IBM pledges $1 billion for Linux development
- 2001: Linux 2.4 released with improved SMP, new filesystems
- 2003: Red Hat Enterprise Linux (RHEL) becomes dominant server distro
- 2004: Ubuntu launched (Canonical/Mark Shuttleworth)
- 2005: Git created by Linus Torvalds for kernel development
- 2006: Linux dominates the TOP500 supercomputer list
- 2007: Android announced (Linux kernel for mobile)
- 2008: Chrome OS announced
Commercial Unix Decline
Unix Market Share Evolution (Servers)
────────────────────────────────────
1995: ████████████████ Unix (70%)
████ Windows NT (15%)
██ Linux (5%)
2005: ████████ Unix (35%)
████████ Windows (30%)
████████ Linux (25%)
2015: ███ Unix (10%)
████████ Windows (30%)
████████████ Linux (50%)
Commercial Unix systems gradually lost market share:
- Solaris: Sun acquired by Oracle (2010), Solaris effectively discontinued
- HP-UX: Itanium dependency killed by x86 rise
- AIX: IBM shifted focus to Linux on POWER
- IRIX: SGI went bankrupt (2009)
The Modern Era (2010–Present)
Linux Everywhere
By the 2010s, Linux had become the dominant operating system for:
Linux Dominance by Platform (2024)
┌──────────────────┬────────────────┐
│ Platform │ Linux Share │
├──────────────────┼────────────────┤
│ Supercomputers │ 100% (TOP500) │
│ Cloud servers │ ~90% │
│ Web servers │ ~80% │
│ Mobile (Android) │ ~72% │
│ Embedded/IoT │ ~60% │
│ Desktop │ ~4% │
│ Containers │ ~99% │
└──────────────────┴────────────────┘
Key Modern Developments
2011 — Linux 3.0 released (version number change, not major rewrite)
2012 — Linux 3.6: UEFI boot support
2014 — Linux 3.15: systemd becomes default in major distros
2015 — Containers boom (Docker + Kubernetes)
2016 — Windows Subsystem for Linux (WSL) announced
2017 — Linux 4.12: WireGuard merged
2019 — Linux 5.0: mainline support for smartphones
2020 — Linux 5.6: USB4, WireGuard merged into mainline
2022 — Linux 5.19: initial Apple M1 support
2022 — Linux 6.0: Rust infrastructure merged
2023 — Linux 6.1: Rust character device driver
2024 — Linux 6.8: continued Rust integration, performance work
2025 — Linux 6.12+: PREEMPT_RT fully merged into mainline
The Merger of Unix Lineages in Linux
Modern Linux incorporates elements from all major Unix traditions:
graph LR
ATT["AT&T System V"] -->|IPC, ELF, init| L[Modern Linux]
BSD[Berkeley BSD] -->|sockets, FFS concepts| L
GNU[GNU Project] -->|userland tools, GPL| L
MINIX[MINIX] -->|inspiration, POSIX| L
PLAN9[Plan 9] -->|proc filesystem, namespaces| L
SOL[SunOS/Solaris] -->|ZFS ideas, DTrace concepts| L
style L fill:#f96,stroke:#333,stroke-width:3px
Legacy and Impact
The Unix philosophy—small programs that do one thing well, connected through pipes and text streams—remains influential. The key principles articulated by Doug McIlroy in 1978 still apply:
- Make each program do one thing well
- Expect the output of every program to become the input to another
- Design and build software to be tried early
- Prefer tools to unskilled help
These principles shaped not just Linux, but the entire cloud-native ecosystem of containers, microservices, and orchestration. Modern tools like Docker, Kubernetes, and Terraform all embody the Unix philosophy of composable, single-purpose tools connected through well-defined interfaces.
The Unix Heritage Today
# Unix tools from the 1970s are still in daily use:
$ ls | grep ".txt" | sort | wc -l # ls (1971), grep (1974), sort (1974), wc (1973)
# Shell pipelines (1973) remain the primary composition mechanism:
$ cat /var/log/syslog | awk '{print $5}' | sort | uniq -c | sort -rn | head
# The pipe operator (|) was revolutionary in 1973 and is still fundamental:
$ ps aux | grep nginx | awk '{print $2}' | xargs kill
Diagram: Unix Family Tree (Simplified)
graph TD
MULTICS[Multics 1964-1969] -->|inspired| UNIX[Unix V1 1969]
UNIX --> V6[Unix V6 1975]
UNIX --> V7[Unix V7 1979]
V6 --> BSD1[1BSD 1977]
V7 --> BSD2[4BSD 1980]
V7 --> SYS3[System III 1982]
BSD2 --> BSD42[4.2BSD 1983]
BSD2 --> BSD44[4.4BSD 1994]
SYS3 --> SYSV[System V 1983]
SYSV --> SVR4[SVR4 1989]
BSD44 --> FREE[FreeBSD 1993]
BSD44 --> NET[NetBSD 1993]
FREE --> OPEN[OpenBSD 1995]
BSD44 --> DARWIN[Darwin/macOS]
SVR4 --> SOL[Solaris]
SVR4 --> AIX[IBM AIX]
SVR4 --> HPUX[HP-UX]
V7 --> MINIX[MINIX 1987]
MINIX --> LINUX[Linux 1991]
GNU[GNU 1983] --> LINUX
style LINUX fill:#f96,stroke:#333,stroke-width:3px
style UNIX fill:#9cf,stroke:#333
style MULTICS fill:#ddd,stroke:#333
The C Language and Unix
The development of C and Unix were deeply intertwined. Dennis Ritchie developed C specifically to rewrite Unix, and the language’s design reflects the needs of systems programming:
The C Timeline
| Year | Event |
|---|---|
| 1969 | Ken Thompson writes Unix in PDP-7 assembly |
| 1972 | Dennis Ritchie develops C (based on B, which came from BCPL) |
| 1973 | Unix V4 rewritten in C — first OS in a high-level language |
| 1978 | K&R C (“The C Programming Language” published) |
| 1989 | ANSI C (C89) standardized |
| 1999 | C99 adds // comments, stdint.h, VLAs |
| 2011 | C11 adds _Generic, _Static_assert, threads |
| 2023 | C23 adds typeof, nullptr, constexpr |
The decision to write Unix in C was revolutionary. It meant:
- Portability: Unix could be recompiled for new hardware
- Maintainability: C is much easier to read and modify than assembly
- Ecosystem: C became the lingua franca of systems programming
The BSD Networking Revolution
BSD’s contribution to networking cannot be overstated. The socket API, designed by Bill Joy and others at Berkeley in 1983, became the standard interface for network programming on virtually all operating systems:
Key BSD Networking Innovations
| Innovation | Year | Impact |
|---|---|---|
| TCP/IP implementation | 1982 | First production-quality TCP/IP stack |
| Socket API | 1983 | Standard network programming interface |
| Berkeley r-commands | 1982 | rsh, rlogin, rcp (precursors to SSH) |
| Fast File System (FFS) | 1983 | Cylinder groups, fragments, still influential |
select() | 1983 | First I/O multiplexing API |
sendfile() | 1998 | Zero-copy file serving |
Without BSD’s networking code, the internet revolution of the 1990s would have been delayed significantly.
The Mach Microkernel and Its Legacy
Mach, developed at Carnegie Mellon University (1985–1994), was a microkernel that influenced operating system design for decades:
Mach’s Influence
Mach 2.5 (1989)
├── NeXTSTEP (1989) — Steve Jobs' company after Apple
│ └── macOS (2001) — XNU kernel (Mach + BSD)
│ └── iOS (2007)
├── GNU Hurd (1990) — GNU's kernel project (Mach-based)
│ └── Never completed
└── L4 (1993) — Second-generation microkernel
└── seL4 (2009) — Formally verified microkernel
macOS’s XNU kernel is literally Mach + BSD merged together, making it the most commercially successful Mach derivative.
Plan 9 and Its Legacy
Plan 9 from Bell Labs (1992–2000) was the successor to Unix, designed by many of Unix’s original creators (Ken Thompson, Dennis Ritchie, Rob Pike). Many of its innovations were independently reinvented in Linux:
| Feature | Description | Adopted by |
|---|---|---|
/proc filesystem | Process info as files | Linux, Solaris |
| UTF-8 encoding | Universal character encoding | Linux, macOS, Windows, Go |
| Namespaces | Per-process file views | Linux namespaces |
| 9P protocol | Network-transparent file access | Linux (/dev/9p) |
| Union mounts | Overlay filesystems | Linux OverlayFS |
| FUSE | Filesystems in user space | Linux, macOS, FreeBSD |
Unix Market Share Evolution
| Year | Unix | Windows | Linux |
|---|---|---|---|
| 1990 | 95% | 3% | 0% |
| 2000 | 45% | 35% | 15% |
| 2010 | 20% | 35% | 40% |
| 2020 | 3% | 25% | 70% |
The decline of commercial Unix was driven by cost (Linux is free), hardware flexibility (Linux runs on commodity x86), community size (thousands of contributors), and ecosystem breadth.
The Standardization Wars
The fragmentation of Unix led to multiple competing standardization efforts:
Key Standards Timeline
timeline
title Unix Standardization
1984 : X/Open formed (European portability)
1985 : SVID (AT&T System V Interface Definition)
1988 : POSIX (IEEE 1003.1)
1988 : OSF formed (anti-AT&T coalition)
1988 : Unix International (pro-AT&T)
1993 : Single UNIX Spec (X/Open + POSIX merge)
1997 : SUSv2 published
2001 : Linux Standard Base (LSB)
2001 : SUSv3 / POSIX.1-2001
2008 : SUSv4 / POSIX.1-2008
2024 : POSIX.1-2024 (latest)
The Open Group and UNIX Trademark
The Open Group (formed from the merger of X/Open and OSF in 1996) owns the UNIX® trademark. To use it, an operating system must:
- Pass the UNIX conformance test suite
- Pay certification fees
- Comply with the Single UNIX Specification
Certified UNIX systems include: macOS, AIX, HP-UX, Solaris, Inspur K-UX, EulerOS. Linux is not certified (the cost would be prohibitive and the practical benefit minimal).
The Commercial Unix Era (1980s–2000s)
The commercial Unix era produced some of the most influential operating systems in computing history:
Sun Microsystems and Solaris
Sun Microsystems (founded 1982) created SunOS (based on BSD) and later Solaris (based on SVR4). Key innovations:
- NFS (Network File System) — transparent remote file access
- ZFS — revolutionary filesystem with built-in RAID, snapshots, compression
- DTrace — dynamic tracing framework for performance analysis
- SPARC processors — custom RISC architecture
- Zones — OS-level virtualization (precursor to containers)
# Solaris DTrace (later ported to Linux as SystemTap/eBPF)
# Trace all file opens
$ dtrace -n 'syscall::open:entry { printf("%s", copyinstr(arg0)); }'
# ZFS on Linux (ported by OpenZFS project)
$ zpool create tank mirror sda sdb
$ zfs create tank/data
$ zfs snapshot tank/data@backup
Sun was acquired by Oracle in 2010 for $7.4 billion. Oracle effectively discontinued Solaris development in 2017.
IBM AIX
IBM’s AIX (Advanced Interactive eXecutive) ran on POWER and later PowerPC hardware:
- JFS/JFS2 — journaling filesystem
- ODM — Object Data Manager (hardware configuration database)
- SMIT — System Management Interface Tool (TUI-based admin)
- LPAR — logical partitioning (hardware virtualization)
AIX is still supported by IBM for enterprise customers but has seen declining market share.
HP-UX
Hewlett-Packard’s HP-UX ran on PA-RISC and later Itanium:
- Veritas Volume Manager — advanced storage management
- ServiceGuard — high-availability clustering
- Trusted Extensions — security labeling
HP-UX was effectively killed by the Itanium debacle — Intel’s Itanium processor failed to gain market acceptance, and HP’s Unix business collapsed.
The Death of Commercial Unix
graph TD
SUN["Sun Solaris"] -->|Oracle 2010| DEAD1["Discontinued 2017"]
HP["HP-UX"] -->|Itanium dies| DEAD2["End of life"]
IBM["IBM AIX"] -->|Focus shifts| LINUX["Linux on POWER"]
SGI["SGI IRIX"] -->|Bankruptcy 2009| DEAD3["Discontinued"]
SCO["SCO Unix"] -->|Lawsuit loss| DEAD4["Bankrupt 2010"]
style LINUX fill:#f96,stroke:#333,stroke-width:2px
References and Further Reading
-
Ritchie, D.M. & Thompson, K. “The UNIX Time-Sharing System.” Communications of the ACM, Vol. 17, No. 7, 1974. https://www.bell-labs.com/unix-project-history/unix-cacm1974.pdf
-
Salus, Peter H. A Quarter Century of UNIX. Addison-Wesley, 1994. ISBN 978-0201547771
-
McKusick, Marshall Kirk. “Twenty Years of Berkeley Unix.” Open Sources: Voices from the Open Source Revolution, O’Reilly, 1999. https://www.oreilly.com/openbook/opensources/book/kirkmck.html
-
Tozzi, Christopher. For Fun and Profit: A History of the Free and Open Source Software Revolution. MIT Press, 2017.
-
UNIX Heritage Society: https://www.tuhs.org/
-
The Unix Tree (historic source code): https://www.tuhs.org/cgi-bin/utree.pl
-
Computer History Museum — Unix timeline: https://www.computerhistory.org/unix/
-
“The Art of Unix Programming” by Eric S. Raymond: http://www.catb.org/esr/writings/taoup/html/
-
POSIX standard (IEEE 1003): https://pubs.opengroup.org/onlinepubs/9699919799/
-
TOP500 Supercomputers (Linux dominance): https://top500.org/
Related Topics
- The Tanenbaum-Torvalds Debate — the philosophical clash over kernel architecture
- Linux Kernel Development Model — how Linux is developed today
- Notable Kernel Versions — major milestones in Linux kernel releases
- x86 Architecture — the hardware platform that drove Unix adoption
- Building the Kernel — modern kernel compilation process