unix起源- 网络技术|电脑技术|路由交换防火墙技术|cisco技术|华为技术 ...
unix起源 [转贴 2010-04-29 13:21:24]   

作者:孙海龙

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

 

UNIX这个名字早已被众多用户所熟知。作为一个操作系统,它以其独特的魅力----即开放性、可移植性、和多用户多任务等特点,不仅赢得了广大用户的喜爱,同时也受到许多计算机厂商的青睐。

    Unix 操作系统的历史漫长而曲折,它的{dy}个版本是1969年由KeThompson在AT&T贝尔实验室实现的,运行在一台DECPDP-7计算机上。这个版本实现了一个文件系统、一个命令解释器(shell)和一些简单的文件工具。Ken和他的伙伴们使用GE系统来为PDP-7进行交叉编译,很快 写好了汇编器,使系统有了自支持的能力。这个系统已基本成型,其文件系统与现在的文件系统相似,它使用i结点,有特殊文件类型支持目录和设备,而且可以同 时支持两个用户。

    与当时的一个名为MULTICS(MULTiplexed Information and Computing System)的操作系统相比,UNIX显得异常短小精悍,它曾被玩笑地称作"UNICS",代表 UNiplexed Information and Computing System. 有人称 MULTICS 代表 "Many Unneccessarily Large Tables In Core Simulataneously",而UNIX则是裁减了的MULTICS,不久,UNICS变成了UNIX而且被流传下来。 

1970年,UNIX被移植到PDP-11/20上,这需要很大的工作量,因为整个系统全是用汇编语言编写的。 

    C 语言的诞生给系统设计带来了新的契机, Ken Thompson和Dennis Ritchie使用 C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。从那以后,Unix系统开始了令人瞩目的发展。由于此时AT&T还没有把Unix作为它的正式商品,因此研究人员只是在实验室内部使用并完善它。正是由于Unix是被作为研究项目,其他科研机构和大学的计算机研究人员也希望能得到这个系统,以便进行自己的研究。AT&T以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究。Unix的源代码被散发到各个大学,一方面使得科研人员能够根据需要改进系统,或者将其移植到其他的硬件环境中去,另一方面培养了懂得Unix使用和编程的大量的学生,这使得Unix的普及更为广泛。

    由于操作系统的开发相当困难,只有少数的计算机厂商,如IBM、Digital等大型公司,才拥有自己的操作系统,而其他众多生产计算机的硬件厂商则采用别人开发的操作系统。因为Unix不需要太多的花 费,因此很多厂商就选择了Unix作为他们生产的计算机使用的操作系统。他们把Unix移植到自己的硬件环境下,而不必从头开发一个操作系统。 

    到了70年代中后期,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室 (Unix System Lab,USL)来继续发展Unix。因此AT&T一方面继续发展内部使用的 Unix版本7,一方面由USL开发对外正式发行的Unix版本,同时AT&T也宣布对Unix产品拥有所有权。几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使用Unix对操作系统进行研究,因此他们的研究成果就反映在他们使用的Unix中。他们对Unix的改进相当多,增加了 很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等,大部分原有的源代码都被 重新写过,以支持这些新特性。很多其他Unix使用者, 包括其他大学和商业机构,都希望能得到CSRG改进的Unix系统。因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统 ──BSD Unix(Berkeley Software Distribution),向外发行。

    到此,UNIX就有了一个大的分支,分为AT&T UNIX 和 BSD Unix,现代的Unix版本大部分都是这两个版本的衍生产品。

BSD

    Unix 在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础。而AT&T与其同时存在的Unix版本的影响就小 得多。同时很多研究项目也是以BSDUnix为研究系统,例如美国国防部的项目─ARPANET,ARPANET今天发展成为了Internet,而 BSDUnix中{zx0}实现了TCP/IP,使Internet和Unix紧密结合在一起。而AT&T的Unix系统实验室,同时也在不断改进他们的商用Unix版本,直到他们吸收了BSDUnix中已有的各种先进特性,并结合其本身的特点,推出了Unix System V版本之后,情况才有了改变。从此以后,BSDUnix和UnixSystemV形成了当今Unix的两大主流,现代的Unix版本大部分都是这两个版本的衍生产品。

    Unix的版本号表示方式比较复杂, 各种不同的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(简写为SVR4)标识AT&T的 Unix System V的第四次发布的版本。其他商业公司的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的代码已经不足10%)。这个官司影响了很多 Unix厂商,使他们不得不从BSD Unix转向Unix System V,以 避免法律问题。以至于当今大多数商业Unix版本都是基于Unix System V的。

   
    这件有关Unix版权的案子直到Unix系统实验室被AT&T卖给了Novell公司后才得以解决, Novell不打算陷入这样 的法律纷争中,因此就采用了比较友好的做法。伯克利的CSRG被允许自由发布BSD,但是其中来自于AT&T的代码必须xx删除。因此CSRG就 对他们{zx1}的4.4BSD进行了修改,删除了那些来自于AT&T的源代码,发布了4.4 BSD Lite版本 (该系统是不完整的,尤其对于英特尔386体系的计算机系统)。由于这个版本不存在法律问题,4.4BSD Lite成为了现代BSD系 统的基础版本。

   
    Novell的比较友善的做法还不止对BSD,他把自己的Unix改名为 Unixware,而将Unix商标赠送给X/Open── 一个由众多Unix厂家组成的联盟,这样这个联盟内的所有成员均可使用Unix商标。从此之 后,Unix不再是专有产品了。后来Novell由于自身的经营问题,又将Unixware卖给SCO公司。同时,由于BSD系统已经十分成熟,作为对操 作系统进行研究的目标已经达到,伯克利计算机系统研究组(CSRG)在发布了4 .4BSD-lite2之后就解散了,小组的科研人员有 些进入了Unix商业公司,有些继续进行其他计算机领域的研究。此时,严格意义上的Unix System V和 BSD Unix都不复存在了,存在的只是他们的各种后续版本。 Unix的魅力不仅在于其功能的强大性,还在于其优秀 的可扩展性,它提供了高级语言C和各种解释语言可用于编写程序。利用这些系统提供的工具,使用者就能按照自己的需要和兴趣对原有系统进行扩展,满足相当一 部分计算机研究人员和使用者的需要,这样Unix就具备更强大的能力,完成各种复杂的任务。一旦用熟了Unix,体会到Unix的强大功能,使用者就会希 望一直使用它,而不是仅具备有限能力的其他计算机系统。企业也希望能在其可以承受的条件下,利用Unix系统的强大处理能力。

   
    由于Unix是多用户操作系统,作为系统的普通使用者只能使用系统提供的有限功能,而只有Unix系统管理员才能充分利用其的全部能力。因而拥有自己的 Unix系统也是一个普通Unix使用者的愿望。但是在那些时候,能够满足这些愿望的计算机并不是每个人都能买得起的。昂贵的硬件,以及Unix逐渐商业化趋势,都使得拥有自己的Unix对大多数人只是美好的愿望,而使用Unix的地方主要为一些要求较高的科研和大中型公司机构。 

   
    到 80年代,个人计算机的出现,使得硬件的价格能被人和小企业接受了,给拥有一个Unix系统的愿望带来了一线曙光。但是使用8086芯片的个人计算机能力比较差,在其上不能实现真正正常工作的多用户系统。进入九十年代之后,英特尔公司推出的80386芯片使个人计算机的计算能力大大提高,在个人计算机上构建一个可以真正使用的Unix也成为了可能。

   
    事实上此时能运行在X86平台上的Unix相当有 限,Mircosoft的Xienx是一种(后来发展成为SCO Unix),但不能指望能自由、免费使用这个商用系统。要移植Unix 到PC平台上便需要Unix的源代码,而此时受AT&T的许可权的限制,Unix代码还不能被自由获得(但在BSD与AT&T的法律纠纷 之后的4.4 BSD Lite不再受这个限制了,可以在BSD许可下自由使用)。很多计算机爱好者为了实现一个可以自 由使用的操作系统,不断进行着努力。自由软件基金会的GNU计划的目的就是打算创建一个自由的、与Unix类似的操作系统,为了实现这个目的,GNU开发 了很多非常有效的工具,包括编译器和很多系统命令,然而GNU计划中的操作系统内核 ──HURD,却进展缓慢,从而无法构建一个完整的操作系统。很快, 就有计算机爱好者开始考虑在个人计算机平台上构建一个Unix内核。芬兰一位计算机研究生Linus Torvalds开始了这个工作, 并取得了相当大的成功,他通过学习Minix──一个用于教学目的的简单Unix系统,在x86平台上构建了Linux内核,这个内核和GNU的系统工具 结合起来,成为当前非常流行的GNU/Linux系统。 

    在这里想要着重介绍一下Linux发展的历程。

    说 到Linus和他的操作系统,就不能不提到他的故乡芬兰。芬兰可以说是世界上国土面积按比例来说处在北极圈内最多的国家(约1/4的国土),在这个寒冷的国度里,遍布着大大小小约六万多个湖泊,芬兰也因此被人们称为“千湖之国”。在芬兰,一年中实际上只有三个季度,即春冬、夏季和秋冬。“严寒的冬天”长达8个月之久,而夏天却只有60天左右。芬兰的历史可以说是芬兰人民与自然、与寒冷做艰苦卓绝的斗争的一个神话。 芬兰人的民族史诗《卡勒瓦拉》就记载了这个民族从远古时代起直到圣女玛丽亚生下英雄卡勒利亚王为止的所有神话。这部史诗的作者从丰富的民间传说、神话及歌谣中汲取了一切养料和精彩篇章,将它们收 集、改编并润色整理,1835年初版时有35篇长诗,共12000多行;而1849年再版时,篇幅几乎增加了一倍,共50篇长诗,23000余行,最终成 为芬兰人的“荷马史诗”。

    140多年后,又有一位芬兰人创造了另一部伟大的“史诗”,他就是天才的程序员 Linus.不过这一次他用的是计算机语言,他收集这部“史诗”创作素材的地方是覆盖全球的因特网。这使得他的创作从一开始便具有了国际性,使得他的这部 “史诗”成了一部国际性的作品。这部“史诗”的问世,很有可能在20世纪以及21世纪成为芬兰人对于世界的最巨大的贡献。这部“史诗”的创作是从芬兰首都 赫尔辛基开始的。芬兰首都赫尔辛基是一座三面环海、风景秀丽、大小湖泊星罗棋布的城市;它还是举世闻名的大学城和国际性的政治、文化及会议中心,这里曾举行过多次西方国家的首脑会议。在距市中心约10分钟脚程的地方,有一条以卡勒瓦拉命名的大街,街道两旁,19世纪的旧式住宅和现代化的建筑相映成趣。 卡勒瓦拉大街上,有一座大学生寄宿公寓,我们这部史诗的{dzz}Linus Torvalds就住在这座公寓里。现在看来,Linux 并非深思熟虑的惊人之作,而是一个逐渐扩展的过程。它综合了许多次的试验、各种各样的概念和一小段一小段的程序,在不知不觉中逐渐凝聚成了一个有机的整 体。这个过程与史诗《卡勒瓦拉》的成书过程极为相似。它最初的生成动机应当追溯到1990年的秋天。那时的Linus正在赫尔辛基大学学习Unix课程, 所用的教材是Andrew Tanenbaum的《操作系统:设计与实施》。因为在学校上机需要长时间排队等待,于是“一气之下,我干脆 自己掏钱买了一台PC机”,Linus回忆说。

   
    Linus在自己的PC机上,利用 Tanenbaum教授自行设计的微型Unix操作系统Minix为开发平台,开发了属于他自己的{dy}个程序。“这个程序包括两个进程,都是向屏幕上写字 母,然后用一个定时器来切换这两个进程。”他回忆说,“一个进程写A,另一个进程写B,所以我就在屏幕上看到了AAAA,BBBB,如此循环重复的输出结 果。” 

   
    Linus说刚开始的时候他根本没有想到要编写一个操作系统内核。1991年,他需要一 个简单的终端仿真程序来存取Usenet新闻组的内容,于是他就在前两个草草编写的进程的基础上又写了一个程序。当然,他把那些个A和B改成了别的东西。 “一个进程是从键盘上阅读输入然后发送给调制解调器,另一个进程则是从调制解调器上阅读发送来的信息然后送到屏幕上供人阅读。”然而要实现这两个新的进程,他显然还需要一些别的东西,这就是驱动程序。他必须为不同的显示器、键盘和调制解调器编写驱动程序。1991年的夏季,也就是在他购买了{dy}台PC之 后6个月,Linus觉得他还需要从网上下载某些文件,为此他必须读写某个磁盘。“于是我又不得不写一个磁盘驱动程序,然后是一个文件系统。而一旦当你有了任务切换器、文件系统和设备驱动程序之后,你当然就拥有了一个Unix,”或者至少是它的一个内核。Linux就以这样一种极其古怪但也极其自然的方式问世了。

   
    这个羽毛未丰的操作系统很有可能马上夭折,所以Linus并没有在Minix新闻组中公布 。他只是在赫 尔辛基技术大学的一台FTP服务器上发了一则消息,说用户可以下载Linux的公开版本。“Linux是我的笔名,但是我要是真用它来命名的话,我担心有人会认为我狂妄自大,而且不会去认真地对待它。所以我当时选了一个很糟糕的名字:Freax,”这个字是由free(自由)+freak(怪胎)+x构成 的,“我知道这听起来令人恶心。”幸好,管理这台FTP服务器的Ari Lemmke根本不喜欢Freax这个名字,他{zh1}还是选择了 Linux。到1992年1月止,全世界大约只有100个左右的人在使用Linux,但正是他们为Linux做关键性的在线洗礼。他们所提供的所有初期的上载代码和评论后来证明对Linux的发展至关重要,尤为重要的是那些网上黑客们为了解决Linux的错误而编写的许多插入代码段。

   
    Linus 就是如此这般脚步蹒跚跌跌撞撞地创建了一个网上的“卡勒利亚王国”,并开始为他的“卡勒瓦拉”收集并组织各种有用的素材。网上的任何人在任何地方都可以得 到Linux的基本文件,并可通过电子邮件发表评论或者提供修正代码,Usenet还专门为它开辟了一个论坛。于是,Linux就从最开始的一个人思想的 产品变成了一副巨大的织锦,变成了由无数志同道合的黑客们发起的一场运动。

    Linus向来不求名利,Linux 的成功也没有为他带来财富,但他的成就已使其在电脑科技发展史上占有一席之地。Linus的才能吸引了二十多名精英跟随左右,并心甘情愿地离开他们的家和 原来的办公室,随Linus来到硅谷,去开创他们眼里真正的事业。而Linux的转售商,像Red Hat、Solaris、 Caldera以及Workstation Solution等,在得知李纳斯要离开赫尔辛基去硅谷发展时,无不对Linux系统的前景翘首以盼。就像当年Marc Andreesen离开学校开发出Internet免费浏览器软件(即今天的NETSCAPE),又或像杨 致远和David Filo创办雅虎一样,Linus离开象牙塔后也定会有所建树。

    Linux 虽有不少优势,但并非所向披靡。对长期依赖微软操作系统的人来说,Linux的使用概念仍很陌生;企业用户也不可能一夜间抛弃Windows。虽然电脑大厂纷纷表态支持Linux,但现有支援Linux的应用软件和工具仍比不上微软完备。但对于不远的将来,Linus会竭尽一切,使Linux在激烈竞争中 继续{lx1}。Linux受欢迎的现状已经超出了他当初的想象,而且还将继续被关注、被传播、被进行下去。

    与这些努力相比,BSD方 面的研究人员的行动则比较迟缓,一个原因是Unix技术上已经相当成熟,计算机系统研究组的大部分成员已经把注意力转向了其他研究项目,另外 AT&T与BSD的法律纷争也使得BSD发展受到了阻碍。但是还是有两个将BSD移植到80386平台的开发工作同时进行,一个是BSD/386 小组,他们的研究成果是商业版本的BSD/OS,属于商业公司BSDI。另一个就是386BSD计划,后来发展成为FreeBSD。

    CSRG 研究人员的条件比较优越,拥有足够的Unix系统,因此对个人计算机平台上的Unix系统没有太急迫的要求。386BSD计划由 Bill Jolitz等研究人员发起,将4.3BSD Net/2移植到80386平台上,并使用386BSD的名称 发布。但是移植工作是一个复杂的任务,直到386BSD 0.5版本,系统中仍然存在相当多的问题没有解决。于是在1993年,另一些研究者决定加入这个计划,打算和Bill Jolitz一起修正系统中存在的问题。但是这时计划的组织者 Bill Jolitz突然决定退出,使得386BSD计划面临停止的危险。Bill Jolitz作为计划的发起者和 负责者并没有对这个计划以后该如何发展给出具体意见,因此386BSD计划是到此为止还是继续发展,就取决于其他开发者的决定。幸运的是,该项目的另三个 参与者Nate Williams, Rod Grimes和 Jordan K. Hubbard决定继续这项非常有意义的工作,他们采用由 David Green man创造的名字FreeBSD作为系统的新名字,从此有了一种任何人都可以自由使用的 Unix操作系统 ── FreeBSD。

   
BSD

    Unix使用 一个神话中的精灵形象作为其吉祥物,这个吉祥物标志被FreeBSD、NetBSD继续使用,但不同BSD系统的精灵略有不同,右图为FreeBSD的 BSD精灵形象。当用户浏览Internet时,会在很多与FreeBSD相关的网站上看到这个可爱的精灵标志。

   
    1993 年12月对于FreeBSD来讲是非常重要的日子,FreeBSD 1.0版本于这个月正式发布。这次FreeBSD的开发者找到了一家出版商Walnet Creek提供支持,来发布FreeBSD的光盘和提供高速 Internet网络服务,使得任何人都可以通过购买光盘或者通过Internet下载的方法,自由获得FreeBSD系统,使得FreeBSD取得了很大成功。而 Walnet Creek也使用FreeBSD建成了Internet 上{zd0}、最繁忙的匿名文件服务器 ──ftp.cdrom.com。

   
    FreeBSD虽然可以自由获得,然而BSD与 AT&T的法律纠纷仍然威胁着FreeBSD系统的合法性。就在FreeBSD得到相当多用户欢迎的时候,Unix系统实验室(此时已经卖给了 Novell)与伯克利计算机系统研究小组的法律纷争有了结论。虽然{zh1}不必进行赔偿,但是BSD Unix系统中必须去除原来来自 AT& T的源码。伯克利计算机系统研究小组去除了这些不到10%源码,发布了4.4BSD Lite,其他基于BSD的 U nix,包括FreeBSD在内,都被要求立即转换到4.4 BSD Lite上去。

   
    这 对FreeBSD是一次相当严重的打击,虽然4.4 BSD Lite只删除了一小部分代码,但尤其对于英特尔 80386平台,缺乏这些代码,系统就不能正常运转。FreeBSD小组必须解决两个任务,首先是将FreeBS D从原本的 4.3BSD迁移到4.4BSD上,再将删除的源码xx重写。这些任务相当于将4.4BSD Lite重新移植到80386上,因此这花 费了FreeBSD核心小组很大的精力。因此直到1995年1月他们才发布了FreeB SD 2.0,这次就是一个完 全的4.4BSD Lite的系统了。但是在大约一年时间之内,FreeBSD不能在原有1.0基础上进行改进并推出新版本,而这个时期 正是Internet进一步发展的阶段,FreeBSD错过了一个发展壮大的好时机。而其竞争对手,如Linux,则取得了巨大的成功。

   
    接下来,FreeBSD加快了开发节奏,2.1、2.2、3.0相继推出,这个系统在Internet上的应用也越来越多,尤其是对于要求高性能、高可靠性的网络服务器系统,FreeBSD提供了一个极具诱惑的选择。

   
    由 于Unix商标属于X/Open组织,而FreeBSD只是一个自由操作系统,从法律角度上看FreeBS D不能被叫Unix(不能使 用Unix做商标)。但是基于Unix本身的历史,FreeBSD可以算最原汁原味的Unix,在有的方面,它更具传统特色──或者说 BSD Unix的学院特色。当前,Unix商标其实是只具有象征性的含义,没有人介意到底那些系统是X/Open的成员,可以被称作 Unix,那些不是。Unix已经成为一个广泛的概念,只要是按照Unix为模板进行开发,所有的应用程序在C源程序级与其他Unix相互兼容,也同样被所有使用者承认为 Unix系统。因此这里的Unix包括BSD和System V在内的各种系统,也包括像Linux 这样的兼容系统。

    由于FreeBSD十分关心系统的性能和稳定性,同时FreeBSD的开发又非常活跃并十分开放。因此在系统开发中支持几个版本的FreeBSD系统并行发展,一些版本用于提供一个{zj1}稳定性的操作系统,另一些版本逐渐融合进各种新特性,使FreeBSD不断发 展。当前主要使用的FreeBSD有三个分支版本: 

   
    FreeBSD2.2.x-stable: 这个分支是当前Internet上大部分网络服务器上使用的FreeBSD版本,经过无数实践验证,具有高稳定性的特点。但是由于3.0版本已经正式发 布,FreeBSD的开发者已经于1999年1月决定停止对这个版本的开发,这个FreeBSD的分支版本进入维护状态,将仅仅进行修补一些可能存在的系 统漏洞等工作。因此除非是现存的FreeBSD系统,或者为了特殊目的要使用一些基于2.2.x开发的特殊软件,新安装的FreeBSD系统应该使用 FreeBSD-3.x版本。这个系列中{zh1}一个正式发布的光盘版本为F reeBSD 2.2.8-release。

   
    FreeBSD3.x- stable:这个版本的{dy}个正式版本3.0-release,它于1998年10月正式发布,随后就成为了稳定版本。它与2.2相比增加了对很多新硬 件的支持,并进一步提高了性能。对于安装新的FreeBSD系统来讲,应该选用这个版本。当前已经发布了FreeBSD 3.2- release。   

    FreeBSD4.0-current:于1999年1月产生,同时 FreeBSD 3.x-cur rent分支转变为FreeBSD 3.x-stable分支。当前 还没有任何正式发布版本,需要通过Internet获得 ...

 

郑重声明:资讯 【unix起源- 网络技术|电脑技术|路由交换防火墙技术|cisco技术|华为技术 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——