FreeBSD的起源

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

1969年AT&T发明了Unix操作系统,还没有把Unix作为它的正式商品,研究人员只是在实验室内部使用并完善它。Unix的源代码也被散发到各个大学,这使得Unix的普及更为广泛。

加州大学伯克利分校对Unix的改进相当多,增加了很多当时非常先进的特性,包括更好的内存管理,快速且健壮的文件系统等,大部分原有的源代码都被重新写过,以支持这些新特性,并把他们的Unix组成一个完整的Unix系统──BSD Unix(Berkeley Software Distribution),向外发行。

BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础,BSD Unix中最先实现了TCP/IP,使Internet和Unix紧密结合在一起。经过历史上的一些版权纷争,相互促进,BSD Unix和Unix System V形成了当今Unix的两大主流,现代的Unix版本大部分都是这两个版本的衍生产品。4.4BSD Lite是现代BSD系统的基础版本。

BSD Unix使用一个神话中的精灵形象作为其吉祥物,这个吉祥物标志被各BSD发行版本沿用。1993年12月FreeBSD 1.0版本正式发布。任何人都可以通过购买光盘或者通过Internet下载的方法,自由获得FreeBSD系统,使得FreeBSD取得了很大成功。FreeBSD也支持着Internet 上最大、最繁忙的匿名文件服务器──ftp.cdrom.com。

由于Unix商标属于X/Open组织,而FreeBSD只是一个自由操作系统,从法律角度上看FreeBSD不能被叫作Unix(不能使用Unix做商标)。但是基于Unix本身的历史,FreeBSD可以算最原汁原味的Unix。

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

BSD的简要历史

--------------------------------------------------------------------------------
 
2004-05-19  
 
要了解 FreeBSD,首先要了解 BSD。本文介绍 BSD 的简要历史,通过了解 BSD 的发展历程,我们可以更好的理解 FreeBSD。

BSD是"Berkely Software Distribution"的缩写,意思是"伯克利软件发行版"。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。

BSD的出现要追溯到上个世纪的七十年代,当加州大学伯克利分校的学生Bill Joy在1971年完成了"Berkely Software Distribution"的合并以后(包括Pascal系统和一个编辑器ex),就算是BSD诞生了第一个发行版,并且发行了大约三十份免费的系统拷贝。

BSD的用户社团一直在不断扩大,到了1978年,软件发行版得到了更新和升级,结果产生了第二版的"Berkely Software Distribution",即2BSD,其中包括了增强的Pascal系统,vi和termcap(Unix用户一定会对vi和termcap这两个名词感到非常亲切)。2BSD的系统拷贝也是免费的,并且其最后一个版本2.11BSD至今还在世界的各个角落运行着。

VAX计算机的普及导致了1979年末3BSD的诞生。3BSD是Berkely的第一个VAX发行版,同样也是Joy发布的,包含了C Shell和2BSD发行版中的大量附加程序,以及虚拟内存内核和标准32/V(Bell实验室的最后一个Unix版本,运行在VAX上)实用程序。

到了1980年10月,Joy推出了一个焕然一新的发行版本,称为4BSD,其中包括Pascal编译器、Franz Lisp系统和邮件处理系统。4BSD支持DARPA网络,版权的控制是以大学为单位的,而不是以单台计算机为基础计算。

1980年,一个命名为CSRG(Computer System Research Group,计算机系统研究小组)的小组被组建起来负责BSD的发行工作,并于1981年6月发行了称之为4.1BSD的新版本。请注意,不是5BSD。由于AT&T觉得5BSD会使用户将它和AT&T Unix System V相混淆,Berkely同意改变BSD将来版本的命名规则,将版本号仅保留在4BSD上,以后只增加4后面的小版本号。

4.2BSD于1983年8月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。到了1986年6月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。

由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商要求Berkely将AT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。因此,到了1989年6月,一个完全没有AT&T Unix代码的BSD版本诞生了,称之为"Networking Release 1"。这是第一套由Berkely发布的自由可再发行(freely-redistributable)的代码,,它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向Berkely申报版税,唯一要求是在源代码文件中原封不动的保留Berkely的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。

1990年初,CSRG发行了4.3BSD-Reno,这是一个过渡版本,此后CSRG几乎重写了整个BSD发行版本的所有代码,除了6个内核程序。正是这六个程序导致了日后BSDI公司与USL(Unix系统实验室)的一场官司。重写的新版本被命名为Networking Release 2,于1991年6月推出,它的许可证条款与第一个版本完全相同,都允许自由可再发行。在这个版本发布后的6个月内,Bill Jolitz重写了那6个漏掉的内核程序,并很快发布了完整的可运行在386PC体系上的系统,它称之为386/BSD。

386/BSD版本发布后的几个月内,一群386/BSD用户组成了一个小组,他们开始维护和增强后续系统,这就是NetBSD。NetBSD侧重于支持尽可能多的平台,并继续按照CSRG所建立的研究风格进行开发工作。在NetBSD小组正式成立后几个月,FreeBSD小组成立了,其宗旨是仅支持PC体系并尽可能多的发行他们的系统(现在,作为一个相对独立的系统,FreeBSD已经能够支持Alpha和SPARC体系)。在90年代中期,从NetBSD小组中分离出OpenBSD小组,他们的目标是提高系统的安全性,并借助了许多FreeBSD发行版本的安装特性。至此,目前最主要的三大BSD小组完全成型。

在此以后,CSRG还继续发布了4.4BSD-Lite、4.4BSD-Encumbered以及4.4BSD-Lite, Release 2三个发行版本,并于1995年6月以后被解散,完成了对BSD发行的领导工作。

(注:本文数据参考了Marshall Kirk McKusick的文章"Twenty Years of Berkeley Unix --From AT&T-Owned to Freely Redistributable",McKusick是BSD发行的核心人物之一,同时也是BSD Daemon图标的版权所有者)

BSD系统全家福

--------------------------------------------------------------------------------
 
2004-05-19  
 
BSD是Berkeley Software Distribution的简称,它最初是用来发布由Berkeley大学的Computer Systems Research Group(CSRG)开发的UNIX系统(Berkeley UNIX)。后来出现的BSD系统都是源自于Berkeley UNIX。现在主要的BSD系统有下面这些:

386/BSD

386/BSD是最初的BSD操作系统,是在1992年由William F.Jolitz在4.3BSD的Networking Release 2基础上开发的。它主要运行在386PC的体系结构上。它的发行版主要是在网络上完成的,任何人都可以从网络上自由下载。386/BSD在发展了一定阶段后,就再也没有进展:取而代之的是,从此引出了两个操作系统,NetBSD和FreeBSD。现在,大家都认为386/BSD已经死了。

NetBSD

在386/BSD版本发布几个月以后,一群具有敏锐眼光的用户成立了一个小组,他们收集资源以帮助维护和增强后来的系统。他们把他们的版本命名为NetBSD。NetBSD侧重于支持尽可能多的平台,并继续按照CSRG的风格进行开发。现在,NetBSD能够支持包括从Algor到 VAX在内的近70种平台。你可以去看看NetBSD的官方网站http://www.NetBSD.org了解更多信息。

FreeBSD

在NetBSD小组成立后几个月,FreeBSD小组也成立了,主要专注于PC体系结构,其宗旨是能够开发出一个坚如磐石的网络操作系统。它直接源自于386BSD和4.4BSD-Lite。后来,FreeBSD小组找到了Walnut Creek CDROM发行商,由他们来发行FreeBSD光盘,而且Walnut Creek还提供开发FreeBSD这一计划所需要的计算机和快速的互联网接入。应该说FreeBSD的发展离不开Walnut Creek的支持。FreeBSD发展到现在已经相当成熟了,它的技术性能也是相当出色,十几年的开发使它成为一个“坚如磐石”的网络操作系统,有许许多多的大网站和ISP在运行着FreeBSD,免费和开放的特性使得它成为商业计算和科学研究的极佳平台。现在,FreeBSD也已经可以支持Alpha和Sparc64平台,但与PC平台相比还有很长的路要走。

由于FreeBSD的优越性能和采用BSD许可协议,所以很多国际大公司对它进行二次开发,使它能够适用于专有系统上。像仅次于cisco的第二大路由器厂家Juniper,它的JUNOS系统就是基于FreeBSD的系统,当然Juniper的路由器用的是专用网络处理芯片。防火墙方面有Nokia,Samsung等,他们就是使用FreeBSD 2.2.x的系统。而Maxtor、AMI等厂家在他们的存储系统中也是使用FreeBSD。此外,IBM的InterJet也是使用FreeBSD。其他不太著名的厂家,使用FreeBSD的更是比比皆是。 由此可见,FreeBSD是目前最出色,使用范围最广的BSD系统。FreeBSD的官方网站是www.FreeBSD.org。

BSD/OS

BSD/OS也是一个非常优秀的操作系统。它是原来BSD UNIX的部分开发人员成立的BSDi(Berkeley Software Design Inc.)公司的产品。它与FreeBSD差不多,但要比FreeBSD支持更多的硬件,有很好的服务和技术支持。现在,BSDi公司已经被WindRiver公司收购了。

OpenBSD

OpenBSD是从NetBSD中分离出来的,专门把NetBSD跟FreeBSD的新功能和修正加在一起,算是NetBSD和FreeBSD的混血儿。他们的技术宗旨是提高系统的安全性,被认为是目前世界上最安全的操作系统,已经有将近四年无远程访问漏洞的纪录。他们的市场目标是使得系统更易于使用和更广泛地被采用,所以他们借用了FreeBSD发行版本便于安装的许多特性。你可以在http://www.OpenBSD.org找到详细信息。

Darwin(MacOS X)

Apple公司在2001年早些时候发布了他的MacOS的第十版(X)。它背离了先前的MacOS版本:它把基本系统(Darwin)建立在带有一个BSD环境的Mach微内核基础之上,再加上Apple自己的Aqua图形界面。基本系统(Darwin)也是自由的。FreeBSD和Darwin在用户源代码水平上是兼容的。而且,Apple还雇佣了FreeBSD社区的大拿Jordan Hubbard,他就是FreeBSD计划的创始人之一。最近,Apple也建立起了自己的Darwin社区,希望吸引更多人能加入到它的社区中。

可见,所有的BSD系统分支都有一个共同的起源,所以说它们是一家人一点也不假。实际上,它们之间也是不断地取长补短,共同进步。
 
FreeBSD的发展历史

--------------------------------------------------------------------------------
 
2004-05-19  
 
FreeBSD的起源最早可以追溯到贝尔实验室的第一版UNIX。1969年,Ken Thompson,Dennis Ritchie和其他成员在一台PDP7计算机上完成了UNIX的早期版本。

Ritchie先前一直从事于MULTICS计划,MULTICS对以后的新操作系统有很大的影响。甚至名称UNIX也不过是MULTICS的双关语。基本的文件系统组织,命令行接口,对每个命令使用分离的进程,最早的行编辑字符(#用于删除最后一个字符,@用于删除整个一行),和其他很多特性直接源自于MULTICS。其他一些操作系统像MIT的CTSS和XDS-940系统也吸收了很多MULTICS的思想。后来UNIX又被移植到了PDP-11/45和11/70上,添加了多道程序设计和其他很多新特性。

在UNIX开发完后,它在贝尔实验室内部被广泛使用,渐渐地又把它分发给了几个大学。1976年发布了贝尔实验室以外被广泛使用的版本6。

1978年,版本7发布了。这个UNIX系统可以运行在PDP-11/70和Interdata 8/32上,实际上也是绝大多数现代UNIX系统的祖先。特别是,它又被移植到了其他PDP-11系列机和VAX计算机上。VAX上可用的版本叫做32V。此后,研究工作仍然在继续。

在1978年发布了版本7后,UNIX支持组(USG)在AT&T(贝尔实验室的母公司)内部担负起了UNIX发布的管理控制工作。

UNIX逐步地变成了一个产品,而不是先前的一个研究工具。UNIX的研究组为了支持他们自己内部的计算机,继续开发着他们自己版本的UNIX。接着,就发布了版本8,它包含了一个叫做stream I/O system的工具,允许对内核IPC模块进行灵活地配置。它也包含了RFS,与Sun的NFS很相似的一个远程文件系统。

接着,又发布了版本9和版本10(是1989年发布的最后版本,只能用在贝尔实验室内部)。

USG主要在贝尔实验室内部提供UNIX的支持。来自USG的第一个外部发行版是1982年的System III。System III合成了版本7和32V的特性,在它里面包含了一个实时UNIX系统UNIX/RT。1983年USG发布了System V,它主要源自于System III。

1984年,USG被改组为UNIX系统开发实验室(USDL),它发布了UNIX System V Release 2 (V.2)。UNIX System V Release 2,Version 4 (V.2.4)添加了用于页面调度和共享内存的虚拟内存的执行机制。USDL接着由AT&T信息系统所替换(ATTIS),它在1987年发布了System V Release 3 (V.3)。V.3调整了stream I/O system的执行机制,使它可用作STREAMS。它也包含了RFS,一个类似NFS的远程文件系统。

早期UNIX系统的模块化和干净的设计使得很多计算机科学组织都基于UNIX进行工作,像Rand,BBN,Illinois,Harvard,Purdue大学,甚至DEC公司。最有影响力的UNIX开发组是加州大学伯克莱(Berkeley)分校。

最早的Berkeley VAX UNIX版本是在1978年发布的,它加入了虚拟内存,自请求页面调度和对32V的页面替换特性。这个工作由Bill Joy和Ozalp Babaoglu完成,最终形成了3BSD UNIX。3BSD巨大的虚拟内存空间允许开发非常巨大的程序,如Berkeley自己的Franz LISP。优秀的内存管理工作使得国防部高级研究项目署(DARPA)确信应该资助Berkeley来开发一个政府使用的标准UNIX系统,这最终导致了4BSD UNIX的出现。

4BSD从1979年发布最初版本以来一直是VAX机的操作系统,直到出现Ultrix,这是DEC的BSD执行版本。4BSD仍是很多研究机构和网络装置的最好选择。许多组织会购买一个32V的许可,然后从Berkeley订购4BSD。

针对DARPA的4BSD工作由一个策划指导委员会领导,它包括了许多著名的UNIX和网络社区中的任务。这个计划的目标之一是为DARPA提供Internet网络协议(TCP/IP)。

然而,当时的UNIX系统已经不仅仅限于贝尔实验室(当时已经成为朗讯科技的实验室)内部和Berkeley。Sun Microsystems也在他们的工作站上销售BSD UNIX。由于UNIX的广泛流行,它已经被移植到了许多不同的计算机系统上。而且创建了许多UNIX和UNIX类操作系统。DEC支持它自己的UNIX(叫做Ultrix),又用另一个源于UNIX的操作系统(OSF/1)替换了Ultrix。Microsoft改写了Intel 8088系列上的UNIX,把它叫做XENIX,它的新的Windows NT操作系统也深受UNIX的影响。IBM在他的PC,工作站和主机上使用UNIX(AIX)。事实上,UNIX几乎可以用在所有通用的计算机上。它可以运行在个人计算机,工作站,微型计算机,主机和超级计算机上,从Apple Macintosh II到Cray II。由于它的广泛可用性,就被广泛使用在从学校到军事方面进行过程控制。绝大多数这些系统是基于版本7,System III,4.2BSD或SystemV。

由于计算机厂商的广泛使用,使得UNIX成为最容易移植的操作系统,对用户来讲,它已经成为了一个独立于任何特定计算机厂商的UNIX环境。但是,各个厂商之间出现了许多不同的程序变化和用户接口。

对于独立的厂商来说,应用程序开发人员需要一致的接口。这样的接口使所有的UNIX应用程序可以运行在所有的UNIX系统上。这个问题变得非常重要,因为UNIX已经成为应用程序开发的首选平台,被广泛用在数据库到图形和网络的开发上,导致了市场强烈要求出现一个UNIX的标准。

从那以后,出现了许多官方的标准:IEEE和ISO(POSIX标准)。X/Open组织国际协会完成了XPG3,一个普通的应用环境,这个包含了IEEE的接口标准。不幸的是,XPG3是以ANSI C标准草案为基础的,而不是最终规范,因此需要重新制定。在1993年出现了XPG4。在1989年,ANSI标准化组织颁布了标准化的C编程语言,产生了一个ANSI C规范。由于这些计划的继续,UNIX的不同特性将被统一,UNIX将产生一个统一的编程接口,使UNIX变得更加流行。事实上在这个问题上存在两派:AT&T领导的UNIX国际(UI)和开放软件基金会(OSF)都已经同意遵循POSIX标准。最近,许多厂商已经同意进行标准化,使用Motif窗口环境,和ONC+(包括SUN RPC和NFS)与DCE网络工具(包括AFS和RPC软件包)。

在1989年,AT&T把它的ATTIS替换成UNIX软件组织(USO),由它来发行第一个融合多种系统特性的UNIX,System V Release 4。这个系统包含了来自System V,4.3BSD和Sun SunOS的许多特性,它包含长文件名,Berkeley文件系统,虚拟内存管理,符号连接,多访问组,工作控制,和可靠的信号。它也符合POSIX标准,POSIX.1。USO发布SVR4后,它变成为AT&T一个独立部门的产品,这个部门被命名为UNIX系统实验室(USL)。在1993年,它又被Novell公司收购。

来自Berkeley的UNIX系统是由Berkeley Software Distributions(CSRG)发布的。如Berkeley VAX UNIX的后续版本3BSD和4BSD,以及一些特定的版本,特别是4.1BSD和4.2BSD。这些BSD版本主要用在PDP-11和VAX上。4.2BSD,最早是在1983年发布的,最初的Berkeley DARPA UNIX计划的最后一个版本。

在4BSD发展过程中,有一个非常重要的版本:4.2BSD,它可以在不同的网络之间进行通信,包括本地网(如以太网和令牌环网),和广域网(如NSFNET)。这个功能也是当前这些协议流行的主要原因。它被许多UNIX计算机厂商和其他操作系统所使用。它使得Internet从1984年的60个相连的网络迅速发展到1993年的8000个网络,将近1000万的用户。

另外,Berkeley也添加了很多特性以提高UNIX操作系统的设计和执行水平。TENEX (TOPS-20)的许多终端行编辑功能由一个新的终端驱动程序来提供。一个新的用户接口(C Shell),一个新的文本编辑器(ex/vi),Pascal和LISP的编译器,和许多新的系统程序都是由Berkeley开发的。对于4.2BSD,一些功能的提供是从VMS操作系统得到了灵感。

1986年,4.3BSD发布了。它与4.2BSD非常相似。它包含了很多内部的修正,包括错误修复,性能提高。一些新的工具也被加入进来,包括对Xerox网络系统协议的支持。

接着在1988年发布了下一版4.3BSD Tahoe。它包含了很多新的东西,如提供了网络拥塞控制和TCP/IP性能。而且,磁盘配置也与设备驱动相分离,现在可以很快地读取磁盘。扩展的时区支持也加入进来。4.3BSD Tahoe事实上是为CCI Tahoe系统(Computer Console,Inc.,Power 6 计算机)开发的,而不是通常的VAX机。相应的PDP-11版本是2.10.1BSD,它是由USENIX Association发布的,这个组织也出版了4.3BSD的手册。但是,所有的BSD用户必须先得到一份AT&T的源代码许可证,这是因为Berkeley从来没有仅以二进制的方式发行过BSD系统,发行版本总是包含了系统每个部分完整的源代码。随着AT&T源代码许可费用的增加,一些希望能够使用BSD代码为PC市场制造独立的基于TCP/IP联网产品的厂商们发现,按照每个二进制拷贝交费是行不通的。于是他们要求Berkley将联网的代码和使用程序从BSD发行版中分离出来,并且签发他们自己的许可证条款,而不需要AT&T的源代码许可证。所以最初的BSD联网代码和支持性应用程序在1989年6月作为“Network Release 1”发布。

同时,开发工作仍在继续。BSD系统又加入了源自于Mach系统的虚拟文件系统和与Sun兼容的网络文件系统(NFS)。由于那时还没有完整特性的4.4BSD可以发布,所以发布了代号为4.3BSD Reno的过渡性版本。后来又发布了有重大改进的“Networking Release 2”。

Bill Jolitz在Networking Release 2基础上对系统进行了修正和补充,最终发布了可以运行在386体系上的完整系统,它称之为386/BSD。但由于Jolitz没有更多的时间来处理大量的臭虫和改进386/BSD,所以在发布了386/BSD版本发布几个月内,一些386/BSD用户成立了一个小组,发布叫做NetBSD的版本。在NetBSD小组成立几个月后,FreeBSD小组成立了。

为了给那些不容易访问互联网的用户提供一个FreeBSD的发行渠道,FreeBSD小组开始跟Walnut Creek CDROM发行商进行联系。Walnut Creek CDROM发行商不仅愿意为他们发行FreeBSD光盘,而且还为他们提供开发这一计划所需要的计算机和快速的互联网接入。没有Walnut Creek CDROM的支持,他们就没有信心去开发这一计划,也不可能有今天的FreeBSD。

第一张FreeBSD光盘是在1993年12月发布的,他们把它命名为FreeBSD1.0。这一版本是以伯克莱加州大学的4.3BSD-Lite(“Net/2”)为基础的,它带有386BSD上的许多组件还有自由软件基金会(FSF)的许多软件。对于一个早期的产品来说,它还算成功。接着,在1994年的5月份成功地发布了FreeBSD1.1版本。

在UNIX发展到比较成熟的时候,有一件很不幸的事情发生在Berkeley的CSRG身上。UNIX由于太成熟了而不能再被视为一个研究项目,整个作品被锁在围墙中:CSRG将被解散。许多人决定把Berkeley UNIX移植到PC上,就在几年后SCO完成了这样的工作。根据Berkeley的传统,他们决定把它贡献出来。但是工业界的反应并不友好。在1992年,AT&T的USL(UNIX Systems Labratories)开始起诉Berkeley Software Design Inc.(BSDI)——BSD/386和BSD/OS操作系统的开发者,与FreeBSD很相象,声称违反了AT&T的源代码发布许可。他们后来与University of California,Berkeley进行了长期的法律诉讼。最终,进行了庭外和解,详细的条件并没有被完全公布。唯一大家知道的是BSDI必须将他们产品的源代码移植到比较新的4.4BSD-Lite上。虽然没有陷入诉讼,但他们还是建议把FreeBSD移植到4.4BSD-Lite上,直到1994年发布FreeBSD2.0版的时候才把这个工作完成。虽然系统很多地方还很粗糙,但是这一发行版还是很成功的。到1995年6月份发行2.0.5版的时候,它已经变得非常强大和容易安装了。

他们在1996年8月发布的FreeBSD 2.1.5版,它已经在ISP和一些商业团体中广泛流传。另外一个发行版沿着2.1-stable分支继续发展,直到1997年2月发行2.1.7.1版后才终止了这一分支。现在这些分支处于维护阶段,仅仅是增强一些安全性和修补一些错误。

1996年的11月,从主开发线(“-CURRENT”)分出来FreeBSD 2.2作为RELENG_2_2分支。作为这一分支的最早发行版是在1997年4月发布的2.2.1版,这个分支直到1998年11月的2.2.8版时才宣告结束。正式的3.0发行版是在1998年10月份出现的。

到了1999年1月20日又出现了新的分支,那就是4.0-CURRENT和3.X -STABLE分支。从3.X-STABLE开始,3.1版是在1999年的2月15日,3.2是在1999年5月15日,3.3版是在1999年的9月16日,3.4版是在1999年的12月20日,3.5版是在2000年的6月24日发布的,几天后又加入了一些安全性方面的修补,这一分支最终发展到3.5.1版本。这也是3.X分支的最后版本。

到了2000年3月13日又出现了另一个分支4.X-STABLE。现在,他们采用“current-stable”的分支方法。从这时开始,又有了好几个发行版:4.0版在2000年3月发布,4.1版在2000年7月发布,4.2在2000年11月发布,4.3在2001年4月发布,4.4在2001年9月发布。沿着4.X-STABLE这一分支将不断发展到2002年。

现在,FreeBSD小组正在继续开发着5.0-CURRENT(trunk),预计在2002年年底的时候可以发行5.0的Release版。
 
FreeBSD与Linux的比较

--------------------------------------------------------------------------------
 
2004-05-19  
 
FreeBSD是一个自由的,源自AT&T UNIX的操作系统。目前已经不包含任何AT&T的代码。可以说它是正统的UNIX后代。而Linux是由一个芬兰Helsinki大学的学生Linus Torvalds开发的UNIX的克隆。在Linus上大学的时候,由于AT&T与加州大学伯克莱分校在BSD版权问题上发生了法律纠纷,导致BSD的源代码还不能自由使用,所以Linus写了他自己的UNIX版本(事实上,FreeBSD和Linux严格意义上不能叫做UNIX,因为UNIX是The Open Group的注册商标)。

FreeBSD是一个完整的操作系统,包含了从开发工具到各种各样的应用程序。它由一个软件开发的核心团队来维护,整个原始程序代码会有组织地进行更新,所以程序代码比较有一致性。FreeBSD主要是由它的核心小组来发布。而Linux只是一个内核,是由Linus Torvalds个人维护的。作为一个完整的系统,Linux中还加入了许多GNU的东西。所以Linux更确切的称呼应该是GNU/Linux。Linux有很多发行商,像Redhat,SuSe,Caldera,Debian,Slackware等等,它们互相之间是不兼容的,各个厂商都加入了很多自己的东西。所以说Linux正在像当年的UNIX一样走向分裂。不过,幸运的是已经有权威人士意识到了这一点。

FreeBSD的目标是提供一个坚如磐石的系统。它的技术性能是有目共睹的,十几年的开发使它成为一个“坚如磐石”的网络操作系统,有许许多多的大网站和ISP在运行着FreeBSD,免费和开放的特性使得它成为商业计算和科学研究的极佳平台。Linux是一个不断开发中的系统,全世界许许多多的Linux爱好者在给它加入新的特性,但给人的感觉是它还没有长大成人。Linux的起源更多的包含了一种黑客精神,而FreeBSD则纯粹是从理论团体中走出来的,带有更多的学院派色彩,而且它的发展和计算机研究部门联系非常紧密,而不是黑客们随心所欲的结果。当各公司开始雇佣黑客来安装和管理互联网时,他们会比较自然地想到Linux这个老朋友,而不是(在他们看来)死板的FreeBSD。

FreeBSD由于采用集中式的开发方式,所以FreeBSD的安装方式比较清晰,直接和高效。但对于那些习惯于图形化安装方式的朋友来说,FreeBSD可能会让他们失望。如果你习惯了FreeBSD的安装方式,相信你一定会爱上它的。Linux由于有很多的发行厂商,所以它的安装环境也是五花八门,有基于图形的安装界面,有基于字符的安装界面。各个发行商之间的安装方式还有所差异。如果你从一种Linux发行版转到另一种Linux发行版,你就可能需要学习一个新的安装工具。

由于FreeBSD曾经长时间地陷入了与AT&T的法律纠纷,严重阻碍了它的发展,所以使得它不太为人所知。如果没有这场法律纠纷,也许就不会有今天的Linux了。因为FreeBSD陷入法律纠纷的时候,Linux只是刚刚萌芽。Linux一个完全新开发的系统,没有遇到任何法律上的纠纷,所以在很长时间里,它是唯一一个免费的UNIX类系统,深受黑客们的喜爱。

由于人们对FreeBSD的认识比较少,使用范围也比较小,导致了它在对一些新产品的驱动支持方面不如Linux。因为商业应用软件和驱动程序的缺乏,所以FreeBSD仍然运行着Linux的程序,不管是商业的还是非商业的。而Linux的使用范围越来越广,并且得到了许多国际大公司的支持,所以有越来越多的商业化软件可以使用。而且,发展速度相当快,一般一种新产品出来不久就会有相应的驱动程序可以使用。Linux不一定要运行FreeBSD的驱动程序。

FreeBSD拥有许多狂热的支持者,只要有谁敢说它没有Linux好,他们就会跳出来与之争辩。Linux也拥有许多狂热的支持者,只要有谁敢说它没有FreeBSD好,他们也会跳出来与之争辩。

总的来讲,Linux也是一个优秀的操作系统。至于,它比FreeBSD更优秀,这会引起很多人的争论。FreeBSD和Linux之间的不同更多的是哲学方面的问题,而不是概念方面的问题。事实上,它们之间是互相取长补短,现在许多人都运行着这两种系统。

http://www.99net.net/study/system/freebsd/

FreeBSD 背景相关推荐

  1. FreeBSD 6.0架设管理与应用-第三章 UNIX 系统入门

    在开始进阶的 FreeBSD 设定之前,我们先来了解一下 UNIX 系统的架构及基本知识.这些知识对于我们之后管理.使用 FreeBSD 十分重要.如果您是 UNIX 新手,请务必详读本章. 本章将介 ...

  2. Linux下mount FreeBSD分区

    假设须要从第二块硬盘复制文件.该硬盘格式化为UFS 2文件系统.怎样mount 由FreeBSD创建的UFS 2文件系统到Ubuntu系统上呢? UFS文件系统广泛的使用在不同的操作系统(比如:HP- ...

  3. freebsd下vi的使用

    题记: 最小化安装完freebsd系统后,我们需要配置系统的初始环境,这时候文本的编辑工具就得利用上了.freebsd下默认的可以利用的文本编辑工具有vi和ee,但是初始状态下的vi非常难用,而且没颜 ...

  4. FreeBSD基本命令[转]

    转载自:http://www.majormoves.net/post/223/ FreeBSD基本命令 第一步 我如何离线?(exit) 我如何停止电脑?(shutdown -h now) 我如何重新 ...

  5. FreeBSD 创始人-Jordan Hubbard

    Jordan Hubbard 曾是 FreeBSD 的创立者之一, 现任苹果公司 Darwin 项目的负责人. Jordan 只拥有高中学历, 但对计算世界做出了令人注目的贡献. 在这篇访谈里, Jo ...

  6. Nginx(零):背景

    我们今天开始对Nginx的学习,本来是打算第一篇就是基础知识介绍的,但是我感觉在学习一个新知识之前总应该知道,我们为什么要学习它,学习它的意义何在吧!所以我加了背景这一篇作为Nginx开始学习的标志. ...

  7. FreeBSD常用命令 110 条

    01.查看网络流量 a.systat -if 1 (1表示1s刷新屏幕一次) b.netstat 1 # Traffic 流量 peak 峰值 average 平均值 02.查看硬盘信息 diskin ...

  8. FreeBSD常用命令110条

     01.查看网络流量 a.systat -if 1 (1表示1s刷新屏幕一次) b.netstat 1 # Traffic 流量 peak 峰值 average 平均值 02.查看硬盘信息 dis ...

  9. 选择 FreeBSD 而不是 Linux 的技术性原因

    干净的分离 在 FreeBSD 的设计方式下,不同的组件组合在一起的,处理配置和调优,以及多年来开发和改进的所有工具,使得使用 FreeBSD 是一件很特别的事情. 从 1998 年开始,我所使用的大 ...

最新文章

  1. 每天一个linux命令(28):tar命令
  2. spark.mllib:Optimizer
  3. CloseableHttpClient加载证书来访问https网站
  4. C++新特性探究(七):初始化列表(Initialization List)
  5. linux启动mysql_Linux安装mysql
  6. 几个好朋友在一起吃饭,结账时大家都抢着买单,你会怎么做?
  7. C++基础知识(二)命名空间
  8. 美味爱读提供一种崭新的阅读方式
  9. java二级考试怎么考_2018年全国计算机二级Java考试考什么内容
  10. excel验证身份证信息是否正确
  11. 高校学生社团管理系统
  12. 转:socks5协议详解
  13. 微信小程序弹窗显隐动态控制页面滚动
  14. 程序员集体意识大爆发:996背后的深问题
  15. cad显示有点暗_CAD参照的图框颜色太暗怎么调整? 一打开CAD就出现这样的情况怎么办...
  16. Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用
  17. mysql neq_ecshop中smarty比较操作符(eq,ne,neq)含义
  18. 在子域下安装Exchange服务器并批量生成用户为每一位用户建立邮箱
  19. 秋夜长,怎奈碎念悠怅
  20. 新来的同事问我where 1=1 是什么意思

热门文章

  1. 通过修改键盘映射替代损坏按键
  2. php汉字转拼音库,汉字转拼音的PHP库
  3. python 爬陌生人qq空间_Python爬取qq空间说说
  4. 文物3D模型互动展示 | 足不出户,即可领略九龙壁的美轮美奂
  5. 对JSON中的key进行驼峰和下划线格式的相互转换
  6. 用 python 实现 简单AI 双人日麻(文字版)之一 建立胡牌逻辑
  7. EtherCAT从站 SII结构说明
  8. 中国农历(阴阳历)和西元阳历即公历互转JavaScript库
  9. Lichee_RV学习系列--stream移植
  10. c语言实现动态心型代码