系统相关
首页 > 系统相关> > Linux发展史

Linux发展史

作者:互联网

AT&T简单介绍

  AT&T最初由电话之父亚历山大·贝尔创立于1877年,最初叫做贝尔电话公司。电话的发明,第一次实现人类远程实时的交互通信。促进了社会的进步。AT&T从它创立的第一天起就是龙头老大,直到它被收购的那一天。但是它的发展速度远比人们想象的要慢,他用了15年(到1892年)才将生意从纽约地区扩展到美国中部芝加哥地区,用38年(1915年)的时间扩展到整个美国,到50年后的1927年,AT&T的长途电话业务扩展到欧洲。

  1913年,随着公司的扩展,美国司法部盯上了AT&T公司,根据司法部的金斯堡协议,AT&T不得不收敛一下它的扩张,1925年,它甚至将除加拿大以外电信业务分离,专注于美国市场。这次收缩歪打正着,使它成功地在1929-1933年的大萧条中存活下来。大萧条后,AT&T公司恢复得很快。二战后,美国的电话普及率达到百分之五十,AT&T成为美国最挣钱的公司之一。贝尔实验室也是成果累累。值得一提的是,在二战中,贝尔实验室的天才青年科学家香农提出的信息论。信息论是整个现代通信的基础。

  1925年,AT&T成立研发机构——贝尔实验室,贝尔实验室是历史上最大、最成功的的私有实验室。公司拿出电信业巨大垄断利润的3%用于支持贝尔实验室的研发工作,在很长时间里,贝尔实验室总是用“无须为经费发愁”这一条理由吸引优秀科学家到实验室工作,这使得贝尔实验室不仅在通信领域长期执牛耳,而且在射电天文学、晶体管、半导体和计算机科学等领域领先于世界。它著名的发明除电话本身外,还包括射电天文望远镜、晶体管、数字交换机、计算机的Unix操作系统和C语言等等。此外,贝尔实验室还发现了电子的波动性,发明了信息论,组织发射了第一颗通信卫星,铺设了第一条商用光纤。在相当长的一段时间,贝尔实验室不仅仅是信息领域科学技术最向往的工作单位,也是基础研究领域学者梦寐以求的地方。

  到了上个世纪五十年代,AT&T发展到美国政府司法部不得不管一管的地步了。1956年,AT&T和司法部达成协议,AT&T不能销售除电报电话外的任何商品,反垄断法逼着AT&T只能靠科技进步来提升自己的实力。1948年AT&T实现商用的微波通信;1962年,他发射了第一颗商用通信卫星。尽管有小的竞争者存在,但他们无法撼动AT&T的根基。

Unix由来

  现代操作系统的前身其实是批处理操作系统,批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。作业1运行完了会自动载入作业2,中间以分隔符隔开。如:job1&&&&&job2。这远远无法发挥硬件的性能。

  1957年,前苏联发射了第一枚人造卫星,此举让当时的美国总统艾森·豪威尔决定投下巨额的经费用以支持及发展科学,美国高等研究计划署(ARPA, Advanced Research Projects Agency)便是在此时设立了,该单位负责推动系统发展等相关计划,成为当时美国电子计算器发展的重要推手。

  1965年,麻省理工决定开发大型的分时计算机系统,一个计算机史上最为庞大的分时计算机系统,此计划名称为Multics,企图连接1000部终端机,支持 300位使用 者同时上线的分时计算机系统。当时,麻省理工原本找IBM来配合这项计划,但IBM正忙着应付自己的问题而无意配合Multics计划。此时,通用电子公司(General Electric Company)也就是奇异公司正好在发展自己的大型主机,见机不可失,便极力邀请麻省理工参予她们的GE 645大型主机的规格制定。有了奇异热心主动的计算机硬件配合,麻省理工找上的不能贩售计算机却人才济济的贝尔实验室来负责承包软件工程。于是乎,Multics的计划便由麻省理工学院、奇异公司及贝尔电话实验室这三个成员开始共同发展。

  1969年,Multics计划在历经四年的奋战后,仍旧未达到原先规划设计的理想,贝尔实验室决定退出计划。功能未达原始设计理想的Multics还是安装在奇异公司的GE 645大型计算机上供麻省理工使用。奇异公司在该计划草草结束后不到一年便完全淡出大型计算机市场。有意思的是,当时有名科学家叫ken Thompson,他在Multics上面开发了一个小游戏,叫星际旅行(Space Travel) ,由于贝尔实验室退出了计划,所以他的游戏就没处运行了。当时贝尔实验室自己其实也没有一套完善便利的交互式计算器服务环境。所以Ken Thompson尝试使用Fortran语言将"Space Travel"移植到GECOS System上开发。但是使用GECOS System大型计算机一秒要75美金,同时移植的效果不甚理想,于是Ken Thompson不得不寻找替代的开发环境。

  1969年,在当时著名的生产主机的公司除了IBM外,还有DEC(美国数字设备公司),这家公司生产小型机中有两种是比较受欢迎的,一个就是PDP系列,一个是VAX系列。PDP系列当时主流型号是PDP-11。Ken Thompson向他的领导申请一台PDP-11来移植他的Space Travel,但在当时主机型号的机器价格还是非常昂贵的,实验室当然没批,最后失魂落魄的Ken Thompson在实验室的角落发现了一台布满灰尘的PDP-7,一台非常落后的主机。没有其它的选择,于是Ken Thompson便与Dennis Ritchie连手将程序设计转移到PDP-7小型计算机上。 但是程序想要运行,必须要依赖操作系统内核的,于是他便与 Dennis Ritchie 共同动手设计一套包含File System、Process Subsystem及一小组Utility的操作系统,当时这套系统仅能支持 2 个使用者使用。由于贝尔实验室对于MULTICS计划失败的阴霾还未消散,实验室同事Brian Kernighan开玩笑地戏称这套新的操作系统为UNiplexed Information and Computing System,缩写为UNICS,之后大家取谐音便叫她为 "Unix",没想到这个开玩笑的名字会被人叫到今天。

Unix发展

  1971年,在此之前,Unix仅是私下被使用,并没有得到重视。当时贝尔实验室的专利部门缺乏一套文书处理系统,为了设计开发的需要,于是买了一台 PDP-11主机,一切准备妥当后,他们便将Unix移植到拥有512K bytes硬盘的PDP-11主机上,并在此系统之下开发了一套文书处理工具。而这套工具便是后来nroff/troff的前身。那时的Unix提供16K bytes 给系统、8K bytes给使用程序,档案最大的极限是64K bytes。而此套含有文书处理工具的系统,也正式获得贝尔实验室的专利部门采用,系统名称并被编为 "First Edition"。Unix移植虽然成功,但是效果并不是很理想,同实验室Dennis Ritchie突发奇想,希望能用高级语言重新编写Unix,因为高级语言对底层硬件的依赖是非常低的,他们用B语言(将BCPL语言整合形成的B语言)重新编写了Unix,执行成效并不是很好,于是他们又将B语言改写,可产生机器码、允许定义数据形态及结构,加入了静态变量和指针等额外的机制, Ritchie 称它为C语言。之后于1973年以C语言完全改写Unix原始程序,于是Unix首度出现正式版本V5 (第五版)。

  此时Unix慢慢地在贝尔实验室内部蔓延开来,由于AT&T 本身受制于1956年与司法部的协定(反垄断法)不能销售除电报电话外的任何东西,所以 AT&T 的主管阶层们对于当时Unix的发展并没有太多的支持,因而当时贝尔实验室内部对于Unix的发展并不是相当在意也无意于将之推广。不过为了应付实验室内各部门日益增加的Unix使用者与相关技术支持需求,还是成立了Unix System Group(简称 USG)。但该组织也仅只是提供技术上的支持,并未赋予继续发展的任务。所以当时的Unix发展,全靠AT&T的工程师们的努力。这段期间Unix的发展完全没有组织及系统性可言。

  1974年,Thompson与Ritchie共同在Communications of the ACM(国际计算机协会通信杂志)发表了一篇Unix论文 "UNIX Time-Sharing System" 得到相当大的回响。1975年UNIX发表第六版(V6),其提供的强大功能更胜过当时昂贵大计算机的操作系统,其最大特点是以高级语言写成,仅需要做少部份程序的修改便可移植到不同的计算机平台上。UNIX V6版本并附有完整的程序原始码在1976年正式从贝尔实验室内部传播到各大学及研究机构,UC Berkeley也就是依据这个版本开始研究并加以发展。

  1975年,美国工程师的福利:当工程师做出巨大贡献时,都会有年休。Ken Thompson在年休期间受邀回母校伯克利任客座教授,项目就是unix,其中有个研究生叫bill joy(后来SUN公司的创办者,密执安州大学的毕业生),他们专门给Unix改进、找bug、提供新功能等等,而且进展很不错,加上Ken Thompson也在伯克利,使得当时的伯克利分校几乎是Unix界的领头羊。

  1976年,Ken Thompson假期结束回到贝尔实验室,此时的Joy和他同学Chuck Haley(tar程序作者)已经开始着手探索UNIX kernal,甚至还做了一些修改。1977年初,Joy制作了一卷磁带,上头写着"Berkeley Software Distribution",这就是1 BSD。

  1979年,美国国防部先进研究计划机构(Defense Advanced Research Projects Agency -,DARPA)正在为 AI(Artificial Intelligence), VLSI 及计算器视觉等研究(vision research)找寻一个可共通作业的计算机环境。硬件选择的是DEC公司的VAX主机系列,但是与之搭配的VMS操作系统并不是让DARPA满意,这迫使他们考虑朝向UNIX发展。当时,伯克利分校的Bob Fabry教授写了一份建议书给DARPA,建议他们以柏克莱支持虚拟内存的3BSD为基础,发展成为计划所需。这份企划书引起了DARPA的高度兴 趣。随后3BSD也实际获得了DARPA相关计划成员们的良好风评,让Bob Fabry成功地获得了DARPA的资助合约。这份合约开始于1980年4月,为期18月。此后的DARPA便以UNIX OS为标准操作系统。Bob Fabry教授在取得DARPA合约后,依约成立了一个支持机构,也就是Computer Systems Research Group,简称 CSRG。由Bill Joy来负责软件开发。Joy迅速地以先前的3BSD为基础,整合新的功能。如Job Control、auto reboot、1K block file system。同时也整合入Pascal compiler、Franz Lisp system、enhanced mail handling system。这就是在1980年所发表的4BSD。DARPA采用了这个版本作为当时的标准UNIX操作系统。后来因为David Kashtan的质疑,重新调整unix kernel并于1981年重新发表4.1BSD。

  1981年,AT&T属下的USG发表了 System III。次年又更新为System IV。稍后于1983年,AT&T将CRG, USG 合并成立了UNIX System Development Lab,简称为USL。该年System V上市了。此时AT&T发觉每次版本更新都得花不少宣传费,实在不划算,所以决定在System V以后,名字就没有再改动,后续相继发行了2、3 和 4的版本。System V Release 4是最成功的版本。

  1982 年,已厌倦了在柏克莱环境的Bill Joy,答应受邀加入当年刚创办的Sun Microsystems,成为SUN的第四号创办人。SUN使用的操作系统SunOS 1.0承袭自4.1BSD。

  1984年,AT&T受反垄断法影响被迫第一次分家,形成了新的AT&T公司及七个本地电话公司。这次分家意味着1956年的协定失效,AT&T在一夕间解体成为区域性网络公司,从此失去了长途电话的垄断性地位。也让AT&T对UNIX的态度有了很大转变(现在可以对unix收版权费了)。早期的BSD使用者,是需要向AT&T支付授权金的,也因而AT&T掌控了UNIX的所有权。到了1984年以后,AT&T开始更积极地保护UNIX的原始码;AT&T甚至还要求各大学的使用人员签订保密条约,防止UNIX的原始码从学术单位流出,以影响到商业利益。这个决定对BSD构成了限制,为了减少纠纷,伯克利分校规定,BSD本身依然保持免费,但是只能提供给持有AT&T源码许可的公司。

  1987年,在工作站市场上已占有一席之地的SUN公司,找上了AT&T,打算将System V与BSD这两大版本归为一统。1988年初,双方签订了合作合约, AT&T取得SUN的一席董事,同时亦有权买下SUN百分之二十的股份。这项合作计划,原本有机会整合当时版本纷乱的UNIX OS。但这只是理想,实际上这个计划反而让UNIX族群里的其它成员恐慌万分,特别是IBM、DEC、HP这几个产业龙头。为了抵制这项行动,他们组织了一个反对联盟。因此「开放软件基金会」也就是Open Software Foundation,简称OSF在1988年正式诞生,成员除了前面的三巨头外,尚有多达三十几家计算机硬件制造厂商与系统咨询顾问公司,也相继以行动投入到此反对的行列中。然而AT&T与SUN也不示弱地组织了UNIX International,也就是UNIX国际公司,成员有Intel、Toshiba、Unisys、Motorola、Fujitsu(也不次哟)。由于商业利益大过技术问题,也因此奠定了UNIX将继续分裂下去的命运。 AT&T在1989年发表了SVR4,SUN在日后也将SunOS 4.1.1开始冠上 Solaris 的字眼,以行动靠拢 SVR4。OSF 则是在 1990 年发表了OSF/1。UNIX版本的问题因而更加混乱了。不久AT&T撤销了对SUN的投资,同一个阵营的成员彼此也劳燕分飞。

  在DARPA资助伯克利从事BSD OS发展的过程中,诞生了TCP/IP这项广泛影响现今计算机与因特网的通讯协议。由于DARPA对于资助开发的软件项目有明文规定:接受资助者必须无条件地释出程序的原始码,所以TCP/IP的原始码与程序的版权并不属于AT&T所有。柏克莱的CSRG因应BSD Vendors需求,在1989年发表了Networking Release 1,她包含了TCP/IP源码以及一些工具,提供给当时正开始起步发展的个人计算机制造业者使用。这个版本的授权收费仅1000美元,而且不需要AT&T的商业授权,取而代之的是柏克莱大学的开放式授权。这种授权方式在实质的运用上完全没有限制。它允许原始码在任何情况下修改并且允许将修改后的程序从事商业行为而无须任何回馈,也没有绝对要求开发者必须要释出原始码。但有一点不可违反的限制,就是必须在衍生物的版权声明上提到伯克利的贡献,这就是柏克莱的授权精神。

  为了摆脱AT&T的版权的束缚,伯克利组织了几百名热心的软件工程师进行撰写新的Unix系统,参与人员必须没有看过AT&T Unix的源码,因为这样写出来的代码才能完全摆脱AT&T的束缚。这并不容易,他们花了几个月时间,代码行行比对,将AT&T的程序代码移除并改写他们,但仍旧有一些程序他们无能为力,最终他们决定将已有的成果发布,授权的方式沿用Networking Release 1的授权方式,价格仍然是1000美金。这个版本就是Networking Release 2,也有人称她为4.3BSD Net/2。发表的时间在1991年6月。虽然这是不完整的操作系统。但它却有着划时代的意义——Unix自由了。

  1991年,AT&T的USL正式转变了一家公司。这意味着它将更重视UNIX在商业上的利益。当时的unix操作系统早以称霸高阶的计算机市场,从超级计算机、IBM大型机、迷你级计算机到工作站,全是UNIX的天下(这直到21世纪,仍旧没有太大的改变), 所有类unix的操作系统都得向UNIX交税(因为那时候别人还没有能力将AT&T的专有代码剔除掉), Unix简直就是AT&T的一棵摇钱树。

打架专场

  1992年,一位名叫Bill Jolitz工程师的出现打破了这种状态,他很快地就将Net/2 kernal缺少的程序补齐了。这下BSD kernal可算是大功告成。而且Bill Jolitz将源码放在了因特网上与其它人共享,并且得到了不少正面的响应。由于这个版本是使用在 i386 微处理器的个人计算机上,所以就命名为386BSD,这算是BSD 首度功能完整且版权独立的版本。Bill Jolitz是当时唯一的kernal维护者。在他离开这个计划之后,后续的BSD玩家们延续了这个版本,日后衍生了FreeBSD,然后又从其中分支出裂NetBSD版本。

  另一个将Net/2完整化的是一家叫Berkeley Software Design, Incorporated的公司,简称 BSDI。由于Net/2的版权声明中,宣称其源文件的合法性,并且允许使用者从事衍生物的商业行为,所以BSDI将他们修改后的系统命名为BSD/386。并以995美金的售价贩售,包含原始码且提供免费电话咨询服务,电号号码是 "1-800-ITS-Unix",当时USL的System V含原始码的价格大约是BSD/386价格的一百倍左右。这可惊动了大佬AT&T。并且正式地书面严重警告 BSDI违反的注册商标法(电话号码里有Unix的字眼),并公开宣称AT&T拥有UNIX的注册商标。BSDI马上刊登广告公开反击AT&T,声明自己商业行为完全合法。然后双方牵手走上法庭。AT&T的USL控告BSDI剽窃他的UNIX原始码,而BSDI 祭出早已准备好的法宝:在无任何AT&T source code的情况下写出的合法程序,以及来自于BSD授权的Net/2 source code。这证据让BSDI立于不败之地,还让 BSDI 置身在暴风圈外,同时BSD被拉下水(三方混战),BSDI的辨证获得了法官的采纳。但At&T岂会就此罢手,他们将焦点转移到 Net/2 的BSD 授权上面,并且重新提出控诉,被告的对象变成了BSDI与柏克利分校;同时AT&T还申请法庭禁止BSDI一切的BSD/386销售行为,成为被告的柏克莱大学,只好无奈地面对这场无情的商业诉讼。但他们也同样不甘示弱地对AT&T的 Systerm V著作权提出质疑,因为在AT&T的UNIX授权声明中完全没有提及柏克莱的贡献。所以柏克莱反控AT&T违反BSD的授权条款。柏克莱的反击让战况越演越烈,诉讼案一路从AT&T老家新泽西州的联邦法庭打到伯克利大学的所在地加州法院,但依旧没有结果。

  1993年,AT&T根本不关心Unix的发展,它真正关心的是金钱和削弱对手。官司还在进行中的时候,AT&T就将USL以八千万美元代价的卖给了Novell。而新买主也当仁不让地加入了这场混战。案件在1994年1月宣告终结,以庭外和解收场。

  1994年,伯克利的CSRG风光地发表了BSD 4.4 Lite。在 这个版本中,有70个档案引用的一份新修改的版权声明,阐述的AT&T与BSD双方的贡献,并明确地给予档案自由散播的权利。

  1995年,掌握UNIX source code以及UNIX商标的Novell,将UNIX商标交给X/open管理,自己则发展了一套命名为UNIXWave的操作系统,推出后市场的反应并不热络。不久,Novell就将UNIX卖给了SCO,至此,Unix原始版本的开发正式结束。

  这场诉讼给Unix和BSD带来毁灭性的打击。从八十年代中后期开始,AT&T固执地捍卫Unix版权,完全不顾它的创造者和开发者的愿望,导致Unix丧失活力、一蹶不振,大量开发者无法参与,只好离开了这个平台。而BSD在1992~1994年期间,开发处于停滞,错过了发展的黄金时机。官司结束以后,又不幸发生分裂,变成了FreeBSD、NetBSD和OpenBSD三个版本。这些原因导致BSD直到今天,都还在操作系统的竞争中处在落后地位。如果换个时间,官司的损失也许还没这么大。偏偏90年代初是计算机工业决定性的年代,错过了那几年,从此你就不要想翻身了。因为从80年代末期开始,Intel的80x86芯片有巨大的发展,性能快速上升,而成本快速下降,个人电脑的年代就要到来了。市场迫切需要能够运行在386芯片上的操作系统,但是Unix和BSD忙于打官司,都没有去做移植操作系统这件事。其他两个这样做的人,改变了人类历史。一个是比尔·盖茨,他推出的Windows占领了个人电脑市场。另一个是芬兰大学生Linus Torvalds,他想学习Unix,但是买不起工作站,就自己写了一个能在386上运行的Linux操作系统,现在全世界超过一半的网络服务器都在使用这个系统(后面说)。

GNU计划

  1983年,麻省理工学院人工智能实验室(MIT Artificial Intelligence Lab)的Richard M. Stallman (以下简称为 RMS),在技术网站贴发了一份标题为 "new UNIX implementation" 的讯息,这就是如今广为人知的 GNU 计划的开始 。在那份被视为『GNU 宣言』草稿的讯息中,RMS 阐述个人的理念与计划的目的 ——完成一个命名为GNU的 "Free UNIX" 操作系统。选择“UNIX 兼容”为设计的主要原因是:RMS表明UNIX并非他个人理想中的操作系统,他仅看过一些unix数据,并没有真正使用过 (MIT使用操作系统是 "ITS--Incompatible Timesharing System"),但他认为UNIX操作系统具有优良的本质特性。他相信如果GUN与UNIX兼容将更容易令人接受,所以RMS承袭MIT用递归缩写字命名的传统为GNU(Gnu is Not Unix)。

  1984年1月,RMS为了展开他的理想决定离开已经待了十几年的 MIT AI Lab.。当拟妥他的『GNU 宣言』之后,他正式向全世界呼唤、表明他将要全心为他的理想做出努力。GNU计划的第一个程序是RMS在1984年9月开始撰写的Emacs编辑器。1985年初,Emacs已进入可用的阶段,于是RMS将她放在pre.ai.mit.edu这台机器的FTP server上,免费地让amonymous的到访者自由下载使用。不久后,Emacs强捍的功能引发了一些玩家们的注意,由于附上了source code,玩家们能自己动手为它添加新的功能或除错,很快地,Emacs获得了相当热烈的回响。随着名声渐播,开始有人相继地加入GNU计划的程序写作阵营。"此道不孤"让RMS倍感振奋与喜悦。

  当时的因特网并未十分普及。所以有不少人虽然对Emacs程序有兴趣,却没办法经由FTP的渠道取得,因而有人通过其它渠道向RMS询问如何取得时,让当时处在失业状态的RMS看到能够支持他继续奋战下去的资金来源——贩售" 自由软件"。他以一卷磁带150块美金的代价服务有需要的人。也因为基于这个开始与基础,他顺势便创立了自由软件基金会 ——Free Software Foundation (以后简称为FSF)。这意味着GNU计划从个人化理念的构思阶段进入了有群体组织化的运作阶段。同时,RMS也制定出了属于GNU计划的软件版权,就是GPL——General Purpose License (通用公共授权),并且称呼他为copyleft。GNU计划种子就这样生根发芽了。

  GCC编译器是GNU计划在1987年3月发表的免费编译器,当时的版本是0.9测试版,这个编译器可以说是今日自由软件写作的基石。GCC所解译的机器码,其可靠度绝对 不逊于商业化的编译器产品,甚至可以说是优越过商业编译器。90年代初,GNU计划已完成了质量与数量均十分可观的系统工具。这些工具被广泛的使用在当时各种工作站的UNIX系统上,比如Emacs、GCC、Glibc、Bash shell等。虽然已有如此的成果,但仍称不上是完整的操作系统。他们缺少一支属于自己的核心程序:kernal。不过这个kernel接下来就会出现了。

Linux的诞生

  由于AT&T在1984年收回了Unix的版权,并与各大学签订了保密协议,不能泄露原始码。没有原始码?学校老师怎么去教学生真正认识unix呢?这时候荷兰阿姆斯特丹自由大学(Vrije)计算机科学系的Andrew Tanenbaum教授决定在不使用AT&T Unix源代码的情况,自行编写一款兼容Unix的操作系统,耗费大概三年左右的时间于1986年底完成,为了与Unix区分,便命名为Minix(mini-UNIX),并于次年出版了Minix相关书籍。有趣的事,Minix不是免费的,而且只能通过磁盘/磁带购买,虽然它真的很便宜。此外购买时还会附上Minix的原始码,这对于后面Linux的出现有很大的帮助。谭宁邦始终认为Minix主要用在教育用途上面, 所以对于Minix的开发是点到为止!这根本满足不了其他人的需求哇,so,我们的男主出现了,没错,就是Linus Benedict Torvalds。

  1990年,Torvalds就读赫尔辛基大学(University of Helsinki)信息系二年级,选修一门『C语言与UNIX操作系统』的课程,他疯狂地迷恋上了UNIX操作系统,那年正好赫尔辛基大学正好添购的一台VAX,安装Ultrix(DEC公司的)操作系统。连接了16台终端机供授课师生使用,有所限制的计算机资源对一位计算机迷来说是极痛苦忍受的。Torvalds开始想自己弄一套unix系统,就如同RMS的GNU计划一样,这不是有现成得吗?(Minix)

  1991,Torvalds利用 "学生贷款" 加上去年的 "圣诞红包",以分期付款方式买了一台Intel 386DX33个人计算机,他选择安装的操作系统则是在学术界颇负盛名的Minix。在几番奋战下,他发现Minix OS在很多方面无法满足自己的需求,因此激发了他重头再来的念头。Torvalds在他的386 DX33上逐步探索并撰写出他自己的核心程序。对于Torvalds而言,GNU是个不可多得好东西,因为他用来撰写属于自己小核心的工具,就是GNU的bash操作接口与gcc编译器等等自由软件。 他以GNU的软件参考Minix的设计理念(注意,仅是程序设计理念, 并没有使用 Minix 的原始码)来写这个小核心。没想到竟然真的写出这么个小程序(Linux 0.0.1版本), 而这个小程序完全可以在386DX33上面顺利的跑起来,还可以服务Minix的档案系统,不过还不够,他希望这个程序可以获得大家的一些修改建议, 于是他便将这个核心放置在网络上提供大家下载,由于Torvalds放置核心的那个FTP网站的目录为Linux ,所以大家便称这个kernel为Linux了。虽然这是个简陋的开始,但由于Torvalds本人持续维护与网友回馈贡献,原本一个人所撰写的核心程序竟在不知不觉中逐渐转化成 "虚拟团队" 的运作模式。

  Torvalds为了能让自己的Linux兼容unix系统,他将一些能够在unix上运行的软件拿到linux上运行,结果他发现很多软件不能在linux上运行。为了解决这个问题,Torvalds以POSIX标准重新修改了linux。因为POSIX标准主要是针对unix与在其上面运行的软件的标准规范,理论上,只要按照这个标准开发的内核与软件,就可以一起配合运行了。

  linux单靠Torvalds一人维护的话,那它的发展肯定是很缓慢的,Torvalds将kernel放在网络上供别人下载,并告知大家,如果发现问题或者需要某些硬件的驱动时,把信息反馈给自己,能力范围内的,Torvalds都会很快解决掉。Torvalds搞不定的,也有其他人搞得定,一个个黑客志工慢慢的加入到了这个虚拟团队中,他们彼此并不认识。缺啥补啥,使用者需要虚拟内存,结果不到一个星期推出的新版linux就有了,团队能力还是大于个人滴。

  后来,因为Linux内核加入了太多的功能, 光靠托瓦兹一个人进行核心的实际测试并加入新功能实在太费力,这时有很多的朋友跳出来帮忙分担,例如考克斯(Alan Cox)、与崔迪(Stephen Tweedie)等等, 这些重要的副手会先将来自志工们的修补程序或者新功能的程序代码进行测试, 并且结果上传给托瓦兹看,让Torvalds作最后选择与整并!这样分工让Linux的发展更加迅速,用户也开始增长。

  随着使用人数激增,核心程序的版本与功能也开始加速演化,在这个素未谋面的虚拟团队众成员的努力下,终于在1994年3月13日完成了linux核心正式版,version 1.0,此版本整合了X Window System。
X Window System由MIT与其它协力厂商在1984年首次发表,并且在1988年成立非营利性质的XFree86组织(X Window System + Free + x86的组合)

  早期的Linux内核曾被Andrew Tanenbaum指出,过度紧密地与x86处理器结合,Linux的可移植性会不太好。这点显然与UNIX OS的可移植性不太相符。这种情况或多或少与Torvalds本人硬件资源有关(没money就没资源)。但当Linux的使用族群拓展开来之后,便开始有人主动地将它移植到不同的平台上。像Dave Miller将Linux成功地移植到SUN的SPARC工作站上。此外如Amiga、Atari、PowerPc、MIPS R4000也陆续见到Linux的身影。这些移植严格地从技术的角度来看,仅能说是"个人案例"。但这已激发Torvalds的兴趣,而真正撼动Linux核心的移植是针对Alpha处理器。

  1994年5月,在DEC使用者协会上,Digital的工程师John Hall碰上了Torvalds,双方一见如故。John Hall力劝Torvalds将 Linux移植到Alpha芯片上,并主动提供了一台Alpha计算机供Torvalds研究使用。当年DEC引以为豪的64-bits Alpha可以说是全世界最快的芯片,其架构与功能均超越同一时期的Intel 32-bits处理器。这种技术性的挑战成功吸引到了Torvalds。此项移植对于以x86微处理器为写作基础的Linux核心程序而言,着实不是一件小工程。在Torvalds与DEC相关人 员的将近一年奋战后,Linux核心程序脱胎换骨,成功地移植到Alpha处理器上。1995年3月,被戏谑是Linux'95的1.2版核心程序正式发表,支持 Intel x86、DEC Alpha、SUN SPARC、MIPS等处理器。

  1996年,Torvalds跟他的虚拟团队完成了2.0版, 开始支持对称式多重处理器 (Symmetric Multi-Processing,简称 SMP)架构的计算机,而支持的处理器则又多了Motorola 68k和PowerPc。在他们的努力下,Linux具备的功能已经逼近商业版UNIX OS。Linux吉祥物选择了企鹅,据说是因为Torvalds小时候被企鹅咬过,所以念念不忘~~

总结不易,转载请注明出处,谢谢~

标签:发展史,操作系统,Torvalds,UNIX,Unix,Linux,BSD,AT&T
来源: https://www.cnblogs.com/ccbloom/p/10881410.html