搬运-同源不同命:Unix 与 Linux 的 50 年纠葛
历史渊源与血统
1969 年Unix诞生于 AT&T 贝尔实验室,由 Ken Thompson、Dennis Ritchie 等用汇编和后来的 C 语言写成。源码曾授权给大学和企业,催生出两大流派:System V(商用)和BSD(伯克利)
SystemV衍生出 AIX、HP-UX、Solaris 等操作系统,而BSD则衍生出 SunOS、NeXTSTEP,并最终发展出 FreeBSD、NetBSD、OpenBSD。
macOS 的 Darwin 核心正是 BSD 后裔。
1991 年,芬兰学生 Linus Torvalds 因不满当时教学用 Minix 的限制,从零开始编写内核,并以 UNIX 的设计和 POSIX 标准为参考。Linux 没有使用哪怕一行 Unix 源码,是完全独立的实现。
它与 GNU 项目的工具(编译器、Shell、核心工具集)结合,组成了完整的 GNU/Linux 操作系统。
版权许可:根本性的分歧
版权是两者最核心的区别,决定了生态和商业模式。
Unix许可证历史上大多为专有许可证,需要购买授权使用,相反,Linux使用GNU GPL v2(通用公共许可证)属于开源自由软件。
因为Unix需要付费授权,源码自然也是不公开的。早期SystemV可以通过额外付费获取源代码。Linux的内核及大部分系统组件源码完全公开,可以自由获取。
关于内容分发,闭源的Unix严格限制第三方或个人修改系统制作发行版,开源的Linux则允许任何人自由修改、运行和再分发,但须保持同样许可证。
Unix内核的系统有AIX、HP-UX、Solaris(历史上)为闭源。BSD 系(FreeBSD)使用的是更宽松的 BSD 许可证。Linux为代表的操作系统有Debian, RHEL, Ubuntu 等所有发行版。Android 内核也基于 Linux。
补充说明:BSD 系(如 FreeBSD)虽为 Unix 直系后裔,但采用BSD 许可证,允许闭源商用,比 GPL 更为宽松。这是 Unix 家族内部的一个重要分支。
标准化与认证:谁才是“真·Unix”?
“Unix”现在是一个商标,归 The Open Group 所有。只有通过其认证、符合单一 UNIX 规范(Single UNIX Specification) 的操作系统,才能合法使用 Unix 商标。
获得认证的 Unix 系统:
-
-
macOS(自 10.5 起,每次大版本更新均获认证)
-
AIX(IBM)
-
HP-UX(惠普企业)
-
过去的 Solaris(Oracle 已不再续费认证)
-
Linux 的认证:
绝大多数 Linux 发行版(如 Ubuntu, Debian, RHEL)都没有申请 Unix 认证,原因主要是认证费用高昂且过程繁琐,而非技术不达标。它们被称为类 Unix(Unix-like)系统。
例外:少数 Linux 发行版为特定市场获取过认证,例如华为的 EulerOS 和浪潮的 K-UX,这证明 Linux 内核完全有能力满足 Unix 标准。因此,“Linux 不是 Unix”在商标和血统上成立,但在技术标准上并非绝对。
内核架构与设计哲学
Linux
宏内核。内核集成了进程管理、内存管理、设备驱动、文件系统、网络协议栈等所有核心服务,运行在同一个内核地址空间。优点是效率高,模块化设计保证了灵活性;缺点是某个驱动崩溃可能影响整个系统。
Unix(商用/BSD)
架构多样。传统商用 Unix(AIX, Solaris)多为宏内核。而macOS 的 XNU 内核是典型的混合内核,它结合了微内核 Mach 的消息传递机制和 FreeBSD 单体内核的代码,兼顾灵活与性能。早期的学术 Unix(Minix)及 QNX 等则是纯微内核。
两者都遵循 Unix 哲学中的“一切皆文件”等核心思想。
发行版与碎片化
Linux
高度碎片化是其力量之源,也是复杂性所在。有成百上千个发行版,每个都打包了不同的 Linux 内核、GNU 工具、包管理器(apt/dnf/pacman)和桌面环境(GNOME/KDE)。这带来了巨大的选择自由,但也导致了版本兼容、配置差异等维护难题。
Unix
传统上,每个 Unix 都是一个完整的、高度整合的供应商操作系统,几乎没有“发行版”的概念。
AIX 只运行在 IBM POWER 服务器上。
HP-UX 只运行在 HP 的 Integrity/Itanium 服务器上。
macOS 只运行在苹果 Mac 硬件上。
这种紧耦合带来了极致的稳定性和优化,但牺牲了用户的自由选择权。
macOS可以使用其他手段运行在非苹果Mac硬件上,并强(行)兼(容)驱动程序,叫做黑苹果
命令与工具链
当你打开终端时,操作的其实是不同来源的程序。
Linux
典型使用 GNU 工具集:
-
-
Shell:GNU Bash(再次强调,Bash 是 GNU 项目)。
-
核心工具:GNU Coreutils(
ls,cp,mv等)。 -
编译器:GCC(GNU 编译器集合)。
这些工具通常比传统 Unix 版本功能更丰富,支持更多选项(如ls --color=auto)。
-
Unix
使用各自厂商或分支提供的专有工具集。
-
-
-
AIX 默认 Shell 为 KornShell (ksh)。
-
Solaris 曾同时提供旧版 System V 工具和 BSD 版。
-
macOS 默认 Shell 为 zsh,系统工具多源自 BSD 版本(如
ls -G带颜色)。
两者都高度兼容 POSIX 标准,基础脚本可以平滑迁移,但在复杂操作上会有不兼容的差异。
-
-
硬件兼容性与平台支持
Linux
以无与伦比的硬件兼容性著称。从 x86/ARM 服务器、个人电脑,到手机(Android)、嵌入式设备、路由器,再到 TOP500 榜单上 100% 的超级计算机,Linux 都能驱动。
Unix
历史上与厂商自有硬件深度绑定。
-
AIX → IBM POWER 架构
-
HP-UX → IA-64 (Itanium)
-
Solaris 曾支持 x86,但市场已极度萎缩。
这种紧耦合虽能实现深度优化,但在通用性和成本上远不及 Linux。macOS 的硬件也仅限于苹果自家产品。
成本、支持与市场生态
Linux
系统本身免费,企业通过提供付费订阅服务(如 Red Hat 订阅,提供支持、更新和法务保障)盈利。支持来源广泛,包括社区、自由职业者和专业公司。
Unix
传统上,系统许可证、开发工具、编译器等均需单独高价购买,且通常捆绑在昂贵的专有硬件上。支持由单一厂商提供,服务品质高但成本也极其高昂。
这一差异是 Linux 在 90 年代末至 2000 年代初大规模取代商业 Unix 服务器的最重要经济原因。
总结对比表
| 维度 | Linux | Unix (商用/认证) |
|---|---|---|
| 血统 | 独立编写的类 Unix 内核 | 可追溯至贝尔实验室源码 |
| 许可证 | GPL v2 (开源自由) | 专有闭源 (BSD 分支除外) |
| 官方认证 | 绝大多数无 Unix 认证 | 系统如 macOS、AIX 等通过认证 |
| 内核架构 | 宏内核,高度模块化 | 多样:宏内核 (AIX)、混合 (macOS) |
| 硬件支持 | 极其广泛,跨几乎所有平台 | 严格绑定特定厂商硬件 |
| 碎片化 | 高度碎片化,无数发行版 | 统一的供应商垂直整合 |
| 成本 | 免费,付费买服务与支持 | 极其昂贵的授权费与硬件费 |
| 发展动力 | 全球开发者社区与企业协作 | 由单一厂商控制开发与路线图 |
一言以蔽之:Linux 是开源世界在 PC 时代对 Unix 哲学的重现与超越,而 Unix 则是那个塑造了现代计算基础、如今仍坚守在关键任务和特定生态中的历史丰碑。
原文链接:Aurora.歆の小破站