关于Unix家族的的历史和谱系图可以看下面这个图
虽然我们把从unix衍生,和unix相似兼容的这些操作系统:各unix、mac os 、bsd以及类unix的linux都归为一族unix*,但是基本上各个分支的脉络还是比较清晰的。先是Unix演变了V1-V6六代,然后从Unix v6开始分割演变成了各个独立的分支。其中绿色的自由软件系列除了Minix,linux外,其他的mac OS,BSD系列以及收费的Sun OS、solaris都是源于BSD的。BSD系中的openbsd,freebsd都是源于netbsd,来源于unix v6,是正统的Unix血统。
这么多的操作系统,为什么都能统一延续下来并且能做到大致上相似,大多数软件(比如GNU项目软件gcc gdb gawk bash等)都可以兼容运行呢?这源于Unix的一个标准POSIX,它在规范这系列的项目和操作系统上起到了重要的作用。
POSIX,全称可移植的操作系统接口(portable Operating System Interface)。POSIX用的最广的一个例子是常说的Socket,不同unix系OS的socket接口肯定是完全兼容的,对其他符合POSIX标准的系统也兼容。
POSIX最初由IEEE开发和推出,现大部分已经被 ISO 接受为国际标准。POSIX.1 和 POSIX.2 分别定义了 POSIX 兼容操作系统的 C 语言系统接口以及shell和工具标准。
关于Linux来源,笔者的另一篇回答《作为免费软件鼻祖,Linux是如何诞生的?》也说过,liunx的诞生中POSIX也起到关键作用,直接给了Linus启迪和灵感。
就是微软公司近年来也迫于形势开始怀抱开源,在windows上对POSIX的支持也越来越好,基于WSL的linux子系统就是一个很好的例子。关于window10 WSL和linux子系统有关的介绍可以浏览笔者的一篇文章《WSL大量功能更新,Bash on Windows还只是微软的一个玩具?》。
联系客服