回答这个问题之前,先给大家推荐一本书,叫《UNIX 传奇:历史与回忆》,作者是贝尔实验室的研究员,亲历了 UNIX 从 0 到 1 的过程。
这本书讲述了 UNIX 是如何从贝尔实验室诞生的,它的设计哲学有哪些,以及 UNIX 及其后继者的发展轨迹。
这本书里有一张图,是 UNIX 及类 UNIX 系统的发展时间线和脉络图:
UNIX 最早是贝尔实验室的一个研究项目,贝尔实验室隶属 AT&T,即美国电话电报公司,所以最早的 UNIX 其实就是 AT&T 的 UNIX。
1973 年,AT&T 开始向高校发放 UNIX 许可,包括 UNIX 源代码,并收取象征性的费用。1975 年,AT&T 把 UNIX 第 6 版 的源码授权给了一些高校和研究机构,这其中就包括加利福利亚大学伯克利分校(Berkeley)。
伯克利分校的研究生基于UNIX 第 6 版,拓展了一些能力,包括 TCP/IP 网络接口,vi 文本编辑器等等,最终演化出了 BSD(Berkeley Software Distribution)UNIX,也就是伯克利软件发行版。
像标题中提到的 FreeBSD、OpenBSD,以及 macOS,都是从 BSD 发展出来的。具体的衍生关系,可以看下面这张图(来源:维基百科)。
绿色是开源、红色是闭源、黄色是部分开源而 Linux 并不是从 BSD 发展而来,它是 Linus(Linux之父,也是 Git 的创造者)独立开发的,属于类 UNIX 系统。Linux 最初只是一个做着玩的系统,代码只有几千行,如今代码已经超过两千万行,开发者也遍布全球。
在 Linux 之前还有个 Minix,由阿姆斯特丹大学的安迪·塔嫩鲍姆在 1987 年创建的,Minix 形似UNIX,在系统调用层面兼容UNIX,但完全重新编写,采用不同的内核组织方式。
Linus 受到了 Minix 的启发,在 1991 年发布了一个项目,并从社区收集反馈,目的是开发一个比 Minix 更好用的操作系统。
所以回到这个问题,如要硬要说“正统性”,那 FreeBSD 和 OpenBSD 应该更“正统”一点,毕竟都是从 BSD 版本发展过来的,而 BSD 最早也是基于 AT&T UNIX 第 6 版的代码开发的。虽然不知道现在的 FreeBSD 和 OpenBSD 里还有多少当年的代码。
另外 macOS 可能也算“正统”,毕竟获得了 The Open Group 的 UNIX 标准认证。
其实不用太关注这些系统哪些是“最正统”的 UNIX,它们都发展自 AT&T UNIX,继承了 UNIX 系统的设计理念(比如一切皆文件),都是站在巨人的肩膀上,成长起来的新的巨人。