分类: BSD
2006-06-23 10:24:11
NetBSD基础知识
第一章. 何谓NetBSD
NetBSD是一种完全免费的,具有高度可移植性和硬件平台兼容性的类UNIX操作系统,它可以运行在从64位alpha服务器到手持设备的多种硬件平台上.NetBSD的清晰设计以及它的众多高级特性使得它不论作为产品还是研究环境都表现得非常出色。而且它对用户在资源上进行全方位的支持。其上的应用程序很多都可以非常容易地获得。
1.1. NetBSD的故事
NetBSD的第一个版本是NetBSD (0.8),可以追溯到1993年,它是从美国加州伯克利分校研发的一版Unix操作系统4.3BSD Lite以及第一个面向Intel 386 CPU设计的BSD:386BSD系统的基础上发展起来的。在随后的几年中,他们将基于4.4BSD Lite(Berkeley小组的最后一个发布)版本的修补工作成果集成到了这个系统当中。Unix的BSD发展分支在这个操作系统的发展上起到了举足轻重的作用并且对它产生了重大的影响。 NetBSD从Unix的BSD发展分支中沿用了很多的工具,思想以及改进手法(比如vi编辑器,C shell, 作业控制,Berkeley快速文件系统,可靠信号,对虚存的支持, TCP/IP 应用工具,仅做些简单的举例) 这些基本上已经成为了所有类Unix环境的标准。这些传统的研究和开发方法与工具在现今的免费和商业性BSD系统当中得以保存,尤其是在NetBSD中。
1.2. NetBSD的特性
NetBSD可以运行在范围非常广的硬件平台之上,而且具有高度的可移植性,或许是世界上可移植性最高的操作系统。在NetBSD可以支持的平台上都提供了NetBSD核心和用户界面的所有资源;在NetBSD的官方站点NetBSD Project上可以查到详细信息。
NetBSD特性的详细列表可以在以下的地址找到:。
l NetBSD最基本的特性有:
l 可移植性(支持50多种硬件平台)
l 代码的质量及正确性
l 严格的依据标准
l 研究与创新
前面提到的特性也引伸出了一些间接的优势。举例来说,如果你仅是在一个平台下工作,你可以认为你不用过多地注意可移植性。但是可移植性和代码的质量是密不可分的: 没有一个优化的,组织得很好的代码基础,支持多平台几乎是不可能的。而代码的质量是任何一个优良的,可靠的软件系统的基础。但令人吃惊的是几乎没有人能够领会这一点。正是因为注意到了这些程序设计质量的小问题才使得NetBSD的代码和驱动程序的质量有极大的潜在价值。
NetBSD的一个与众不同的特性是不满足于局部的执行。一些系统坚持“如果能够运转,就是正确的”的思想。在这个方面NetBSD秉承的原则是 “除非是正确的,才能够正常运转”。只要想想现今有多少畸形的程序在他们自己的价值观和“特性”下悲惨的溃败你就知道为什么NetBSD要不惜一切代价避免这种情况了。
1.3. 支持的平台
NetBSD支持50多种平台,包括最流行的i386, sparc, sparc64, alpha, mac68k以及macppc平台。关于所有平台信息的技术细节可以在NetBSD站点上找到。
1.4. NetBSD的目标用户
NetBSD官方站点上声明: "NetBSD Project 提供给专业人士,爱好者,研究人员一个可以以他们自己任何意愿的方式使用的,可免费获得的可重新发布的系统。我想附加的是如果你想学习Unix, NetBSD是一个理想的系统,主要是因为它的标准化的设计(这也是这个项目的一个目的)而且它可以在普通的硬件设备上运行,这一点被其他大多数的操作系统认为是过了时的;我们可以这么说:“如果想学习以及使用Unix,你没有必要去买昂贵的硬件设备:你可以重新利用你那闲置的旧的PC机或者是Mac”。另外,如果你想使你的Unix系统持久的运行在多种平台之上,NetBSD可能是你最好的(甚至是唯一的)选择。
1.5. NetBSD的应用程序
当你安装NetBSD时,你有一套丰富多样的程序或是应用软件可以安装在你的系统之上。除了标准Unix产品的工具,还有编辑器,格式程序, C/C++编译器和调试工具等等。现有的有及多(而且这个数字还在持续增长,我想到现在为止已经超过了1000个)的包可以以源文件或是预编译的形式供安装。你所想要在配置一个良好的系统时需要的包对NetBSD来说都可以找到,而且还有一些商业性的应用软件。你也可以充分的利用现有的模拟程序去运行一些源于其他*nix操作系统的二进制文件。Linux模拟程序可能是相关性最大的实例,这方面我们已经作了很大的努力,而且这些几乎被所有的NetBSD用户使用;你可以在NetBSD上运行Linux版的:
l Netscape
l Acrobat Reader
l Doom, Quake
l Adobe FrameMaker
l 很多其他的程序
NetBSD也可以模仿其他的系统,例如FreeBSD, BSDI等。
1.6. NetBSD哲学
与同时代的很多操作系统不同的是, NetBSD安装程序充分体现了占用空间小的特性,它坚持生产出一个稳定的完整的不冗余的基系统。在执行安装后你得到的是一个完整的可运行系统,但是还缺少很多应用程序,比如举例说,浏览器(NetBSD与其它的操作系统相反,不将浏览器作为一系统的一个组成部分):你有决定安装什么样的程序在你的机器上的自由,包安装的方式也使得你安装新的程序非常地便捷。
这种途径的另一个优势就是基系统的运行可以独立与这些附加的包;如果你想升级你的Perl的版本,你根本没必要去担心这样会破坏你系统的一些其他部分。当你安装NetBSD时,你不会发现有巨大的应用程序的预打包:你现在可能认为这是个缺点,但是如果你开始理解了在这个现象之后的理念你就会感到这样提供给你很大的自由度。当你安装这些软件集合时(其他认为你设计好的) 你会发现你的硬盘里存储了大量的程序,但这些中的大部分你都不会用到(甚至根本不知道它是什么),这只能浪费空间(或许使你的系统稳定性减弱):这些可是典型的BSD用户所不希望的。
即使你开始了解NetBSD,还总是会有一些东西使你感到迷惑,极端一致性,系统的逻辑结构以及对细节的关注:什么事情都不会发生的很偶然,任何事情都在预料之中。是的,这就是质量,在我看来,这就是NetBSD与其他操作系统特性上的最大差别。
我们可以花上数天去争论操作系统相对的优点(有些人就喜欢这么做),但是如果你不去认真的尝试你就不能做出真正的判断。我深信我的观点,因为我在我的邮件列表当中看到很多次:如果你尝试着使用NetBSD,你就会被它在复杂性与高效性之间的完美的平衡所征服;所有的问题都有不止一种解决方案:NetBSD不会满足于寻求“一种”解决方案,而总是尽力去发掘最简便,最一流的方法。NetBSD是一种能使你用你自己的方式去做你的工作的工具。在这个意义上他就是一个可供选择的工具;就像用钢笔一样:你努力的去学如何去用他,但一旦你学会了你就可以忘记所有与这钢笔有关的事情,去尽情的写尽情的画。