原创 Linux简明史

2020-7-18 14:15 707 8 8 分类: 软件与OS

 由于Linux是在Unix的基础上发展而来的,我们的话题就从Unix开始。

Unix是由AT&T贝尔实验室的Ken ThompsonDennis Ritchie1969年在一台已经废弃了的PDP-7上开发的;它最初是一个用汇编语言写成的单用户操作系统。不久,ThompsonRitchie成功地说服管理部门为他们购买更新的机器,以便该开发小组可以实现一个文本处理系统,Unix就在PDP-11上用C语言重新编写(发明C语言的部分目的就在于此)。它果真变成了一个文本处理系统——不久之后。只不过问题是他们先实现了一个操作系统而已

最终,他们实现了该文本处理工具,而且Unix(以及Unix上运行的工具)也在AT&T得到广泛应用。在1973年,ThompsonRitchie在一个操作系统会议上就这个系统发表了一篇论文,该论文引起了学术界对Unix系统的极大兴趣。

由于1956年反托拉斯法案的限制,AT&T不能涉足计算机业务,但允许它可以以象征性的费用发售该系统。就这样,Unix被广泛发布,首先是学术科研用户,后来又扩展到政府和商业用户。

伯克利(Berkeley的加州大学是学术用户中的一个。在这里Unix得到了计算机系统研究小组(CSRG)的广泛应用。并且在这里所进行的修改引发了Unix的一大系列,这就是广为人知的伯克利软件开发(BSDUnix。除了AT&T所提供的Unix系列之外,BSD是最有影响力的Unix系列。BSDUnix中增加了很多显著特性,例如TCP/IP网络,更好的用户文件系统(UFS),工作控制,并且改进了AT&T的内存管理代码。

多年以来,BSD版本的Unix一直在学术环境中占据主导地位,但最终发展成为System V版本的AT&TUnix则成为商业领域的主宰。从某种程度上来说,这是有社会原因的:学校倾向于使用非正式但通常更好用的BSD风格的Unix,而商业界则倾向于从AT&T获取Unix

在用户需求驱动和用户编程改进特性的促进下,BSD风格的Unix一般要比AT&TUnix更具有创新性,而且改进也更为迅速。但是,在AT&T发布最后一个正式版本System V Release 4SVR4)时,System V Unix已经吸收了BSD的大多数重要的优点,并且还增加了一些自己的优势。这种现象的部分原因在于从1984年开始,AT&T逐渐可以将Unix商业化,而伯克利Unix的开发工作在1993BSD4.4版本完成以后就逐渐收缩以至终止了。然而,BSD的进一步改进由外界开发者延续下来,到今天还在继续进行。正在进行的Unix系列开发中至少有四个独立的版本是直接起源于BSD4.4,这还不包括几个厂商的Unix版本,例如惠普的HP-UX,都是部分地或者全部地基于BSD而发展起来的。

实际上Unix的变种并不止BSDSystem V。由于Unix主要使用C语言来编写,这就使得它相对比较容易地移植到新的机器上,它的简单性也使其相对比较容易重新设计与开发。Unix的这些特点大受商业界硬件供应商的欢迎,比如SunSGI、惠普、IBMDEC(数字设备公司)、Amdahl等等;IBM还不止一次对Unix进行了再开发。厂商们设计开发出新的硬件并简单地将Unix移植到新的硬件上,这样新的硬件一经发布便具备一定的功能。经过一段时间之后,这些厂商都拥有了自己的专有Unix版本。而且为了占有市场,这些版本故意以不同的侧重点发布出来以更好的占有用户。

版本混乱的状态促进了标准化工作的进行。其中最主要的就是POSIX系列标准,它定义了一套标准的操作系统接口和工具。从理论上说,POSIX标准代码很容易移植到任何遵守POSIX标准的操作系统中,而且严格的POSIX测试已经把这种理论上的可移植性转化为现实。直到今天,几乎所有的正式操作系统都以支持POSIX标准为目标。

现在让我们回顾一下,在1984年,杰出的电脑黑客Richard Stallman独立开发出一个类Unix的操作系统,该操作系统具有完全的内核、开发工具和终端用户应用程序。在GNU(“GNU’s Not Unix”首字母的缩写)计划的配合下,Stallman开发这个产品有自己的技术理想:他想开发出一个质量高而且自由的操作系统。Stallman使用了“自由”(free)这个词,不仅意味着用户可以免费的获取软件;而且更重要的是,它将意味着某种程度的“解放”:用户可以自由使用、拷贝、查询、重用、修改甚至是分发这份软件,完全没有软件使用协议的限制。这也正是Stallman创建自由软件基金会(FSF)资助GNU软件开发的本意(FSF也在资助其它科研方面的开发工作)。

15年以来,GNU工程已经吸收、产生了大量的程序,这不仅包括EmacsgccGNUC编译器),bashshell命令),还有大部分Linux用户所熟知的许多应用程序。现在正在进行开发的项目是GNU Hurd内核,这是GNU操作系统的最后一个主要部件(实际上Hurd内核早已能够使用了,不过当前的版本号为0.3的系统在什么时候能够完成,还是未知数)。

尽管Linux大受欢迎,但是Hurd内核还在继续开发。这种情况的原因有几个方面,其一是Hurd的体系结构十分清晰的体现了Stallman关于操作系统工作方式的思想,例如,在运行期间,任何用户都可以部分的改变或替换Hurd(这种替换不是对每个用户都是可见的,而是只对申请修改的用户可见,而且还必须符合安全规范)。另一个原因是据介绍Hurd对于多处理器的支持比Linux本身的内核要好。还有一个简单的原因是兴趣的驱动,因为程序员们希望能够自由地进行自己所喜欢的工作。只要有人希望为Hurd工作,Hurd的开发就不会停止。如果他们能够如愿以偿,Hurd有朝一日将成为Linux的强劲对手。不过在今天,Linux还是自由内核王国里无可争议的主宰。

GNU发展的中期,也就是1991年,一个名叫Linus Torvalds的芬兰大学生想要了解Intel的新CPU——80386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix变种版本对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSDSystem V的优点,同时摒弃了它们的缺点。Linus(虽然我知道我应该称他为Torvalds,但是所有人都称他为Linus)独立把这个内核开发到0.02版,这个版本已经可以运行gccbash和很少的一些应用程序。这些就是他开始的全部工作了。后来,他又开始在因特网络上寻求广泛的帮助。

不到三年,LinusUnixLinux—已经升级到1.0版本。它的源代码量也呈指数形式增长,实现了基本的TCP/IP功能(网络部分的代码后来重写过,而且还可能会再次重写)。此时Linux就已经拥有大约10万用户了。

现在的Linux内核由150多万行代码组成,Linux也已经拥有了大约1000万用户(由于Linux可以自由获取和拷贝,获取具体的统计数字是不可能的)。Linux内核GNU/Linux附同GNU工具已经占据了Unix 50%的市场。一些公司正在把内核和一些应用程序同安装软件打包在一起,生产出Linuxdistribution(发行版本),这些公司包括Red HatCalera prominent公司。现在的GNU/Linux已经备受注目,得到了诸如SunIBMSGI等公司的广泛支持。SGI最近决定在其基于IntelMerced的系列机器上不再搭载自己的Unix变种版本IRIX,而是直接采用GNU/LinuxLinux甚至被指定为Amiga将要发布的新操作系统的基础。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条