Linux 版 (精华区)

发信人: tcpip (俺的昵称改了), 信区: Linux
标  题: FreeBSD连载(01):FreeBSD的起源--1
发信站: 紫 丁 香 (Fri Nov 12 21:21:43 1999), 转信

【 以下文字转载自 Linux 讨论区 】
【 原文由 tcpip 所发表 】
FreeBSD连载(01):FreeBSD的起源

http://www.sina.com.cn 1999年11月3日 17:19 王波

第1章 引言

  在计算机领域,Unix一直是作为高端平台而出现的。几年以前,只有在大型机构的专
用机房中才能接触到它们,甚至稍小一些的机构也负担不起购买Unix工作站的费用。只有
很少的使用者才有机会接触和使用Unix,能管理和维护 Unix系统的计算机专业人员就更
少了,这就使得Unix总是披着一层神秘的面纱,在普通使用者面前,Unix属于一种难于使
用、十分昂贵的操作系统。然而,当运行在个人电脑上的自由Unix系统出现之后,这种情
况已经改变了。

  事实上,今天的Unix已经不能说是一个单一的操作系统,它包括了非常多的种类,有
高端的HP、SUN服务器,也有中、低端的运行在Intel平台上的Unix系统。Unix不再是普通
使用者可望而不可及的操作系统了,每个喜爱Unix的人都可以在自己的PC机中安装上一套
Unix系统,学习它、使用它。而中小企业也可以使用PC服务器来运行Unix系统,充分利用
Unix系统的强大处理能力。

  FreeBSD就是一种运行在Intel平台上、可以自由使用的Unix系统,它可以从Internet
上免费获得。而它又具备极其优异的性能,使它得到了计算机研究人员和网络专业人士的
认可。因此,不但专业科研人员把它用作个人使用的Unix工作站,很多企业,特别是ISP
(Internet服务提供商)都使用运行FreeBSD的高档P C服务器来为他们的众多用户提供网
络服务。

  

FreeBSD的起源

  自从1969年AT&T Bell实验室研究人员创造了Unix之后,Unix就不断发展,逐渐成为
了主流操作系统。虽然当前Windows系列已经占据了桌面计算机的领域,其中Windows NT
服务器也在网络服务器领域得到了部分用户的承认,但在高档工作站和服务器领域,Unix
仍然具有无可替代的作用。尤其在用作Inter net服务器方面,Unix的高性能、高可靠性
、以及高度可扩展的能力仍然不是其他操作系统所能够代替的。

  虽然Unix由AT&T创造,但它如此流行却并不能完全归功于AT&T自己的功劳。现代Un 
ix不是一个厂家的单独产品,在它长期的发展过程中形成了多种不同的版本。惟其丰富多
样,才使得Unix具有强大的生命力。FreeBSD正是Unix众多分支中相当优秀的一支,它的
发展历史也相当悠久,是著名的BSD Unix的一个继承者,因此要了解FreeBSD发展的历史
,首先就要了解Unix发展的历程。

  

Unix的历史发展

  



  Unix操作系统的历史漫长而曲折,它的第一个版本是1969年由Ken Thompson在AT& T
贝尔实验室实现的,运行在一台DEC PDP-7计算机上。这个系统非常粗糙,与现代Unix相
差很远,它只具有操作系统最基本的一些特性。后来Ken Thompson和Dennis Ritchie使用
C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机
上。从那以后,Unix系统开始了令人瞩目的发展。

  由于此时AT&T还没有把Unix作为它的正式商品,因此研究人员只是在实验室内部使用
并完善它。正是由于Unix是被作为研究项目,其他科研机构和大学的计算机研究人员也希
望能得到这个系统,以便进行自己的研究。A T&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),向
外发行。 

  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 Unix和Unix System V形成了当今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来表示次版本。如
Sys tem 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在Un ix领域内的
影响更大。AT&T的Unix系统实验室一直关注着BSD的发展,在1992年,Unix系统实验室指
控BSDI── 一家发行商业BSD Unix的公司,违反了AT&T的许可权,发布自己的Unix版本
,并进一步指控伯克利计算机系统研究组泄漏了Unix的商业机密(此时的4.3BSD中来自
AT&T Un ix的代码已经不足10%)。这个官司影响了很多Unix厂商,使他们不得不从BSD 
Unix转向Unix Sys tem 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体系的计算机系统)。由于这个版本不存在法律问题
,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的发展,可以注意到Unix与其他商业操作系统的不同之处主要在于其开放性
。在系统开始设计时就考虑了各种不同使用者的需要,因而Unix被设计为具备很大可扩展
性的系统。由于它的源码被分发给大学,从而在教育界和学术界影响很大,进而影响到商
业领域中。大学生和研究者为了科研目的或个人兴趣在Unix上进行各种开发,并且不计较
金钱利益,将这些源码公开,互相共享,这些行为极大丰富了Unix本身。很多计算机领域
的科学家和技术人员遵循这些方式,开发了数以千计的自由软件,包括FreeBSD在内。正
因为如此,当今的Internet才如此丰富多采,与其他商业网络不同,才能成为真正的全球
网络。开放是Unix的灵魂,也是Internet的灵魂。

  由于Unix的开放性,另一方面就使得存在多个不同的Unix版本。由于不同的Unix使用
稍有差别的文件、目录结构,提供略有不同的系统调用,因此对系统管理、以及为Unix开
发可移植的应用程序带来一定的困难。例如Sys tem V和BSD的很多系统调用就存在不同。
在Unix历史发展中也存在将Unix完全统一的努力,例如POSIX 规范就是各个Unix厂商经过
协商,达成的Unix操作系统应该遵循的一套基本系统调用的规定。然而由于存在多个Un 
ix系统,各个厂商的意见很不统一,因此POSIX规范制定的很宽松,甚至Windows NT中也
存在一个POSI X子系统。事实上,只要各个Unix之间协调发展,不故意为了商业目的而人
为的制造系统差异,就能够保持各个Unix 之间不致具有太大的差别,保持Unix系统的多
样性比只有唯一的一个Unix系统更能够促进技术的进步和发展,企图人为的统一Unix的想
法只能是某一个Unix厂商的一厢情愿。

  有时为了避免法律纠纷,表明自己的程序代码是完全重写的,一个软件厂商会故意将
一些函数声明的与其他系统的中的同类函数不同,例如使用不同的函数参数或改变函数参
数的顺序等。Unix System V中的很多系统调用与BS D Unix不同的部分原因也在于此。这
些差异人为造成了不同系统的源程序的差异。

  

--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10] 
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.10]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.410毫秒