RSS  WAP  简体中文  繁体中文  English  
高级搜索
游客:注册    ;用户登录 搜索  论坛首页  
您现在的位置:网站引擎产品论坛学习交流操作系统交流FreeBSD(连载)
您好,  积分:,您有0条新站内短信 最新帖子
28<  1 2 3  >   
主题: FreeBSD(连载) 上一主题  下一主题
作者:
主题: FreeBSD(连载)
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
1楼
第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的历史发展



06-2-9 09:25 1楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
2楼
  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在Unix领域内的影响更大。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中的很多系统调用与BSD Unix不同的部分原因也在于此。这些差异人为造成了不同系统的源程序的差异。

  

·  FreeBSD的起源和发展

  Unix的魅力不仅在于其功能的强大性,还在于其优秀的可扩展性,它提供了高级语言C和各种解释语言可用于编写程序。利用这些系统提供的工具,使用者就能按照自己的需要和兴趣对原有系统进行扩展,满足相当一部分计算机研究人员和使用者的需要,这样Unix就具备更强大的能力,完成各种复杂的任务。一旦用熟了Unix,体会到Unix 的强大功能,使用者就会希望一直使用它,而不是仅具备有限能力的其他计算机系统。企业也希望能在其可以承受的条件下,利用Unix系统的强大处理能力。

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

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

  事实上此时能运行在X86平台上的Unix相当有限,Mircosoft的Xienx是一种(后来发展成为S CO 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系统。

  与这些努力相比,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计划面临停止的危险。Bil l Jolitz作为计划的发起者和负责者并没有对这个计划以后该如何发展给出具体意见,因此386BSD计划是到此为止还是继续发展,就取决于其他开发者的决定。幸运的是,该项目的另三个参与者Nate Williams, Rod Grimes和Jordan K. Hubbard决定继续这项非常有意义的工作,他们采用由David Green man创造的名字FreeBSD作为系统的新名字,从此有了一种任何人都可以自由使用的Unix操作系统 ── FreeBSD。

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



06-2-9 09:28 2楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

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

  FreeBSD虽然可以自由获得,然而BSD与AT&T的法律纠纷仍然威胁着FreeBSD系统的合法性。就在FreeBSD得到相当多用户欢迎的时候,Unix系统实验室(此时已经卖给了Novell)与伯克利计算机系统研究小组的法律纷争有了结论。虽然最后不必进行赔偿,但是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上,再将删除的源码完全重写。这些任务相当于将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可以算最原汁原味的U nix,在有的方面,它更具传统特色──或者说BSD Unix的学院特色。当前,Unix商标其实是只具有象征性的含义,没有人介意到底那些系统是X/Open的成员,可以被称作Unix,那些不是。Unix已经成为一个广泛的概念,只要是按照Unix为模板进行开发,所有的应用程序在C源程序级与其他Unix相互兼容,也同样被所有使用者承认为 Unix系统。因此这里的Unix包括BSD和System V在内的各种系统,也包括像Linux这样的兼容系统。

  

·  当前FreeBSD的版本

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

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

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

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

  可以看到,FreeBSD的版本使用current或stable后缀进行修饰,其中使用stable修饰的版本是一个稳定的版本,它不是FreeBSD的最新版本,主要关心系统的性能和使用的连续性,同一个stable分支中的下一个版本主要是修订系统问题,因此stable分支得到很多商业用户的欢迎。current表示这个版本是正在开发的版本,还不成熟,它更关心新特性,每种可能的特性都被开发者尝试加入进FreeBSD中,但并不保证以后的正式发布版本会支持所有的特性,一些特性会因为不成熟或对大部分用户无益,即使曾经加入也可能从正式版本中去除。通常Fr eeBSD的爱好者和开发者使用这个分支,或者一些需要某些FreeBSD的新特性的用户,就必须使用这个分支。

  FreeBSD选用current和stable来修饰FreeBSD不但是因为FreeBSD是一个不断发展、更新的系统,而且FreeBSD还是一个由Internet上的用户参与开发、使用Internet交流开发工作的系统。这与商业软件不同,商业软件的开发工作在公司内部,外界不能访问正在开发的版本,不能对要开发的软件发表意见和提出建议。而FreeBSD则相反,任何人只要通过Internet,都可以访问到FreeBSD的源码,并且Fr eeBSD开发者鼓励别人访问当前正在开发的源程序,鼓励提建议和进行自己的FreeBSD开发计划,如果这个计划的确不错,那么这个开发者就能被邀请进入FreeBSD开发组,他的计划就能被合并到正式的FreeBSD开发中去。但是,如果一个系统老是处于不断开发的过程,没有一个稳定的版本,显然得不利于希望将FreeBSD用在日常业务处理任务的普通用户。因此FreeBSD并存着两个同时发展的版本,stable版本为稳定版本,相当于商业软件中的对外发行的版本,current版本为正在开发的版本。当一个current版本已经足够稳定,这个版本就转变为stabl e版本,而FreeBSD开发组将转入下一个current版本的开发工作。

  除了current和stable之外,还有另外两个后缀用来修饰FreeBSD的二进制发行版本。一个是r elease,如FreeBSD 3.0-release,表示这是一个正式发行的FreeBSD版本,但这个版本可以处于current分支或stable分支。但如果一个FreeBSD的current分支发布了release版本,这将表示它离进入stable状态不远了,此后该版本实际上不会再作太大的改动,已经是一个完全可用、足够稳定的 FreeBSD版本了。另一个后缀是snapshot,如FreeBSD 4.0-snapshot,表示这是一个预览版本,用于FreeBSD爱好者提前查看current分支当前的开发状态,尝试新特性用的。FreeBSD的光盘发行版本常常使用这两个词进行修饰。

  因此对于FreeBSD用户,需要根据情况选择使用不同的版本。对于正式使用,应该选择stable版本,而对于进行学习、研究、开发FreeBSD,可以考虑使用current版本。



06-2-9 09:29 3楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
4楼
FreeBSD的功能特点

  FreeBSD的运行环境是使用英特尔x86系列处理器的个人计算机,当然在AMD和Cyrix等公司的兼容芯片上运行也毫无问题(FreeBSD也被移植到使用sparc和alpha芯片上的RISC工作站环境上,然而这些平台不是FreeBSD的主要运行平台,相应的移植版本也不太完善)。

  从FreeBSD的起源和发展过程可以看出,FreeBSD是一种自由Unix系统,它是由计算机科学家、软件工程师等志愿者通过Internet合作开发的,目的是为所有的使用者提供没有任何附加条件的自由Unix操作系统。初次接触自由软件的人,也许会怀疑软件的应用功能、性能等问题。但免费获得的方式和使用个人计算机硬件环境并不意味着FreeBSD系统仅仅是个人用户的玩具,事实上FreeBSD能够完成几乎所有其他Unix能完成的工作,应用范围十分广泛,并且性能非常优秀。在网络上使用FreeBSD用作网络服务器操作系统非常普遍,FreeBSD也是使个人计算机成为高性能Unix工作站的一条捷径。

  

FreeBSD的特点和应用范围
  FreeBSD主要特点是它的高性能和高可靠性,除了BSD Unix本身已经是一个非常成熟的操作系统,F reeBSD开发小组也基于实际工作任务,花费了相当多的时间进行系统调试,以取得最大性能和最高可靠性。它的性能和可靠性并不逊于任何商用Unix系统,甚至更为优秀。

  --FreeBSD是真正的32位操作系统,不是任何16位操作系统的升级版本。它是十分成熟的BSD Un ix向英特尔386体系的处理器进行移植的结果,系统核心不包含任何16位代码,也不需要兼容任何16位软件,从而提高了系统稳定性。

  --FreeBSD具有可调整的动态优先级抢占式多任务能力。使多个应用程序能够十分平滑的共享系统资源,即使在高负载下仍然能在不同任务间平缓切换,而不会发生由于个别任务独占系统资源,其他任务因此而发生停顿、死锁现象,也决不会造成整个系统死锁。

  --FreeBSD是多用户操作系统,可以支持多个使用者同时使用FreeBSD系统,共享系统的磁盘、外设、处理器等系统资源。每个用户也可以同时启动多个任务,使得工作效率更高。

  --FreeBSD全面支持TCP/IP协议。FreeBSD能够十分方便的和其他支持TCP/IP的系统集成在一起,用作Internet/Intranet服务器,提供NFS,ftp,email,www,路由和防火墙能力。

  --其操作系统内部的存储器保护机制使每个应用程序和用户互不干扰。一旦一个任务崩溃,其他任务仍然照常运行。由于FreeBSD中不存在任何16位代码,这使得这一点能够真正实现,保证了系统的强壮性。

  --FreeBSD中使用另一个著名自由软件,XFree86,来提供工业标准的X窗口系统(X11R6),在X上可以运行多种图形界面软件提供方便用户使用的图形界面和应用软件。

  --它也支持在英特尔的386芯片上运行的其他Unix操作系统的二进制执行文件,包括SCO Unix,B SD/OS,NetBSD,Linux等。能够直接运行这些系统的二进制应用程序而不需重新编译,这极大的丰富了Fr eeBSD下的可使用的应用软件。

  --FreeBSD的Ports Collections包括了成千个立即可以使用的应用程序,使得安装应用程序十分简便。FreeBSD与其他多种Unix在源码级兼容,并且由于BSD在Unix和Internet发展中的巨大影响,大多数软件是在类似BSD的系统下开发的,因此FreeBSD是最容易移植的平台,在Internet上有很多的软件很容易移植到FreeBSD上。

  --高效的虚拟存储器管理结构,可以按照需要合理分配内存空间,只有在必要的时候,内存中的数据才被交换到交换设备上去。并且磁盘缓冲区不是单独划分出来的,而是和虚拟存储器结合为一体,使FreeBSD既能够高效的满足要求大量内存的应用程序,又能最大效率的利用内存来缓冲硬盘数据,提高读、写硬盘效率。

  --具有动态共享连接库的能力,使应用程序能够共享库函数(类似Windows下的DLL),充分利用内存和磁盘空间。

  --FreeBSD下包括了各种高级语言和各种开发工具,C, C++, Fortran, perl, T cl/Tk, cvs 等。这使得软件开发和移植非常方便。

  --FreeBSD提供系统的全部源代码,这样可以按需定制系统和进一步更改系统,提供了对应用环境的最大控制。另一方面这些源代码会经过世界范围内的程序员的检验和测试,避免系统中内嵌未知的恶意病毒代码。

  --提供了在线文档和手册等丰富的技术资料。

  FreeBSD的主要应用范围可以在网络服务器方面,但是FreeBSD的应用并不局限于此,具体怎样使用F reeBSD完全依赖于用户的目的,FreeBSD能够满足各种不同的需要。

  

网络服务器
  Internet应用是FreeBSD使用最广的领域之一,因为Internet的前身,APPRNET的开发者,正是使用BSD Unix来实现的TCP/IP协议。因此FreeBSD具有最成熟、最稳定的TCP/IP实现,非常适合用作FTP服务器,WWW服务器,电子邮件服务器,域名服务器,USENET新闻服务器以及电子公告牌系统等网络服务器系统,此外,FreeBSD也能将廉价的个人计算机改变为软件路由器,防火墙设备。

  用做网络服务器最重要的要求是稳定性,因此一般要安装FreeBSD的stable分支。FreeBSD 2 .2.x-stable分支在实际使用中已经证明了它具备非凡的稳定性,在网络上关于操作系统崩溃的调查中,对Fre eBSD崩溃次数的报道却很少,因此被称为 ”Rock-stable performance” (坚如磬石)。考虑到大部分个人计算机硬件的稳定性比专用的Unix网络服务器硬件的稳定性要差,就可以看出FreeBSD操作系统的稳定性是如何优秀了。FreeBSD 3.x-stable分支继承了2.2.x-stable的优点,虽然还没有经过足够时间的考验,但也可推断其性能和稳定性相当优秀。

  

个人工作站
  FreeBSD的另一个方面的应用是将FreeBSD作为个人工作站的操作系统。专业Unix工作站价格昂贵,但FreeBSD充分利用了个人计算机硬件价廉的优势,以自己具备的优秀性能,使个人拥有高性能的Unix工作站成为可能。个人工作站要求工作在图形环境下,这需要运行X服务器软件,FreeBSD下有免费的XFree86和另一些商业X服务器软件,此外还包括X Window操作环境,例如免费的KDE或商业操作环境CDE等。

  使用FreeBSD个人工作站时,除了性能要求之外,还必须有合适的应用软件进行支持。FreeBSD下可以运行大量的Unix程序,包括用于研究的各种软件包、软件开发所需的高级语言编译器、提供图形界面的Xwindow和 Xwindow下的各种应用等。这些软件通常是在不同的Unix下进行开发的,但由于不同的Unix均不同程度受到B SD的影响,FreeBSD都是这些软件可以移植的首选平台,而FreeBSD本身也提供了很好的机制用于简化软件的安装和配置。

  上面提到的软件通常是提供源程序的Unix软件,这些软件可以很容易移植到FreeBSD系统中。但绝大多数商业软件不提供源程序,仅仅提供在某些平台下运行的二进制文件。在不同Unix下运行的二进制程序,即使都是英特尔平台下的程序,但操作系统对执行程序的处理略有不同,造成了执行程序格式的差异。FreeBSD提供了支持其他在英特尔平台上运行的商业Unix执行程序能力,如BSD/OS、SCO Unix、SCO UnixWare、Solari s x86和Linux。通过支持这些Unix的执行代码,FreeBSD下的应用程序更为丰富。

  还可以将FreeBSD工作站代替昂贵的专用X终端,或者使用FreeBSD进行Unix下的软件开发等,将 FreeBSD系统用作不同的目的。

  

使用FreeBSD的实例
  在熟悉了FreeBSD之后,就不会有人怀疑这个系统的性能了,因为这已经被Internet上无数使用Fr eeBSD作服务器的实例所证明过的。FreeBSD是Internet上非常流行的一种网络操作系统,应用实例很多。下面给出了一些著名的站点实例,当然FreeBSD的实际应用不只是这些例子中使用的范围。

  

Yahoo
  作为Internet上具有传奇色彩的成功网站的典范,众人了解的Yahoo通常是它具备丰富的内容、年轻的亿万富翁传奇等内容。很少有人关心到底Yahoo是使用什么技术来构建他们的网站,也许很多人潜意识里认为它一定是由昂贵的专用服务器组成的,其实Yahoo是使用多台普通Pentium个人计算机来提供这么大的访问能力的,而在这些计算机上运行的就是FreeBSD系统。

  可以在Yahoo中搜寻 “Yahoo and FreeBSD” ,就能搜寻到一篇由Yahoo的创始人之一David Filo写的介绍Yahoo为什么使用FreeBSD的文章 “Yahoo! and FreeBSD ”(http://www.freebsdmall.com/newsletter1/yahoo_and_freebsd.phtml)

  他写道: “……但不久就发现我们使用的操作系统在设计时都不具备处理大量 HTTP请求的能力。事实上,当时还没有任何商业系统可以解决我们所面临的扩展问题,这也是身处网络技术最前沿所必须面对的无奈现实。

  “…….我们又用过几种平台,包括 SGI IRIX,Linux 和 BSDI,但性能和稳定性都不能令人满意,我们只得继续寻找。随着 Yahoo 的日渐流行,平台的可扩展能力和稳定性是最关键的。那时我们 FreeB SD 还一无所知,但当读到有关介绍时,我决定试它一试。

  “……几天之后我将一台FreeBSD系统加入我们的Web服务器集群中去,结果它的性能明显优于其它机器,而且运行更稳定。试验时间持续了几个星期,我们对FreeBSD很满意。这主要应归功于FreeBSD的稳定性、运行性能和允许访问源代码的特点,它还具备诱人的价格优势。从此,我们的产品和开发环境就几乎离不开它了。”

国内的163.net等免费邮件系统
  在国内,虽然FreeBSD还不是广为人知,事实上它的应用却非常有名。网易公司基于FreeBSD开发的免费邮件系统,已经运行在www.163.netwww.263.netwww.371.net等网站上。

  在网易的主页上(http://www.163.com),有网易公司丁磊的一篇文章 “PC不只是便宜的工作站” ,介绍网易为何选择FreeBSD。  

关于网络服务器操作系统的调查
  前面提到的例子,只是FreeBSD应用实例的几个,事实上在国外使用免费操作系统用做网络服务器非常普遍和流行。虽然由于它属于非商业产品,媒体一般不太关心它,但在Internet服务器领域中,它的重要性是无可否认的。为了了解Internet中的服务器到底都运行了那些系统,就需要对整个Internet进行调查。

  显然有很多种不同的调查方式,例如使用抽样调查,或者发放调查表格等等,然而这些方法都有其局限性。而Int ernet Operating System Counter (ios++)是一次比较特别的调查,它的基本思路是对互联网上所有服务器使用的操作系统进行识别并统计结果。iso++使用一个程序自动收集互联网上的计算机地址,查询计算机并判断其使用的操作系统,虽然无法保证iso++能识别所有种类的操作系统,但毫无疑问它能识别绝大多数流行的操作系统。

  遗憾的是,这次调查并没有彻底完成,但这是由于人为而非技术的原因而不得不停止的。由于这个系统会扫描网络中的所有主机,因此其行为类似于黑客程序的做法。在它对意大利的计算机进行网络查询时被一家以色列网络安全公司怀疑为黑客入侵。然而即使如此,这次调查也运行了大约10天,扫描了上百万台服务器,其结果也能真实反应网络操作系统的真实面貌。



06-2-9 09:31 4楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
5楼
其他相关系统和组织

  自由使用和免费是FreeBSD的特征,在英文里都可以使用 “free” 来表示。这表示使用者不仅仅可以免费使用这个系统,还可以对软件进行适合自己需要的改动,并能够影响这个软件的发展等等,这正是free这个词更深一层的含义。

  支持自由软件的人通常认为,每个计算机的使用者都有自己特定的需要,不可能有一个包罗万象、适合所有需求的软件系统。因此软件开发者和系统管理员希望了解软件内部的情况,以便可以对软件进行定制和扩展。而商业软件只提供软件的二进制代码,将软件内部的操作完全封闭起来,使用者就丧失了对软件的主动权。另外,任何软件产品都存在各种BUG,商业软件的使用者在遇到软件产品的这些问题时,就只能被动的等待厂商的补丁程序,整个软件系统不得不停顿或冒一定的风险继续使用。第三,计算机的使用者并不会完全信赖商业软件,某些软件厂商会故意在软件中加入恶意代码,或加入某种未公开的后门,对使用者造成危害。即使这些软件中的后门或恶意代码是打着防止盗版、提供更方便的功能等旗号加入的,但也可能被偶然触发,危害使用者的利益。而在提供软件源代码的软件中,就不会存在这种恶意的行为。

  这些问题对于一个普通用户或者不重要,但对于一个较大的系统或要求较高安全性的系统中,就能表现出重要性了。支持自由软件的人认为,如果一个软件提供了源代码,那么使用者就能根据情况自己修改或请他人修改软件,从而适合自己的最终需要,并修正系统中因为有意或无意导致存在的问题。当前,开放源代码已经得到越来越多的计算机使用者和厂商的认可,他们组成了开放源代码组织(Open Source),来进一步推动这个思想。

  另一方面,由于某些种类的商业软件中不存在竞争,垄断的结果就造成软件的价格昂贵,使得这些软件不是任何有需要的人都能够用得起的。而软件最大的价值是被人使用,因此有很多人认为软件开发者要允许别人使用他的软件,应该从软件服务中获得收益,而不是从软件本身中谋取暴利。他们认为计算机应该属于大众,而不应该由某些公司垄断。因此这些崇尚自由软件的人员就想为所有用户开发一整套系统,使用户在现有商业软件之外还可以进行选择,而不至于必须为商业软件支付额外的费用。这些人包括FreeBSD的开发人员、Linux的开发人员、GNU计划的开发人员以及其他众多的自由软件开发者,他们开发的软件构成了计算机领域内多姿多彩的一面,使得即使不使用任何商业软件,使用者也同样能够在计算机上以更好的性能完成所有的工作。

GNU's Not Unix

GNU不是Unix,采用这种递归方式定义的GNU计划是由Richard Stallman提出的,他建立自由软件基金会(FSF)并提出GNU计划的目的是开发一个完全自由的,与Unix类似但功能更强大的操作系统,以便为所有的计算机使用者提供一个功能齐全,性能良好的基本系统。GNU HURD为GNU操作系统的内核,但是当前还没有正式发布,仍处于测试阶段。很多人使用Linux内核和GNU的应用软件组成了GNU/Linux系统。右图为GNU的标志。



06-2-9 09:32 5楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
6楼
  FSF开发了大量的自由软件来达到这个目的,这些软件与Unix上原有的软件功能相同,但由于GNU开发软件的时候硬件的处理能力更强了,因此GNU软件充分利用计算机的硬件能力,比Unix中的同样的软件功能更强,因此非常流行。这些软件在GNU通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的Unix中,FreeBSD上也提供了很多GNU软件。

  Stallman创造了一个词copyleft,由于通常意义上的版权copyright是用来限制别人在没有许可的条件下不能使用和传播软件,而copyleft则鼓励任何人可以使用和传播软件。copyleft限制妨碍使用和传播GNU软件的行为,例如不提供GNU软件的源代码。然而copyleft与copyright并不冲突,因为 copyleft是针对软件的传播者而非针对最终使用者的。GNU软件必须使用copyleft保护,限制将GNU软件本身用于牟利目的,而其他软件仍然可以使用copyright保护版权不被侵犯。Stallman进一步使用GNU 通用公共许可来详细阐述copyleft的观念,要求传播GNU软件必须同时传播其源代码。由于GNU通用公共许可十分流行,因此很多非自由软件基金会的自由软件也使用GNU通用公共许可来保护自己软件,不被商业公司用于获利。

  GNU软件许可相当宽松,有很多公司利用GNU软件进行商业活动,但只要同时提供了GNU软件的源代码,就没有违反GNU软件许可。

  FreeBSD本身是在BSD许可的保护下,BSD许可权与GNU通用公共许可略有不同,一些方面的限制甚至更为宽松。GNU通用公共许可要求传播(包括销售)任何符合GNU软件应该包括源代码,反对利用保守GNU软件的源代码的方式牟利,而BSD许可则允许以二进制形式发布软件,对于某些不打算公开源代码的商业运用并没有进行限制。

GNU/Linux
  FreeBSD并不是唯一的免费 “Unix” 操作系统,也不是最流行的Unix系统,这个荣誉属于Lin ux。这主要由于Linux出现得早两年,那时BSD的源代码还受AT&T许可权的限制,不能自由获得,而I ntel的32位处理器386的普及已经使Internet上诸多Unix爱好者对PC平台上的免费Unix系统提出了需求,Linux应时而生。近来在Netscape等商业公司的倡导下,Linux得到众多商业公司的支持,无形中成为了反Microsfot联盟的一杆旗帜,声势更为浩大。

  Linux是由芬兰人Linus Torvalds编写的Unix兼容系统。由Linus Torvalds 负责核心开发和维护,其他组织和商业公司负责将Linux的核心和应用程序组织在一起发布,由于大部分程序为GNU软件,因此更严格的说Linux应该被称为GNU/Linux。当前流行的Linux版本有slackware 3.6 ,Debian 2.0,RedHat 5.1等。

  Linux和FreeBSD同为英特尔平台上的Unix操作系统,因此有很多相似之处。几乎所有的自由软件都同时支持Linux和FreeBSD,因此在应用方面他们也很相似。但Linux和FreeBSD也有相当大的不同之处,可以说各具特色。

  从历史渊源上讲,FreeBSD继承了BSD Unix的代码,因此代码相当成熟和稳定。而Linux是一个全新的系统,是遵循POSIX规范开发的一个独立操作系统,但又提供了与BSD Unix或Unix System V的兼容性。因此Linux完全没有受到1992年的AT&T诉讼的影响,结果成为了最流行的自由操作系统。虽然今天那次法律纠纷已经解决,4.4BSD Lite的代码可以自由获得,但FreeBSD的使用者仍要少于Lin ux的使用者,FreeBSD的使用者多数为网络和计算机专业人士,普及程度较低。

  出于这个历史渊源的原因,FreeBSD是一个完整的系统,从系统核心到系统提供的程序均来自BSD Uni x,部分GNU软件是用于代替BSD Unix中的一些老版本软件。而Linux仅仅只是一个操作系统的内核,其应用程序大部分为GNU软件,然后由不同的组织或个人将这些GNU软件与Linux内核整合在一起的。因此就存在多个不同的Linux版本,而且不同的Linux版本使用不同的组合方式,因此各种Linux版本之间有很大的差异,并且可以预计这些版本会随着发展进一步增大彼此的差异。而FreeBSD的版本比较整齐清晰,只有一个FreeBSD版本。

  通常FreeBSD更关心稳定性,而Linux具备的各种新特性更多。由于Linux得到了更多的商业公司支持,因而Linux下的商业软件也更多。但是这些商业软件均可以通过FreeBSD对Linux执行文件的支持,也能够运行在FreeBSD上。这个不同主要是由于Linux和FreeBSD的开发过程的差异造成。

  虽然FreeBSD和Linux的开发过程都是非常开放的方式,每个开发者独立进行自己的工作,通过Inte rnet来互相交流。任何对系统开发有兴趣的人都能贡献新的想法,并组建一个开发队伍或加入现有开发队伍将自己的想法实现。但是FreeBSD与Linux开发方式的不同是,FreeBSD有一个开发者组成的核心小组(FreeBSD core team)对整个FreeBSD负责。任何人都可以利用FreeBSD提出自己的开发计划,但只有Free BSD核心小组认为这个计划对整个FreeBSD发展有益,这个计划才能列入FreeBSD计划本身。所有的Free BSD开发者共享同一个源代码树,使用并发版本维护工具CVS进行维护。有了FreeBSD核心小组从整体上规划Fr eeBSD,并邀请其他开发者加入核心小组,因此FreeBSD显的更简洁和干净,版本发展也比较稳定。而Linux 仅由Linus对内核进行维护,任何人都可以组织自己的计划,贡献自己的代码,没有一个统一的源代码树,只是在最后由 Linus进行整合和发布正式内核。由于没有严格的控制,并且Linux的开发者很多,因此Linux中虽然有更多的新特性,却显得略为杂乱,并且有些新特性的代码没有经过时间验证,可能存在有问题。

  一个新功能没有进入FreeBSD正式版本的原因很多,有的是由于这个功能不够成熟,有的是由于核心小组认为这个特性意义不大,还有的是因为正式内核已经有类似功能,或者由于专利或版权问题(例如,该软件的作者不打算让该软件成为自由软件),使得十分成熟的功能也不能被列入正式发行的版本。

  由于Linux和FreeBSD互为竞争对手,在Internet上关于Linux和FreeBSD的争论很多,然而这种争论一般不会得到什么明显的结果。事实上他们都能完成各种应用需求,但各有自己的侧重点,至于那种系统最适合自己,需要根据具体情况而定,使用者的个人喜好也是影响选择的一个重要因素。一般FreeBSD的使用者也曾经(或同时)是Linux的使用者,然而有Linux的使用经验对学习和使用FreeBSD也有不少帮助。只有竞争才能促进发展,Linux和FreeBSD不但是竞争的关系,也是相互学习的关系,只有如此各自才能不断发展。

  在作者个人的使用经验中,FreeBSD仅有过一次崩溃,并且这种崩溃不是随机出现的,其原因是使用了所有优化选项来编译内核,编译器某项优化造成了内核的BUG,结果就在执行某项操作时就被触发。在降低了优化级别之后,问题就消失了。因此这个问题应归结为编译器的问题而非内核的问题。在Linux中,问题更为严重一些,过于求新求功能的多样性,使得系统崩溃更频繁,并且很多系统崩溃无法找到原因。

  注意:系统崩溃和系统死锁不同,一些情况下一些应用软件死锁会造成键盘或显示没有响应,然而仍然可以通过网络或其他终端设备登录进系统杀死死锁进程。例如在FreeBSD下执行Linux的X Server时,进行切换虚拟控制台的操作就会导致键盘死锁。

  当前Linux的一个发展热点是各个商业公司的参与,这的确丰富了Linux下的软件。然而另一方面,商业公司也试图把专有设计引入Linux,将原有开放的环境变为商品化的环境,以便从中牟利。当前不同版本的Linux之间的差异已经相当大了,很多人已经意识到了Linux面临的分裂危险,可以想象以后某个版本的Linux会与其他版本存在兼容性问题。而FreeBSD有统一的源代码树,不存在分裂的问题。

其他BSD系统
  商业版本的BSD/OS也是一个非常优秀的操作系统,它是由原BSD Unix的部分开发人员组成的BSDI 公司的产品。由于存在商业支持,因此在某些方面具备免费的FreeBSD不具备的优势。例如某些硬件厂家不愿意公开自己的硬件资料(或者是有条件的公开),因而使得FreeBSD无法支持他们的硬件,而他们可以为BSDI提供资料以供开发驱动程序。一些不能理解自由软件、要使用FreeBSD不支持但BSDI支持的硬件,或对服务和技术支持提出较高要求的使用者,可以选择使用BSDI。

  NetBSD和OpenBSD也是基于4.4BSD的自由Unix操作系统,可以算是FreeBSD的兄弟。甚至在最初,NetBSD和FreeBSD的大部分开发者都完全相同,同样的开发者同时为两个系统进行开发。而开发者和使用者都是将这两个系统作为BSD Unix在不同硬件平台的实现来看待的,FreeBSD用于Intel平台,而 NetBSD用于多硬件平台,主要用于RISC工作站硬件。随着两个系统的不断发展,两者逐渐相分离,而OpenBS D是从NetBSD分出的一个分支。但FreeBSD是为个人计算机平台设计的,后来才尝试移植到其他平台上(已经有 Alpha和Sparc芯片下的FreeBSD系统,但还不十分成熟),因此更适合个人计算机用户,而NetBSD和 OpenBSD一开始就设计为能够运行在多系统平台上,包括各种RISC工作站,因而NetBSD和OpenBSD的使用范围就更窄一些。

  以上这些BSD Unix系统的使用数量要少于FreeBSD系统。FreeBSD由于专注于Intel平台,支持Intel平台上的硬件种类最多,并对易用性作了很大改善,因而使用范围更广泛,是最常见的BSD Unix系统。但是由于这些系统同属BSD来源,在开发过程中常常相互交流,因此使用方法和管理基本相同。在FreeBSD、N etBSD、OpenBSD之间进行选择的决定性因素常常是安装BSD系统的硬件平台。



06-2-9 09:33 6楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
7楼
FreeBSD的相关资源

  有关FreeBSD的资源相当丰富,一方面旧有的BSD Unix资源也适合FreeBSD,包括大量的书籍、出版物和Internet上的资源。另一方面FreeBSD拥有大量用户和开发者,直接有关FreeBSD的资源也相当丰富。

联机文档
  FreeBSD用户最常使用的参考资料是系统联机手册,可以使用man命令查看常用命令、系统调用、C库函数、设备驱动以及系统配置文件的详细信息。系统的手册位于/usr/share/man目录,此外一些应用软件的手册位于/usr/local/share/man目录下,X Window程序的手册位于/usr/X11R6/man目录下。用户可以更改环境变量MANPATH来更改手册的查找路径。

  对于使用man来查询某个关键词时,由于某个关键词既可能是常用命令,又可能是系统调用,一般情况下man只返回第一个与关键词匹配的内容。由于手册是按种类分为9个不同部分,例如普通命令位于第一部分,C库函数位于第三部分,要查找手册后面的内容就必须使用参数指定查找手册的某个部分,或查找手册中所有匹配这个关键词的内容。

  GNU的info命令也能用于查看联机手册,并且具有前后翻页、相关命令的连接等更强的功能。自由软件基金会的GNU软件除了联机手册之外,还提供info格式的文档,更适合使用info阅读。Info文档通常位于/usr/share/info目录下。

  除了联机手册和联机info文档之外,FreeBSD还在安装介质中提供了其他的各种文档资料,包括4.4B SD的各个文档和FreeBSD的文档,这些文档在系统安装时被放到/usr/share/doc目录下。其中最有用的是FreeBSD的使用手册(FreeBSD handbook)和常见问题解答(FreeBSD FAQ),对于 FreeBSD用户来讲,它们是非常有用学习和参考材料。这两种资料均提供了超文本html格式用于在线阅读,PS格式和标准纯文本格式用于打印输出。如果在安装FreeBSD时安装了文档,这些文档将被放在/usr/share/doc/handbook和/usr/share/doc/FAQ目录中。这些联机文档均可在FreeBSD的主页ht tp://www.freebsd.org中找到。

出版物
  最重要的正式出版物算是FreeBSD的安装光盘了,用户可以使用这些安装光盘来安装FreeBSD系统。F reeBSD的每次正式发行的光盘都是由Walnet Creek负责发行的,一般FreeBSD的正式发行光盘共4 张,除了基本安装系统之外还包括了大量软件、软件的源代码和相关资料。另外还有一家Cheapbyte的光盘出版公司,以更便宜的价格出售FreeBSD的光盘。这些光盘出版物在国内的书店中还不能直接买到,只能直接和他们联系订购。如希望得到完整的光盘,可以从它们的网址上进行联系。

  Walnet Creek CDROM: http://www.cdrom.com

  CheapByte : http://www.cheapbyte.com

  FreeBSD是BSD Unix的继承者,凡适用于BSD Unix的书也完全适于FreeBSD。由于B SD Unix的影响,特别它是对教育界和学术界的影响,使得很多Unix的书均基于BSD Unix,因此可以使用出版的Unix书籍来学习和使用FreeBSD。即使是针对Unix System V的书籍,其基本的Unix使用和操作也是一致的,对FreeBSD的使用者也有帮助。只是要注意在较深入的系统管理和Unix的编程方面,Unix System V和BSD Unix有所差异。因此在阅读这些Unix书籍中,要了解这些书籍是针对那种Unix的,以了解它与FreeBSD差异的大小。

  为Unix编写的书籍,不会包括FreeBSD的安装、设置等与具体的系统密切相关的内容。直接与FreeB SD相关的内容只在FreeBSD使用手册或直接为FreeBSD读者写作的参考书中包括。在FreeBSD领域中,英文书中最著名的为Greg Lehey的《The Complete FreeBSD》,这是一本相当完整的英文F reeBSD指导书籍,同样由Walnet Creek出版。中文的FreeBSD书籍有台湾李建达的《FreeBS D入门与应用》。这两本书均没有在国内正式出版,很难买到。

Internet资源
  FreeBSD是利用Internet进行开发的一整套系统,很多开发者彼此之间只通过Internet相互联系,甚至从来没有见过面。因此只有通过Internet,才能获得最丰富的FreeBSD资源。

  文件资源:FreeBSD的文件服务器为ftp://ftp.freebsd.org,这台服务器本身就是由 FreeBSD建成,是世界上最大、最繁忙的匿名ftp文件服务器(它的另一个名字就是ftp.cdrom.com)。这个服务器中放置了最完整的FreeBSD完整安装文件和源文件。有关FreeBSD的部分在很多其他ftp站点上还有镜象,使用这些FreeBSD的文件服务器,就可以仅仅使用启动软盘来安装FreeBSD系统。

  Web资源:FreeBSD的主Web服务器为http://www.freebsd.org,这台服务器上保存了有关FreeBSD的大量相关资料和有关连接,它在很多国家也有镜象站点,如www.au.freebsd.orgwww.jp.freebsd.orgwww.tw.freebsd.org等。这些镜象站点使用地区代码来区分来自不同国家或地区的FreeBSD服务器,其中www.tw.freebsd.org为台湾的机器,这里包括了一些与中文相关的连接和有关FreeBSD的中文文章。

  以下给出一些较有用的Web资源列表,显然通过这个列表不可能给出所有的资源连接,但可以通过它们,进一步获得其他相关网上资源的位置。

http://www.freebsd.org

FreeBSD的主页,包括很多有用的资源,例如使用手册和常见问题解答等。

http://www.freebsd.org/zh/FAQ/

FreeBSD的常见问题的中文解答,台湾BIG5版。

http://www.freebsd.org/tutorials/

一个简单但对新手十分有用的FreeBSD入门教程。

http://www.vmunix.com/fbsd-book/

一本图文并茂的FreeBSD电子图书,包括对安装和简单设置的解释说明。

http://flag.blackened.net/freebsd/

包括一些FreeBSD的资料,教用户如何一步步的解决问题。

http://www.mckusick.com/courses/

BSD的设计者之一Kirk McKusick在伯克利开的一门Unix课程,他使用FreeBSD为教学系统。无缘进入伯克利学习的读者可以购买这个课程的录象带。

http://www.daemonnews.org/

这个网址是BSD新闻的发布站点。

http://www.freebsdzine.org/

每月更新一次的FreeBSD电子刊物。

http://www.freebsddiary.com/freebsd/

每天都会更新的FreeBSD资料,是网站设定者的个人学习日记。描述安装、设置各种软件的具体解决过程,对于遇到同样问题的使用者不无裨益。

http://www.freebsdmall.com/

介绍有关FreeBSD的各种商业产品,从商业X Server到印有FreeBSD吉祥物的衣服。

http://www.freebsdrocks.com/

有关FreeBSD的新闻、资源、讨论区和技术文档.

http://fbsdboard.lynxcom.net/

一个讨论FreeBSD相关内容的讨论区。

http://dmoz.org/Computers/Operating_Systems/Unix/FreeBSD/

一个收集了很多其他FreeBSD连接的网址。

http://freebsd.csie.nctu.edu.tw

台湾交通大学的FreeBSD网站,有很多台湾FreeBSD使用者的讨论内容,从此处可以连接到台湾的其他FreeBSD的站点上去。


  Usenet资源:直接有关FreeBSD的新闻组有comp.unix.bsd.freebsd.misc ,comp.unix.bsd.freebsd.annouce,还有很多讨论BSD Unix的新闻组也讨论Fre eBSD的问题。可以与本地的NNTP服务器连接读取这些新闻组,如果本地没有NNTP服务器,可以通过以下两个We b网站读取Usenet的新闻:

  http://www.dejanews.com

  http://www.supernews.com

  邮件列表: FreeBSD.org上提供有关FreeBSD的各种邮件列表,事实上邮件列表在FreeBS D用户之间起到的交流作用非常重要,使用它可以直接与FreeBSD的各个开发者联系,获得帮助。可以通过向majo rdomo@freebsd.org发送请求,订阅相关邮件列表,例如向majordomo发送一个内容仅仅包括一行 “subscribe freebsd-current” 的邮件将订阅freebsd-current列表,然后m ajordomo会发送一封确认邮件,一旦得到确认,以后每个发送到这个列表的信件都发送给这个用户。邮件列表是一个与其他FreeBSD使用者交流的相当有用的工具,例如,可以向freebsd-questions@freebsd .org发送疑难问题,那么就能得到包括大多数开发人员在内的其他使用者的帮助。下面是一些十分有用的邮件列表:

  freebsd-announce--------宣告FreeBSD开发中重要的升级及其他事件

  freebsd-bugs------------报告FreeBSD的Bug

  freebsd-chat------------谈论非技术性的FreeBSD话题

  freebsd-isp-------------ISP使用FreeBSD的一些高级问题

  freebsd-newbies---------新手的一些问题及讨论

  freebsd-questions-------问题及答复,可以在这里获得技术支持

  freebsd-current---------讨论使用current版本的一些问题

  freebsd-stable----------讨论使用stable版本的一些问题

  freebsd-doc-------------FreeBSD文档的讨论列表

  freebsd-hackers---------有关FreeBSD技术的话题

  freebsd-ports-----------讨论向FreeBSD上移植软件

  freebsd-security--------FreeBSD的安全

  freebsd-net-------------讨论网络技术及其在FreeBSD上的实现

  IRC通道:还可以通过IRC上的FreeBSD通道得到其他FreeBSD用户的实时帮助,这对于正遇到问题、调试系统的使用者非常有用,可以立即可其他FreeBSD使用者讨论自己碰到的问题,得到实时帮助。

商业服务和支持
  虽然FreeBSD是免费操作系统,然而仍然有提供FreeBSD服务的计算机公司。国外可以从FreeBS D Inc.和Walnut Creek CDROM那里得到服务和支持,在FreeBSD的主页中还有收集了很多对 FreeBSD提供支持的商业公司的连接。国内还没有专门提供这类服务的商业机构,然而随着FreeBSD影响的扩大,必然会出现对FreeBSD提供支持的系统集成商。



06-2-9 09:33 7楼
  插入邮件地址  发短消息     回复
TinTin

Moderate

商务门户版

Level: 35
HP: 979 / 979
MP: 608 / 899
Exp: 98%

帖子: 912
积分: 2386
注册时间: 2006-01-17
8楼
第2章 安装与配置

  Unix给人的印象一向是比较专业,难以安装,但是FreeBSD的表现却并非如此。这是因为FreeBSD 主要支持最流行的个人计算机平台,由于多平台问题不是主要考虑对象,FreeBSD的开发者就集中精力建立了一整套适用于个人计算机的高级安装与配置工具 ── Sysinstall。因此与其他Unix系统不同(包括NetBSD和 FreeBSD),FreeBSD的安装过程相对简单和容易理解,只需要安装软盘或安装光盘启动安装程序,就能顺利完成安装FreeBSD的任务。

  FreeBSD的安装程序支持最流行的网络安装和光盘安装方式,也支持传统的磁带和软盘等其他几种安装方式,支持大多数的流行硬件以及这些硬件的标准配置,并能对系统进行基本配置,如主机名、键盘和屏幕字体、网络设置等。

  但是通常个人计算机上最常使用的还是微软的Windows 9x系列的操作系统,使用者常常习惯用来自于DO S的一些概念来分析系统,这些概念与Unix对同样事物的理解方式有所不同。而FreeBSD是一个完整的Unix操作系统,因此要求使用者要使用Unix的方式去了解个人计算机系统的各个方面。正如一个没有任何DOS/Window s基本概念的使用者,无法正确安装DOS/Windows一样,一个没有任何Unix的基本概念的使用者,也无法正确安装FreeBSD。

安装之前的准备
  安装之前应该了解要安装FreeBSD的计算机硬件配置和Unix的一些基本概念,以及FreeBSD软件的载体 ── 安装介质。这些信息能帮助用户了解这台计算机是否适合安装FreeBSD,是否具备安装FreeBSD的条件。绝大多数情况下使用安装光盘(或软盘)直接进行安装,就能完成安装任务,但了解更多的信息可以帮助安装者处理在特定条件下发生的安装问题。所以建议读者不要忽略安装的准备阶段,充分了解自己要安装的系统的硬件和FreeBSD中的常用概念,可以避免安装过程中出现问题。

硬件设备
  个人计算机上的硬件种类千差万别,对于用于不同目的的系统,应该会选用不同的硬件。有些硬件对FreeBSD 系统比较重要,如硬盘和网络设备,而有些硬件不太重要,属于可选配置,如用于多媒体系统的声卡等。要安装FreeBS D系统,必须保证这台计算机中包括最基本的硬件设备,如用于安装系统的硬盘,读取要FreeBSD安装介质的设备:软盘驱动器、光盘驱动器或网络等。

  然而也有特定配置的FreeBSD系统,可以仅使用软盘启动和运行,或者是无盘的网络工作站。这些系统用于特定目的,如用作专用防火墙设备或X终端。这些特殊配置的FreeBSD系统不使用标准的安装方式。

FreeBSD支持的硬件
  标准的FreeBSD最小能够安装在一台只有5MB内存,40MB硬盘,使用Intel 80386芯片的机器上。事实上运行FreeBSD只需4MB就足够了,只是FreeBSD的安装程序要将软盘上的数据首先展开到内存中的MFS文件系统中(相当于虚拟磁盘),因此要求至少5MB的存储空间。如果要求系统能运行X Window图形界面,那么就应该至少有8MB内存,250MB硬盘。

  FreeBSD在这种低配置的计算机中仍然能完成相当多的任务,然而处理器的速度和内存的大小也限制了它的任务处理能力,显然更高配置的计算机能表现出更出色的性能,完成更复杂的处理任务。例如,安装软件需要额外的硬盘空间,而复杂的软件会要求更大的内存和处理器速度提供支持。通常太低配置的计算机对于用作个人工作站并不适合,但其处理能力也能满足完成某些处理专有任务的特定用途方面。例如用作拨号访问Internet的网关,一台软盘启动的386也就能满足其56Kbps流量的处理要求。

  不同的工作用途,对硬件的要求也不相同,也应该选用不同种类的硬件。如果用作个人工作站或专用X终端,至少应该拥有大屏幕、高清晰的图形显示器。如果是用作支持数百人同时访问的Internet服务器,就必须考虑使用最高级P entium II处理器,SCSI硬盘以及大量的内存。将FreeBSD系统用作软件路由器、防火墙或网桥设备时,就应该根据网络结构和数据流量采用高性能的网卡,例如采用ATM网卡或千兆以太网卡。

  FreeBSD支持ISA、EISA和PCI总线的硬件设备,包括标准的IDE/EIDE硬盘驱动器,各种S CSI控制器,IDE和SCSI界面的磁带驱动器和光驱,其他的一些ATAPI界面的光驱,标准串口、并口,各种类型的鼠标,与SoundBlaster兼容的声卡,VGA兼容的显示卡等个人计算机上使用的大部分硬件。只有一些太古老的,或者使用很少的硬件,或者生产厂家不愿公开其技术资料的硬件,FreeBSD不能提供支持。对于这样的情况,就必须更换硬件设备才能安装FreeBSD。同时也必须注意到,由于FreeBSD下的硬件支持并不是由硬件厂商提供支持的,而是由FreeBSD开发者根据硬件厂商提供的资料开发的。因此当一种新设备出现之后,并不会立即出现FreeB SD下的驱动程序,而需要一定的滞后时间。

  字符模式下,只需要标准VGA显示设备就可以了,但在X Window下,显示卡的VGA兼容方式只能提供1 6色及640x480的分辨率,而大多数显示卡能显示更高的分辨率及更丰富的色彩,这需要显示卡的驱动程序提供支持,这种支持是由X Server来完成的,因此对不同种类显示卡的支持应该检查X Free86的硬件支持列表。

  在每个FreeBSD安装介质中,都包括一个该版本的FreeBSD支持硬件的列表文件──HARDWARE .TXT,也可以到FreeBSD的往页中获得各个版本的硬件支持列表文件。然后可以对比这个文件中的硬件列表,来判断自己计算机上的硬件是否满足安装FreeBSD的要求。在订购计算机硬件时,也可以参考这个文件的内容来选择购买F reeBSD支持的硬件。

  但是,FreeBSD支持的硬件并不一定是FreeBSD的标准安装程序支持的硬件,由于要在安装软盘中不可能包括所有硬件的驱动程序,而只放置了对安装系统所必要的一些驱动程序。有的硬件设备对于系统安装来讲用处不大,如声卡等多媒体设备,那么其驱动程序就不包括在安装软盘和标准内核中。支持这些硬件便需要重新定制FreeBSD内核,安装盘支持的硬件也在HAREWARE.TXT中进行了描述。

  当前计算机硬件发展速度非常迅猛,当前Intel平台的计算机完全能满足不同用途FreeBSD的要求。然而由于硬件发展很迅速,新型硬件不断出现,就使得这些硬件从出现到被FreeBSD支持,需要经过一段时间。如果某些硬件在最新的release版本中不支持,可以查看FreeBSD-current分支是否支持该硬件,因为-curr ent分支通常包括更多新硬件的驱动。

硬件资源及配置
  个人计算机的硬件由主板和多个的板卡组成,每种硬件必须占用不同的硬件资源。这些资源包括端口号(ports ),中断请求号(IRQ),直接内存访问通道号(DRQ),输入/输出存储器地址(I/O memory),硬件使用的资源不能够相互冲突,否则冲突的硬件就无法正常工作,甚至会影响整个系统的正常运转。

  在个人计算机中,硬件资源的分配遵循一定的习惯,这样在使用的板卡数量较少时就不会形成冲突。但是在硬件较多时,缺省配置就不一定十分合适。为了避免硬件冲突,就需要对板卡使用的资源进行设置。而不同的板卡,采用三种不同的资源设置方式:

跳线或DIP开关,板卡上有几个不同的跳线,选择不同的跳线方式使板卡使用不同的硬件资源;
软件设置,板卡厂商附送设置软件(一般是DOS程序),能够对板卡使用的资源进行设置。有的板卡还提供驱动程序,可以自动探测空余的资源,并重新更改板卡使用的资源设置,这种能通过软件驱动改变资源设置的板卡被称为无跳线板卡( Jumpless)。只是其提供的驱动基本都是DOS/Windows驱动;
即插即用(PNP, Plug & Play),板卡遵循PNP标准由系统分配空余资源;
  对于这三种不同的硬件类型,更改板卡资源配置的方式也不同,对于前两种方式的板卡,可以直接更改跳线或DIP 开关,或者在DOS下使用设置软件来设置它占用的资源。即使是Jumpless的板卡,由于硬件厂商提供的驱动只是D OS/Windows驱动,因此只能使用其缺省资源设置而不能利用其自动探测的优势,当然设置程序可以帮助更改其缺省的资源设置。

  而对于Plug and Play的ISA板卡,问题较为复杂,因为PNP板卡要求系统为其分配资源设置。有些板卡的设置软件,可以设置这个板卡不使用Plug and Play方式,而直接指定占用的硬件资源。这样就将PN P类型的板卡用作软件设置的板卡,由安装者来保证没有硬件设置冲突存在,这是一种思路简单的解决办法。

  如果使用Plug and Play的方式为板卡分配资源,可以选择两种不同的分配方式,一种是由BIOS设置硬件的资源,BIOS在自检时就分配资源给PNP卡,然后当操作系统启动时根据这个设置分配板卡占用的资源。另一种方式完全由操作系统分配PNP卡占用的资源,BIOS不给PNP卡分配硬件资源。

  FreeBSD能够支持Plug and Play,但是由于ISA总线的PNP卡通常是某种标准ISA板卡的兼容产品,驱动程序不会自动分配资源,因此就需要在UserConfig中进行手工设置或调整,PCI PNP卡就不存在这个问题。为了避免烦琐的手工调整,可以使用BIOS给Play and Play板卡分配初始资源,如果必要再手工调整设置。支持PNP卡的主板BIOS中通常有一个Plus & Play OS选项(或类似描述词句),这个选项用于决定是否为PNP板卡分配资源,应该将该选项关闭(选择 “Disable” , “No” , “ non-Win95” 等),让BIOS为板卡分配初始资源。

  通过更改硬件的设置,来解决硬件冲突问题。此后将这些硬件配置信息记录下来,用来解决安装过程中的问题。即使计算机上不存在硬件冲突问题,记录下这些配置信息也是非常有用的。可以通过查看各个硬件的手册或硬件提供的设置软件来了解这些硬件的配置情况,如果计算机上已经安装有操作系统,可以使用这个操作系统上的软件来辅助了解硬件的配置信息,例如DOS下的MSD,Windows 95下控制面板中的系统选项等,这些软件中将显示出当前计算机已经配置过的硬件信息。

  对于PNP卡,由于系统资源是计算机启动后才获得的,因此使用DOS/Windows下的软件能更快捷的获得必要的信息。虽然PNP中资源是动态分配的,但是这个值仍然能起到非常有用的参考作用,尤其对于使用BIOS来分配资源的板卡,这个资源设置就更有意义一些。

安装介质
  为了安装FreeBSD,必须还要有FreeBSD系统的安装介质,FreeBSD支持的安装介质有以下几种:

CD-Rom
  由于光驱已经成为个人计算机的标准配置,因此使用FreeBSD的安装光盘来安装FreeBSD是最容易也最常见的安装方式。并且当个人计算机系统支持CD-Rom启动时,就可以直接使用光驱来安装FreeBSD,而不需要启动软盘的帮助。使用CD-Rom做安装介质要求计算机配有FreeBSD可以识别的光盘驱动器。

网络服务器
  安装文件位于网络服务器上,安装程序通过ftp或者nfs,远程访问网络安装服务的相应服务器上,获得安装所需的各个文件。网络安装要求系统必须连接到网络上,而且网络的传输速度也要比较稳定才合适。被安装的计算机必须具有网卡或广域网接口,以支持网络。

磁带
  这是一种较老式的安装方法,但十分有效。如果有tar格式的安装磁带,安装过程十分简单。使用这种安装方式,计算机必须拥有一台磁带机。

软盘
  也是一种较古老的安装介质,除非条件限制,很少有人有耐心使用软盘作安装介质,因为这需要太多的软盘,并且软盘是不可信赖的存储介质,很难保证复制的软盘没有错误。FreeBSD之所以支持这种方式,是因为软盘驱动器是个人计算机的标准配置,这使得FreeBSD能够在最恶劣的特殊条件下也能进行安装。

硬盘
  将FreeBSD的安装文件预先拷贝到计算机系统中已有的硬盘分区中,该分区的类型可以是DOS分区或者 FreeBSD分区。这要求计算机中有足够的硬盘空间并已有格式化后的分区。这种方式是前面几种方式的折中方式,如果网络不稳定,或者光盘质量有问题,或者要保留安装介质以便再次安装,都可以先复制必需的内容到硬盘上。

安装介质中的内容
  无论哪种安装介质,其中都是存储了要构建一个FreeBSD系统所需要的系统软件,由于CD-Rom和Internet 越来越普及,CD-Rom和网络安装方式是最常用的方法。这里就以FreeBSD的安装光盘为例,简单介绍 FreeBSD安装介质上的主要内容。

  FreeBSD使用的安装光盘是标准的ISO 9660格式的光盘,这种格式缺省只支持8.3格式的文件名( 8个字符的基本文件名,3个字符的扩展名,不区分大小写),由于Unix下的文件名比较长,且区分大小写,因此Fre eBSD及其他Unix通常使用Rock Ridge方式对文件名进行映射,在每个目录下使用一个文件TRANS.TBL 记录8.3格式的文件名与Unix使用的长文件名之间的对应关系。

  FreeBSD安装光盘中的内容可分为三类:

第一类为安装说明文件,这些文件位于安装介质中的根目录下:

ABOUT.TXT:
关于FreeBSD的简单信息

HARDWARE.TXT:
FreeBSD支持的硬件列表

INSTALL.TXT:
介绍如何安装FreeBSD的说明

README.TXT:
介绍安装介质上其他文件,应该首先阅读

RELNOTES.TXT:
发行这个版本的FreeBSD系统时的一些通知

LAYOUT.TXT:
FreeBSD安装系统的文件分布的说明

UPGRADE.TXT:
进行升级FreeBSD的一些注意事项


第二类是进行安装时能用到的DOS工具程序,主要用于制作启动软盘。

tools目录:
准备安装所需要的DOS工具程序,包括制作启动软盘的DOS程序,以及帮助整理硬盘的 工具,从DOS下启动FreeBSD的程序等。

floppies目录:
包含安装软盘、启动软盘、系统修正软盘的镜象文件的目录


第三部分就是FreeBSD系统的安装文件

XF86333目录:
包含XFree86软件的目录,其中版本号会随着系统升级而提升到更新的版本

bin目录:
系统基本文件的安装目录,这是安装FreeBSD所需的必备目录

catpages目录:
格式化后的普通文本方式的系统手册

compat1x、 compat20、 compat21 和compat22目录:
包含与以前各个版本的FreeBSD相兼容的库

des目录:
由于美国法律的限制,包含DES算法的软件未经许可不能出口到美国和加拿大之外, 因此FreeBSD缺省使用MD5算法以避开这个问题,这个目录中包含与des算法的相关软件,以便需要这个 算法的使用者可以从北美之外的Internet上获得并安装。

dict目录:
系统字典安装目录

doc目录:
系统文档安装目录

games目录:
包含一些Unix小游戏

info目录:
GNU info文档的安装目录

manpages目录:
系统手册的安装目录

packages目录:
包含最常用的软件

ports目录:
Ports Collection的源代码

proflibs目录:
系统运行库

src目录:
系统源代码的目录


  这些安装文件可分为三类,一类是系统软件,用于构建基本的FreeBSD系统。这些软件存储在安装介质下的b in, des, dict, doc, games, info, manpages,catpages, com pat1x, compat20, compat21, XF86333和proflibs目录中。为了便于管理,这些文件使用tar和gzip进行打包压缩,其中前六个目录下的文件被分割为大小为240,640字节的文件,这样在需要的时候,可以拷贝到软盘上进行安装。然而并不是所有的内容都必须安装,可根据不同的安装选项,有选择的安装不同目录下的不同内容,只有bin目录下的系统软件才是必须的。

  另一类是可选软件,如果说基本系统是骨架,那么应用软件就是血肉。没有应用软件,一台FreeBSD系统就不能充分发挥它的全部功能。FreeBSD使用Ports Collection的机制来管理应用软件,将应用软件移植到FreeBSD下,每个移植的软件被预编译为一个个的二进制软件包,称为Package,存储在安装介质的pack ages目录下,因此二进制软件包的管理机制又称为Packages Collection。由于空间的限制,安装光盘上并不能包含所有软件的二进制形式的Packages,但在FreeBSD的ftp站点上提供了所有最新的软件包。

  此外就是系统的源代码,包括内核的源代码、各个程序的源代码以及Ports Collection的源代码。一个正常的FreeBSD系统至少应该安装内核的源代码,以便根据自己计算机的实际情况来定制内核。这些安装文件位于 src和ports目录下。

  其他安装方式下的安装介质内容与CD类似,但在内容上也略有不同。因为安装组件都是可选的,因此不同的安装介质将可以选择不同的安装组件。例如软盘安装介质可能只包括最基本的系统(bin目录下的文件),而FreeBSD的主 ftp站点ftp.freebsd.org上,包括了所有的安装文件。

  要根据不同情况和条件,来选择不同安装介质。如果计算机系统具备网络界面并与Internet的连接快速且稳定,那么就可以使用网络安装方式,这仅仅需要制作启动软盘(如果计算机上已经安装有DOS,甚至可以连启动软盘都不需要了),以启动FreeBSD和安装过程。如果购买了FreeBSD的安装光盘,就可以选用光盘安装方式等等。

  当前由于硬件发展非常迅速,因此光驱对于个人计算机已经是标准配置,因此使用光盘作安装介质应该是最为方便的首选安装方式。

准备硬盘和软盘
  在IBM兼容的个人计算机上使用的硬盘控制器有以下种类:

最古老类型的ST-506以及ESDI,当前已经很少人使用这些驱动器,但是FreeBSD的wd驱动程序仍然支持它们;
IDE和增强型IDE(EIDE),是当前最流行的个人计算机硬盘控制器,每台计算机能接两个控制器,每个控制器可以接两个设备(硬盘或光驱),分别为这个控制器上的主设备和从设备。FreeBSD的wd驱动程序支持EIDE,wd驱动程序探测到的第一个IDE控制器的主硬盘为wd0,第一个IDE控制器的从硬盘为wd1,第二个IDE驱动器的主硬盘为wd2,从硬盘为wd3;
SCSI控制器,由于SCSI控制卡承担了大量的处理任务,降低了中央处理器的负载,更适合用做服务器和高性能工作站的磁盘驱动器。早期的SCSI控制器能接7个设备,而Wide SCSI控制器可以接15个设备。SCSI板卡种类繁多,对不同的SCSI控制器,FreeBSD需要使用不同的驱动程序来进行支持。与IDE驱动器相同,SCSI硬盘驱动器也按检测到的顺序排列或在内核中规定的顺序,从da0向后,依次类推。
  在FreeBSD 2.2.x版本中使用的SCSI驱动程序为与3.x版本不同,旧版本驱动程序使用的SCSI 硬盘设备名为sd0等。

4.   硬盘分区方式及命名

  在个人计算机中,每个硬盘可以分为四个磁盘分区,其分区信息存储在该硬盘前部的分区表中,而每个分区可以由不同的操作系统进行管理。常见的分区分为基本分区和扩展分区,又根据使用的不同文件组织格式,可以分为DOS的FAT分区,FreeBSD的UFS分区、NT的NTFS分区,Linux的EXT2FS分区等。

  一个硬盘上可以划分一个扩展分区,扩展分区与基本分区不同,它实际上不直接在上面存储实际数据,而是在上面再划分逻辑分区,这样又可以划分四个逻辑分区。使用DOS/Windows操作系统的计算机必须拥有一个使用DOS的F AT文件系统的基本分区,这个将对应于DOS下的C盘,然后将其他空间划分到扩展分区中,在扩展分区中再划分DOS逻辑分区,相应的FAT分区依次对应于D盘、E盘等。当其他的操作系统使用硬盘时,这个操作系统应该单独占用一个分区,在这个分区上使用自己的文件组织格式。

  DOS只能使用C、D等盘符来标志FAT格式的磁盘分区,它不能标识其他文件组织格式的磁盘分区,如果一个硬盘上没有FAT格式的磁盘分区,那么就不会存在C盘、D盘等。然而其他更强大的操作系统通常能识别多种文件组织格式,通常按照分区在分区表中的顺序来标识他们。例如FreeBSD将记录在分区表上的分区,分别称作wd0s1,wd0s 2,wd0s3,wd0s4,wd0为第一个IDE硬盘,使用s1标识第一个分区等。如果某个分区(例如第二个分区w d0s2)为扩展分区,那么其上面的逻辑分区,其顺序就从5算起,为wd0s5,wd0s6,wd0s7,wd0s8 。因此一个磁盘上最多只能有8个不同的分区同时存在。

  然而毕竟扩展分区上的逻辑分区和基本分区还有所差别,因此不是所有类型的文件组织方式都可以适合在逻辑分区中使用。FAT、NTFS和EXT2FS类型可以被在逻辑分区上使用,但是FreeBSD使用的UFS不能被逻辑分区使用,只能是在基本分区中使用UFS文件组织格式。这是由于FreeBSD是一个完全独立的操作系统,使用的分区方式继承自BSD Unix,早在个人计算机出现之前,BSD就已经形成了自己的管理硬盘和分区的方式了。

  BSD Unix传统的使用硬盘方式是独占整个硬盘,只有文件系统或交换空间而没有分区的概念,也不使用硬盘的分区表来保存分区信息,因此也不存在基本或扩展分区。BSD使用Slice来表示硬盘上的一个部分,一个Slice 是硬盘的一个部分,它可以是一个文件系统也可以是一个交换空间。Slice的概念与个人计算机传统使用的Partit ion(分区)概念类似,因此也可以使用分区来称呼它。BSD方式的管理方法能管理多达8个Slice,BSD按字母顺序依次命名他们为wd0a,wd0b等。按习惯用法,wd0a用于根文件系统 “/” ,wd0b用于交换空间,w d0c用于表示整个硬盘空间,wd0e用于/usr文件系统等。

  然而FreeBSD毕竟是运行在个人计算机平台上的操作系统,其他操作系统使用Partition,而Fre eBSD使用Slice,就必须采用一种折中的方式,使得FreeBSD能和其他操作系统相互协作,处理磁盘分区。F reeBSD的磁盘管理方式就是一种兼容的硬盘使用方式。每个FreeBSD系统将占用一个独立的UFS基本分区,这个分区与其他操作系统使用分区的方式相同。在基本分区内再使用BSD的Slice方式进行管理,这种方式就类似于DO S在扩展分区内分割逻辑分区的方式。

  假设FreeBSD使用了第三个分区wd0s3,则在这个分区内划分的相应Slice就被称为wd0s3a, wd0s3b等,其中wd0s3a缺省被用做根文件系统等。这时仍然可以使用传统的名字wd0a来称呼wd0s3a,使用wd0b称呼wd0s3b,以