自 2001 年起,当最后一个主要分支 DragonFly BSD 发布时,FreeBSD、OpenBSD、NetBSD 和 Mac OS X 代表了 UNIX 世界一次新的创新浪潮。所有这些操作系统分支都符合 POSIX,都为它们的用户呈现了一个类似的命令行界面,并且都使用了使编程模式与应用程序用法特征尽可能类似的内核和系统库。
FreeBSD 不像以前一样仅仅是适用于 Intel-/AMD 的系统。它还可以运行于 SPARC64 计算机上,并在 Alpha 架构上已有相当长的运行历史。如果 BSD 用户对运行 Mac OS X 的芯片感兴趣,那么他可以切换到 Darwin OS,即 Mac OS X 的开源核心,Darwin OS 依赖于多数 FreeBSD V5.0 及其后继产品。当然,NetBSD 自 1995 年起已运行在所有 Mac 架构之上。
哪些是 FreeBSD 具有而 Linux 不具有的功能
FreeBSD 是一个操作系统,而不仅仅是一个内核。但是,该说法并不意味着大致与以前的说法相同,因为内核的叫法是相当随意的。在 UNIX 环境中,它意味着在完成引导过程之后,用户无法访问某些库和可执行文件。内核管理着应用程序的硬件,但是目前许多 UNIX 类型的操作系统都为用户级别的线程提供了一个角色,即管理内核资源。您可以安全地假定在运行时间内用户无法访问的任何东西都是内核的一部分。这并不意味着用户无法影响内核的行为。例如,某些实用工具可以报告和调整内存管理,并且这些工具都明确表明是由用户使用的。这些实用工具通过系统的 API 进行通信,后者不是内核的一部分,但它很明显是操作系统的一部分。当然,FreeBSD 包括所有这些工具以及许多其他用于处理网络和硬件特性的实用工具和应用程序。
如果比较完整的 Linux 内核下载和 FreeBSD 下载的内容,您就会了解到,许多下载内容都是相同的。也就是说,它们都有 IP 堆栈、内存管理例程、文件系统实现,等等。文件系统的层次结构具有明显类似的起源,并且多数命令行应用程序具有相同的名称和类似的命令行语义。当然,实际的实现有些不同,但您仍然能够看到两种系统都有类似的概念来源。架构方面的主要不同之处在于 FreeBSD 从所谓的缓冲区缓存 读取文件的方式与 Linux 向其中写入文件的方式的不同,严格地说,该缓存甚至还谈不上是独立于虚拟内存而存在的实体。Linux 始终自动管理缓冲区缓存的大小,但其内存管理例程的工作方式与 FreeBSD 的不同。
端口和文件系统
FreeBSD 在安装后会立即工作。原因是 FreeBSD 系统使用 FreeBSD 安装程序安装了一个工作系统,该安装程序又称为 sysinstall,而且该程序使用具有干净的 UNIX 起源的数据包管理系统。但是,FreeBSD 做到的远不止这些:数据包管理得到了彻底改进;二进制和源数据包不再受制于不稳定的数据包管理系统,这是 Linux 分发时的常见问题。FreeBSD 使用 Ports 系统集成了数据包管理和 Internet 范围的更新,使您可以在一个进程中解决源下载和编译问题。有人可能会争辩说 Debian 也具有类似的优点,但请不要忘记,Debian 是一个操作系统,它并不主要依赖于 Linux 内核。使用 Hurd 和 NetBSD 内核也可以正常工作,前提是 Debian 项目没有忘记更新数据包。
说到 FreeBSD 文件系统,也会让人联想到它的 BSD UNIX 过去:它受 Fast File System (FFS) 和 UNIX File System (UFS) 名称的支配。用户更多时候像是在与文件系统的 FFS 部分进行交互,后者控制着文件和目录的访问。2003 年发布的 UFS 系统的第 2 版设置了文件系统限制和组织原始磁盘访问的基本数据结构。UFS 和 FFS 在 NetBSD 和 OpenBSD 上也可以使用。当前 Linux 上更著名的日志文件系统在 FreeBSD 上是不可用的,这些系统中包括 Reiser File System (Reiser FS) 和 Journaling File System (JFS),这主要是出于安全方面的考虑。UFS 具有稳定性和可伸缩性等其他优点,因为其行为和性能依赖于长达二十多年的研究。
如果使用 Linux,可能会看到可用于 SuSE Linux 和 Mac OS X 的应用程序,但没有单独的针对 FreeBSD 的源文件或二进制文件。FreeBSD 能够运行 Linux 二进制兼容模块,您必须在安装时或从命令行启用它。同时,Linux 运行时库可能是必需的,但您可以从 Ports 集中添加它们。
当然,FreeBSD 运行所有主要的基于 X Window System 的桌面 shell 程序,如 KDE 桌面和 GNU Network Object Model Environment (GNOME) 桌面。FreeBSD 以前是桌面用户的 UNIX 选择版本,直到基于 FreeBSD 的 OS X 出现,这种情况才发生改变。在配置为服务器或客户机时,它仍然为 UNIX 用户提供很好的操作并且不需要其他证书。
FreeBSD 派生产品
与多数具有较长历史的操作系统一样,FreeBSD 也产生了许多衍生产品。可以从 DC 启动 FreeBSD 系统而不必编译和生产 CD。此工作已由相当完善的 Free System Burned in Economy (FreeSBIE) V1.1 LiveCD 系统完成,此系统基于 FreeBSD V5.3。如果分配部分硬盘和写入 master boot record (MBR) 可能存在风险,那么最好先测试一下 FreeBSD。