1.起源:Research UNIX(1969-1979)
诞生背景
- 时间:1969年,贝尔实验室
- 地点:美国新泽西州 Murray Hill
- 人物:Ken Thompson、Dennis Ritchie、Brian Kernighan 等
- 硬件:DEC PDP-7 → PDP-11
- 前身:Multics(Project Multics,受CTSS分时系统启发)
- 最初名称:Unics(UNiplexed Information and Computing System,反语取名)
早期版本演进
| 版本 |
年份 |
关键特性 |
| Unix V1 |
1971 |
首个公开版本,汇编语言编写 |
| Unix V2-V5 |
1972-1973 |
逐步完善文件系统 |
| Unix V6 |
1975 |
完整C语言重写(1973年开始),可移植性奠定基础 |
| Unix V7 |
1979 |
最后一个广泛发布的Research UNIX版本,现代UNIX的根源 |
Unix V7是后续所有UNIX分支的共同祖先
2.三大主线演化(1979年后)
┌──────────────────────────────────────┐
│ Unix V7 (1979) │
└──────────────────────────────────────┘
│
┌────────────────────────────┼────────────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ AT&T商用分支 │ │ 伯克利BSD分支 │ │ 贝尔实验室研究 │
│ (System V) │ │ (BSD) │ │ 版本 │
└───────────────┘ └───────────────┘ └───────────────┘
分支一:AT&T商用UNIX(System V路线)
| 版本 |
年份 |
说明 |
| UNIX System III |
1981 |
首个商用UNIX,基于V7开发 |
| UNIX System V Release 2 |
1984 |
增加进程间通信机制 |
| UNIX System V Release 3 |
1986 |
Streams I/O、网络改进 |
| UNIX System V Release 4 (SVR4) |
1988 |
历史性的合并版本 |
SVR4 的意义:
- 融合了 AT&T System V + 伯克利BSD技术 + SunOS + Xenix
- 引入:虚拟内存改进、流媒体(I/O Streams)、TCP/IP协议栈增强
- 成为后来商业UNIX的技术基础
分支二:伯克利BSD路线
| 版本 |
年份 |
关键特性 |
| 2BSD |
1979 |
首个伯克利发行版 |
| 3BSD |
1979 |
引入虚拟内存 |
| 4BSD |
1980 |
网络功能增强 |
| 4.1BSD |
1981 |
改进进程调度 |
| 4.2BSD |
1983 |
TCP/IP协议栈首次整合 |
| 4.3BSD |
1986 |
VAX平台广泛应用 |
| 4.3BSD-Tahoe |
1988 |
支持Motorola 68020 |
| 4.4BSD-Lite |
1994 |
CSRG最后版本,清除AT&T代码 |
BSD的贡献:
- 虚拟内存管理
- TCP/IP网络协议栈
- SIGCHLD信号、套接字接口
- vi编辑器、csh shell
- NFS网络文件系统
分支三:贝尔实验室研究版本
| 版本 |
年份 |
说明 |
| System VIII |
1985 |
实验性发布 |
| System IX |
1986 |
Streams系统深入开发 |
| System X |
1987 |
内部研究版本 |
| System X |
1989 |
CSRG终止前的最后一个版本 |
贝尔实验室的研究版本最终演变为4.4BSD-Lite,CSRG于1994年解散
3.商业UNIX厂商分化(1980s-1990s)
SVR4 + BSD技术融合
│
┌──────────────┼──────────────┬──────────────┐
▼ ▼ ▼ ▼
┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
│Solaris│ │ AIX │ │HP-UX │ │IRIX │
│ (Sun) │ │(IBM) │ │ (HP) │ │(SGI) │
└──────┘ └──────┘ └──────┘ └──────┘
| 厂商 |
产品 |
基础架构 |
特点 |
| Sun Microsystems |
Solaris (原SunOS) |
SVR4 + BSD |
企业级服务器,ZFS文件系统,DTrace性能分析 |
| IBM |
AIX |
System V |
PowerPC架构,大型主机集成,WebSphere应用服务器 |
| HP/HPE |
HP-UX |
System V |
PA-RISC/Itanium架构,可靠性优先 |
| SGI |
IRIX |
System V |
MIPS架构,图形工作站,OpenGL先驱 |
| DEC |
Tru64 UNIX |
OSF/1 |
Alpha架构,后被Compaq收购 |
| Novell |
UnixWare |
SVR4 |
收购AT&T UNIX商标后发布 |
4.开源UNIX家族的崛起
Linux(1991-至今)
| 要素 |
说明 |
| 创始人 |
Linus Torvalds(芬兰赫尔辛基大学学生) |
| 起点 |
1991年,为替代教学用MINIX而开发内核 |
| 许可证 |
GPL(GNU General Public License) |
| 内核 |
单内核(Monolithic),模块化设计 |
| 里程碑 |
1993年Debian首发;2004年Ubuntu首发;2011年Android基于Linux内核 |
Linux生态:
- 内核本身不是完整操作系统,需要GNU工具集配合
- 发行版(Distribution):Red Hat、SUSE、Ubuntu、Debian、CentOS等
- 与POSIX.1兼容,但未通过UNIX商标认证(不能自称”UNIX”)
BSD家族的现代发展
| 项目 |
状态 |
特点 |
| FreeBSD |
活跃开发 |
性能优化,ZFS支持, jails虚拟化 |
| NetBSD |
活跃开发 |
跨平台能力最强(Port支持最多) |
| OpenBSD |
活跃开发 |
安全性优先,代码审计严格 |
| macOS/Darwin |
Apple官方 |
基于Mach微内核+BSD用户空间 |
5.Darwin与macOS(2001-至今)
Apple收购NeXT (1996)
│
▼
NeXTSTEP操作系统(基于Mach微内核+BSD)
│
▼
Darwin内核(Mach + FreeBSD组件)
│
├─────── Intel架构:Mac OS X (2001)
│ ├── Leopard (10.5)
│ ├── Snow Leopard (10.6)
│ └── 至今:macOS Sequoia (15.x)
│
└─────── ARM架构:iOS/iPadOS/tvOS/watchOS
Darwin的核心特性:
- 基于Mach 3.0微内核(Carnegie Mellon University)
- BSD用户空间(FreeBSD 4.4基础)
- 通过Open Group UNIX 03认证(唯一消费级认证UNIX)
- POSIX.1-2008 compliant
6.UNIX标准化运动
主要标准组织
| 组织 |
标准 |
说明 |
| IEEE |
POSIX.1 (ISO/IEC 9945) |
系统调用和库函数接口标准 |
| The Open Group |
Single UNIX Specification (SUS) |
UNIX商标认证依据 |
| ISO |
ISO/IEC 9945 |
POSIX的国际化版本 |
| ANSI |
ANSI C (C89/C99/C11) |
C语言标准,影响系统编程 |
SUS版本演进
| 版本 |
年份 |
新增内容 |
| SUSv1 |
1994 |
约1170个接口(Spec 1170) |
| SUSv2 |
1997 |
XSI扩展完善 |
| SUSv3 |
2001 |
POSIX.1-2001,线程增强 |
| SUSv4 |
2008 |
约1833个接口,异步I/O、自旋锁等 |
| SUSv5 |
2018 |
POSIX.1-2017更新 |
7.现代UNIX系统全景图
类UNIX操作系统家族
│
┌─────────────────┼─────────────────┐
│ │ │
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
│ 商业UNIX │ │ BSD家族 │ │ Linux系 │
│ 认证系统 │ │ 开源系统 │ │ 开源系统 │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
┌────┴────┐ ┌─────┴─────┐ ┌─────┴─────┐
│Solaris │ │FreeBSD │ │ 内核 │
│AIX │ │NetBSD │ │ Ubuntu │
│HP-UX │ │OpenBSD │ │ RHEL │
│Tru64 │ │Darwin │ │ Debian │
└─────────┘ └─────┬─────┘ └────────────┘
│
┌─────┴─────┐
│ macOS │
│ iOS/iPadOS│
└───────────┘