FreeBSD的功能特点
FreeBSD的运行环境是使用英特尔x86系列处理器的个人计算机,当然在AMD和Cyrix等公司的兼容芯片上运行也毫无问题。此外,FreeBSD也被移植到使用apha芯片上的RISC工作站环境上,apha版本的FreeBSD已经正式发布了多个版本,是一个成熟的64位操作系统。FreeBSD也支持Sparc和UtraSparc系列芯片,然而这个移植版本还没有正式发行版本。未来,FreeBSD将继续支持IA-64和AMD的64位芯片,不仅仅是运行在这些芯片的兼容模式下,而是提供完整的64位支持。
从 FreeBSD的起源和发展过程可以看出,FreeBSD是一种自由Unix系统,它是由计算机科学家、软件工程师等志愿者通过Internet合作开发的,目的是为所有的使用者提供没有任何附加条件的自由Unix操作系统。初次接触自由软件的人,也许会怀疑软件的应用功能、性能等问题。但免费获得的方式和使用个人计算机硬件环境并不意味着FreeBSD系统仅仅是个人用户的玩具,事实上FreeBSD能够完成几乎所有其他Unix能完成的工作,应用范围十分广泛,并且性能非常优秀。在网络上使用FreeBSD用作网络服务器操作系统非常普遍,FreeBSD也是使个人计算机成为高性能Unix工作站的一条捷径。
FreeBSD的特点和应用范围
FreeBSD主要特点是它的高性能和高可靠性,除了BSD Unix本身已经是一个非常成熟的操作系统,FreeBSD开发小组也基于实际工作任务,花费了相当多的时间进行系统调试,以取得最大性能和最高可靠性。它的性能和可靠性并不逊于任何商用Unix系统,甚至更为优秀。
FreeBSD是真正的32位操作系统,不是任何16位操作系统的升级版本。它是十分成熟的BSD Unix向英特尔386体系的处理器进行移植的结果,系统核心不包含任何16位代码,也不需要兼容任何16位软件,从而提高了系统稳定性。
FreeBSD具有可调整的动态优先级抢占式多任务能力。使多个应用程序能够十分平滑的共享系统资源,即使在高负载下仍然能在不同任务间平缓切换,而不会发生由于个别任务独占系统资源,其他任务因此而发生停顿、死锁现象,也决不会造成整个系统死锁。
FreeBSD是多用户操作系统,可以支持多个使用者同时使用FreeBSD系统,共享系统的磁盘、外设、处理器等系统资源。每个用户也可以同时启动多个任务,使得工作效率更高。
FreeBSD全面支持TCP/IP协议。FreeBSD能够十分方便的和其他支持TCP/IP的系统集成在一起,用作Internet/Intranet服务器,提供NFS,ftp,emai,www,路由和防火墙能力。
FreeBSD完整的支持IPSec安全体系,使得FreeBSD能全面用于网络安全领域,事实上,很多商业的网络安全产品就是基于FreeBSD而构架的。
FreeBSD全面支持下一代的网络协议Ipv6。
其操作系统内部的存储器保护机制使每个应用程序和用户互不干扰。一旦一个任务崩溃,其他任务仍然照常运行。由于 FreeBSD中不存在任何16位代码,这使得这一点能够真正实现,保证了系统的强壮性。
FreeBSD中使用另一个著名自由软件,XFree86,来提供工业标准的X窗口系统(X11R6),在X上可以运行多种图形界面软件提供方便用户使用的图形界面和应用软件。
它也支持在英特尔的 386芯片上运行的其他Unix操作系统的二进制执行文件,包括SCO Unix,BSD/OS,NetBSD,inux等。能够直接运行这些系统的二进制应用程序而不需重新编译,这极大的丰富了FreeBSD下的可使用的应用软件。
FreeBSD的Ports Coections包括了成千个立即可以使用的应用程序,使得安装应用程序十分简便。FreeBSD与其他多种Unix在源码级兼容,并且由于BSD在Unix和Internet发展中的巨大影响,大多数软件是在类似BSD的系统下开发的,因此FreeBSD是最容易移植的平台,在Internet上有很多的软件很容易移植到FreeBSD上。
高效的虚拟存储器管理结构,可以按照需要合理分配内存空间,只有在必要的时候,内存中的数据才被交换到交换设备上去。并且磁盘缓冲区不是单独划分出来的,而是和虚拟存储器结合为一体,使 FreeBSD既能够高效的满足要求大量内存的应用程序,又能最大效率的利用内存来缓冲硬盘数据,提高读、写硬盘效率。
具有动态共享连接库的能力,使应用程序能够共享库函数(类似 Windows下的D),充分利用内存和磁盘空间。
FreeBSD下包括了各种高级语言和各种开发工具,C, C++, Fortran, per, Tc/Tk, cvs 等。这使得软件开发和移植非常方便。
FreeBSD提供系统的全部源代码,这样可以按需定制系统和进一步更改系统,提供了对应用环境的最大控制。另一方面这些源代码会经过世界范围内的程序员的检验和测试,避免系统中内嵌未知的恶意病毒代码。
提供了在线文档和手册等丰富的技术资料。
FreeBSD的主要应用范围可以在网络服务器方面,但是FreeBSD的应用并不局限于此,具体怎样使用FreeBSD完全依赖于用户的目的,FreeBSD能够满足各种不同的需要。
网络服务器
Internet应用是FreeBSD使用最广的领域之一,因为Internet的前身,APPRNET的开发者,正是使用BSD Unix来实现的TCP/IP协议。因此FreeBSD具有最成熟、最稳定的TCP/IP实现,非常适合用作FTP服务器,WWW服务器,电子邮件服务器,域名服务器,USENET新闻服务器以及电子公告牌系统等网络服务器系统,此外,FreeBSD也能将廉价的个人计算机改变为软件路由器,防火墙设备。
用做网络服务器最重要的要求是稳定性,因此一般要安装 FreeBSD的stabe分支。FreeBSD 2.2.x-stabe分支在实际使用中已经证明了它具备非凡的稳定性,在网络上关于操作系统崩溃的调查中,对FreeBSD崩溃次数的报道却很少,因此被称为 “ Rock-stabe performance ” (坚如磬石)。考虑到大部分个人计算机硬件的稳定性比专用的Unix网络服务器硬件的稳定性要差,就可以看出FreeBSD操作系统的稳定性是如何优秀了。FreeBSD 3.x-stabe分支继承了2.2.x-stabe的优点,虽然还没有经过足够时间的考验,但也可推断其性能和稳定性相当优秀。
个人工作站
FreeBSD的另一个方面的应用是将FreeBSD作为个人工作站的操作系统。专业Unix工作站价格昂贵,但FreeBSD充分利用了个人计算机硬件价廉的优势,以自己具备的优秀性能,使个人拥有高性能的Unix工作站成为可能。个人工作站要求工作在图形环境下,这需要运行X服务器软件,FreeBSD下有免费的XFree86和另一些商业X服务器软件,此外还包括X Window操作环境,例如免费的KDE或商业操作环境CDE等。
使用 FreeBSD个人工作站时,除了性能要求之外,还必须有合适的应用软件进行支持。FreeBSD下可以运行大量的Unix程序,包括用于研究的各种软件包、软件开发所需的高级语言编译器、提供图形界面的Xwindow和Xwindow下的各种应用等。这些软件通常是在不同的Unix下进行开发的,但由于不同的Unix均不同程度受到BSD的影响,FreeBSD都是这些软件可以移植的首选平台,而FreeBSD本身也提供了很好的机制用于简化软件的安装和配置。
上面提到的软件通常是提供源程序的 Unix软件,这些软件可以很容易移植到FreeBSD系统中。但绝大多数商业软件不提供源程序,仅仅提供在某些平台下运行的二进制文件。在不同Unix下运行的二进制程序,即使都是英特尔平台下的程序,但操作系统对执行程序的处理略有不同,造成了执行程序格式的差异。FreeBSD提供了支持其他在英特尔平台上运行的商业Unix执行程序能力,如BSD/OS、SCO Unix、SCO UnixWare、Soaris x86和inux。通过支持这些Unix的执行代码,FreeBSD下的应用程序更为丰富。
网络设备
由于 FreeBSD具备强大的网络处理能力和非常可靠的系统稳定性,具备全面的网络支持能力,因此,它常常被用做网络设备的基本开发平台。例如,防火墙、路由器等等。
当然,由于通用计算机硬件在处理这些特定的网络任务时,仍然存在效率和性能的问题,因此高性能的网络设备通常仍然需要开发专用处理硬件。然而由于 FreeBSD的代码公开,并且许可权非常松散,因此可以很容易被移植到专用的硬件上去,甚至依据这些代码开发专用处理硬件,提供高性能的网络设备。