当前位置:嗨网首页>书籍在线阅读

15-总结

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.4 总结

1969年,贝尔实验室(AT&T的一个部门)的Ken Thompson在Digital PDP-7小型机上首次实现了UNIX系统。对该操作系统而言,无论是理念还是其双关语的称谓都来源于早期的MULTICS系统。时至1973年,UNIX已经被移植到了PDP-11小型机上,并以C语言对其进行了重写,C编程语言是由贝尔实验室的Dennis Ritchie设计并实现的。因为法律禁止AT&T销售UNIX,于是,在象征性地收取了一定的费用之后,AT&T索性将UNIX系统散布进了大学。这其中便包括了源码,因为这一廉价操作系统的代码可供大学计算机系的师生研究和修改,故而这一操作系统在校园内广受欢迎。

在UNIX系统的开发方面,加州大学伯克利分校扮演了“关键先生”。在该校,Ken Thompson及一干研究生又对这一操作系统进行了“精雕细琢”。到了1979年,这所大学发布了属于自己的UNIX发布版——BSD。这一发布版在学术界广为流传,并在日后成为某些商业UNIX实现的基石。

在此期间,随着AT&T不再对电信市场形成垄断,该公司被获准销售UNIX。这也就催生出了另一种UNIX的变种——System V,日后,它也成为了某些商业UNIX实现的基石。

有两股不同的潮流引领着(GNU/)Linux的开发。其中之一便是由Richard Stallman所创的GNU项目。20世纪80年代末,GNU项目已经开发出了一套几乎完备且可以自由分发的UNIX实现,但独缺一颗能够有效运作的内核。1991年,Linus Torvalds被Minix内核(由Andrew Tanenbaum编写)“灵魂附体”,于是便开发出了一颗能够在Intel x86-32架构上正常运作的内核。应Torvalds之邀,许多其他程序员也加入到了改进内核的行列中。随着时光的流逝,在一干程序员的不懈努力下,Linux逐渐发展壮大,并被移植到了多种硬件架构之上。

20世纪80年代末,UNIX和C语言的实现“百花齐放”,所引发的可移植性问题迫使人们开展针对以上两者的标准化工作。1989年,对C语言的标准化工作完成(C89颁布),在1999年,对C89这一标准进行了修订(C99颁布)。在操作系统接口方面,对其标准化的“第一次吃螃蟹”便催生出了POSIX.1,1988年和1990年,IEEE和ISO先后将POSIX.1采纳为标准。20世纪90年代,人们又开始酝酿一个囊括各版SUS在内的更为详尽的标准。2001年,合二为一的POSIX 1003.1-2001和SUSv3标准颁布。该标准合并并扩展了先前的POSIX标准和各版SUS。2008年,人们完成了对该标准的修订(改动幅度不算太大)工作,于是,合二为一的POSIX 1003.1-2008和SUSv4标准浮出水面。

与大多数商业UNIX实现不同,Linux的开发与发行可谓“风马牛不相及”。因此,并无单一的“官方”Linux发布版。各家Linux发行商所提供的只是当前稳定内核的快照,最多针对其打几个补丁。LSB开发并推广了一套Linux系统标准,其主要目的是用来保证二进制应用程序(即编译过的过程)在不同Linux发布版之间的兼容性,以便编译过的应用程序能够运行在任何符合LSB规范的操作系统上,但前提是操作系统所运行的硬件平台必须相同。

进阶阅读

欲知更多有关UNIX历史及标准的信息,请参阅[Ritchie,1984]、[McKusick et al.,1996]、[McKusick & Neville-Neil, 2005]、[Libes & Ressler,1989]、[Garfinkel et al., 2003]、[Stevens & Rago, 2005]、[Stevens, 1999]、[Quartermann & Wilhelm, 1993]、[Goodheart & Cox, 1994]以及[McKusick, 1999]。

[Salus, 1994]是一本详尽的UNIX编年史,本章开篇的许多内容均取自该书。[Salus, 2008]回顾了Linux和其他自由软件项目的简史。此外,与UNIX历史相关的许多细节都可以在Ronda Hauben所著的在线书籍History of UNIX中找到。在http://www.dei.isep.ipp.pt/~acc/docs/unix.html上,可下载到该书。在http://www.levenez.com/unix/上,刊载了一张非常详尽的、显示了各种UNIX实现版本变迁的时间表。

[Josey, 2004]概括了 UNIX系统和SUSv3发展的历史,在指导读者如何使用SUSv3规范的同时,还提供了 SUSv3 所含接口的汇总表,除此之外,还给出了从SUSv2和C89升级到SUSv3和C99的迁移指南。

除了提供软件和文档之外,GNU Web站点(http://www.gnu.org/)还刊载了许多与自由软件项目有关的哲学性文章。[Williams, 2002]是一本Richard Stallman的个人传记。

在[Torvalds & Diamond, 2001]中,Torvalds提供了自己用作Linux开发的私人账户。