Unix、Posix和标准UniX规范

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

20世纪60年代是大型、复杂操作系统盛行的年代,比如IBM的OS/360和Honeywell的Multics系统。OS/360是历史上最成功的软件项目之一,而 Multics虽然持续存在了多年,却从来没有被广泛应用过。贝尔实验室曾经是Multics项目的最初参与者,但是因为考虑到该项目的复杂性和缺乏进展而于1969年退出。鉴于Mutics项目不愉快的经历,一群贝尔实验室的研究人员Ken Thompson、 Dennis Ritchie、 Doug Mcllroy和 Joe Ossanna,从1969年开始在DEC PDP-7计算机上完全用机器语言编写了一个简单得多的操作系统。这个新系统中的很多思想,比如层次文件系统、作为用户级进程的 shell概念,都是来自于 Multics,只不过在一个更小、更简单的程序包里实现。1970年,Brian Kernighan给新系统命名为“Unix”,这也是一个双关语,暗指“Multics”的复杂性。1973年用C重新编写其内核,1974年,Unix开始正式对外发布。

贝尔实验室以慷慨的条件向学校提供源代码,所以Unix在大专院校里获得了很多支持并得以持续发展。最有影响的工作发生在20世纪70年代晚期到80年代早期,在美国加州大学伯克利分校,研究人员在一系列发布版本中增加了虚拟内存和Internet协议,称为Unix4.xBSD(Berkeley Software Distribution)。与此同时,贝尔实验室也在发布自己的版本,称为System V Unix。其他厂商的版本,比如Sun Microsystems的Solaris系统,则是从这些原始的BSD和System V版本中衍生而来。

20世纪80年代中期,Unix厂商试图通过加入新的、往往不兼容的特性来使它们的程序与众不同,麻烦也就随之而来了。为了阻止这种趋势,IEEE(电气和电子工程师协会)开始努力标准化Unix的开发,后来由 Richard Stallman命名为“Posix”。结果就得到了一系列的标准,称作Posix标准。这套标准涵盖了很多方面,比如Unix系统调用的C语言接口、shell程序和工具、线程及网络编程。最近,一个被称为“标准Unix规范”的独立标准化工作已经与Posix一起创建了统一的Unix系统标准。这些标准化工作的结果是Unix版本之间的差异已经基本消失。

参考资料:

  1. 深度理解计算机系统(P11)
如果有收获,可以请我喝杯咖啡!