《弹指一挥40年 服务器操作系统进化简史.doc》由会员分享,可在线阅读,更多相关《弹指一挥40年 服务器操作系统进化简史.doc(10页珍藏版)》请在金锄头文库上搜索。
1、近年来服务器技术的硬件不动推动下飞速的发展,云计算、虚拟化、高性能计算等等多种服务器领域耀眼亮点使得服务器其上的操作系统相对而言的低调。不过作为服务器的基本操作平台,服务器OS其实也是值得我们去关注的。目前服务器操作系统主要有三大类:一类是Windows,其代表产品就是Windows Server;一类是UNIX,代表产品包括HP-UX、IBM AIX等;还有一类是Linux,它虽说是后起之秀,但由于其开放性和高性价比等特点,近年来获得了长足发展。这些操作系统究竟从何而来又将去往何处呢?画家高更也曾问过这个问题,5年、10年以后的技术发展谁也说不清楚,但从何而来这个问题我们还是可以回答的。UN
2、IX的故事在计算机领域,Unix一直是作为高端平台而出现的。几年以前,只有在大型机构的专用机房中才能接触到它们,甚至稍小一些的机构也负担不起购买Unix工作站的费用。只有很少的使用者才有机会接触和使用Unix,能管理和维护 Unix系统的计算机专业人员就更少了,这就使得Unix总是披着一层神秘的面纱。Unix操作系统的历史漫长而曲折,它的第一个版本是1969年由Ken Thompson在AT&T贝尔实验室实现的,运行在一台DEC PDP-7计算机上。这个系统非常粗糙,与现代Unix相差很远,它只具有操作系统最基本的一些特性。后来Ken Thompson和Dennis Ritchie使用C语言对
3、整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。从那以后,Unix系统开始了令人瞩目的发展。由于此时AT&T还没有把Unix作为它的正式商品,因此研究人员只是在实验室内部使用并完善它。正是由于Unix是被作为研究项目,其他科研机构和大学的计算机研究人员也希望能得到这个系统,以便进行自己的研究。AT&T以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究。Unix的源代码被散发到各个大学,一方面使得科研人员能够根据需要改进系统,或者将其移植到其他的硬件环境中去,另一方面培养了懂得Unix使用和编程的大量的学生,这使得Un
4、ix的普及更为广泛。由于操作系统的开发相当困难,只有少数的计算机厂商,如IBM、Digital等大型公司,才拥有自己的操作系统,而其他众多生产计算机的硬件厂商则采用别人开发的操作系统。因为Unix不需要太多的花费,因此很多厂商就选择了Unix作为他们生产的计算机使用的操作系统。他们把Unix移植到自己的硬件环境下,而不必从头开发一个操作系统。到了70年代末,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(Unix System Lab,USL)来继续发展Unix。因此AT&T一方面继续发展内部使用的Unix版本7,一方面由USL开发对外正式发行的Unix
5、版本,同时AT&T也宣布对Unix产品拥有所有权。几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使用Unix对操作系统进行研究,因此他们的研究成果就反映在他们使用的Unix中。加州大学伯克利分校Unix的改进相当多,增加了很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等,大部分原有的源代码都被重新写过,以支持这些新特性。很多其他Unix使用者,包括其他大学和商业机构,都希望能得到CSRG改进的Unix系统。因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统BSD Unix(Berkeley Software Distribution),向外发行。
6、BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础,而AT&T与其同时存在的Unix版本的影响就小得多。同时很多研究项目也是以BSD Unix为研究系统,例如美国国防部的项目ARPANET,ARPANET今天发展成为了Internet,而BSD Unix中最先实现了TCP/IP,使Internet和Unix紧密结合在一起。而AT&T的Unix系统实验室,同时也在不断改进他们的商用Unix版本,直到他们吸收了BSD Unix中已有的各种先进特性,并结合其本身的特点,推出了Unix System V版本之后,情况才有了改变。从此以后,BSD U
7、nix和Unix System V形成了当今Unix的两大主流,现代的Unix版本大部分都是这两个版本的衍生产品。SCO UnixUnix的版本号表示方式比较复杂,各种不同的Unix版本有自己的版本标识方式,如最早AT&T开发的内部Unix使用简单的顺序号来标识版本,从V 1到V 7。BSD使用主版本加次版本的方法标识,如4.2BSD,4.3BSD,在原始版本的基础上还有派生版本,这些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2。AT&T使用罗马数字来标识他们的对外发布的Unix版本,用Release来表示次版本。如System V Release 4(简写为SV
8、R4)标识AT&T的Unix System V的第四次发布的版本。SUN Solaris9其他商业公司的Unix使用自己的版本标识,如Sun的Solaris 2.6,IBM的AIX 4.0等。虽然AT&T的Unix System V也是非常优秀的Unix版本,但是BSD Unix在Unix领域内的影响更大。AT&T的Unix系统实验室一直关注着BSD的发展,在1992年,Unix系统实验室指控BSDI 一家发行商业BSD Unix的公司,违反了AT&T的许可权,发布自己的Unix版本,并进一步指控伯克利计算机系统研究组泄漏了Unix的商业机密(此时的4.3BSD中来自AT&T Unix的代码已
9、经不足10%)。这个官司影响了很多Unix厂商,使他们不得不从BSD Unix转向Unix System V,以避免法律问题。以至于当今大多数商业Unix版本都是基于Unix System V的。这件有关Unix版权的案子直到Unix系统实验室被AT&T卖给了Novell公司后才得以解决,Novell不打算陷入这样的法律纷争中,因此就采用了比较友好的做法。伯克利的CSRG被允许自由发布BSD,但是其中来自于AT&T的代码必须完全删除。因此CSRG就对他们最新的4.4BSD进行了修改,删除了那些来自于AT&T的源代码,发布了4.4 BSD Lite版本(该系统是不完整的,尤其对于英特尔386体系
10、的计算机系统)。由于这个版本不存在法律问题,4.4BSD Lite成为了现代BSD系统的基础版本。Novell的比较友善的做法还不止对BSD,他把自己的Unix改名为Unixware,而将Unix商标赠送给X/Open 一个由众多Unix厂家组成的联盟,这样这个联盟内的所有成员均可使用Unix商标。从此之后,Unix不再是专有产品了。后来Novell由于自身的经营问题,又将Unixware卖给SCO公司。同时,由于BSD系统已经十分成熟,作为对操作系统进行研究的目标已经达到,伯克利计算机系统研究组(CSRG)在发布了4 .4BSD-lite2之后就解散了,小组的科研人员有些进入了Unix商业公
11、司,有些继续进行其他计算机领域的研究。此时,严格意义上的Unix System V和BSD Unix都不复存在了,存在的只是他们的各种后续版本。回顾Unix的发展,可以注意到Unix与其他商业操作系统的不同之处主要在于其开放性。在系统开始设计时就考虑了各种不同使用者的需要,因而Unix被设计为具备很大可扩展性的系统。由于它的源码被分发给大学,从而在教育界和学术界影响很大,进而影响到商业领域中。大学生和研究者为了科研目的或个人兴趣在Unix上进行各种开发,并且不计较金钱利益,将这些源码公开,互相共享,这些行为极大丰富了Unix本身。由于Unix的开放性,另一方面就使得存在多个不同的Unix版本。
12、由于不同的Unix使用稍有差别的文件、目录结构,提供略有不同的系统调用,因此对系统管理、以及为Unix开发可移植的应用程序带来一定的困难。例如System V和BSD的很多系统调用就存在不同。在Unix历史发展中也存在将Unix完全统一的努力,例如POSIX 规范就是各个Unix厂商经过协商,达成的Unix操作系统应该遵循的一套基本系统调用的规定。然而由于存在多个Unix系统,各个厂商的意见很不统一,因此POSIX规范制定的很宽松,甚至Windows NT中也存在一个POSIX子系统。事实上,只要各个Unix之间协调发展,不故意为了商业目的而人为的制造系统差异,就能够保持各个Unix 之间不致
13、具有太大的差别,保持Unix系统的多样性比只有唯一的一个Unix系统更能够促进技术的进步和发展,企图人为的统一Unix的想法只能是某一个Unix厂商的一厢情愿。UNIX的发展历史可谓悠久而复杂,下面有图为证,低速网络及手机浏览用户慎入。LINUX的故事1990 年代中期,因特网因出现World Wide Web,HTML这种新型态的应用,而开始迅速的延烧全世界。一夕间,架设因特网主机的需求激增。这时有一套可以免费取得,并且能让x86计算机升格成UNIX级主机的免费操作系统,开始了吸引全世界目光。在传媒与计算机工程师们的竞相走告下成为了这个新世代的焦点,这个新的名字就是Linux。Linux是一
14、套版权彻彻底底与AT&T无关的UNIX-like OS。原始核心程序的创作者是芬兰籍的Linus Benedict Torvalds(现今他仍旧是核心程序的维护者)。操作系统里大部分的系统工具,来自于RMS行之多年的GNU计划成果,以及其它的自由软件写作计划产生的软件,如X Windows、KDE、Gnome等窗口接口。由于构成操作系统的主要部分均奉行GPL版权,所以市面上有相当多样的安装套件,目前较广为人知的有RedHat、Slackware、SuSE、Debian GNU/Linux.。也因此这套操作系统,可说是包含了无数字自由软件写作者的共同心血。如此的一套操作系统其实也就是RMS多年来
15、想要达成的宿愿:Free UNIX。Suse Linux Enterprise Server9“Hello everybody out there using minixIm doing a (free) operating system”在1991年的8月,网络上出现了一篇以此为开篇话语的帖子这是一个芬兰的名为Linus Torvalds的大学生为自己开始写作一个类似minix,可运行在386上的操作系统寻找志同道合的合作伙伴。1991年10月5日,Linus Torvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux v0.01版本。到了92年,大约有1000人在
16、使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker。1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码有大约有十万行,用户大约有10万左右。1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。至此,Linux的代码开发进入良性循环。很多系统管理员开始在自己的操作系统环境中尝试linux,并将修改的代码提交给核心小组。由于拥有了丰富的操作系统平台,因而Linux的代码中也充实了对不同硬件系统的支持,大大的提高了跨平台移植性。1995年,此时的Linux可在Intel、Digital以及Sun SPARC处理器上运行了,用户量也超过了50万,相关介绍Li