Chinaunix首页 | 论坛 | 博客
  • 博客访问: 521962
  • 博文数量: 704
  • 博客积分: 39800
  • 博客等级: 大将
  • 技术积分: 4950
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 13:32
文章分类

全部博文(704)

文章存档

2011年(1)

2008年(703)

我的朋友

分类:

2008-10-15 13:40:31

  自 2001 年起,当最后一个主要分支 DragonFly BSD 发布时,FreeBSD、OpenBSD、NetBSD 和 Mac OS X 代表了 UNIX 世界一次新的创新浪潮。所有这些操作系统分支都符合 POSIX,都为它们的用户呈现了一个类似的命令行界面,并且都使用了使编程模式与应用程序用法特征尽可能类似的内核和系统库。

  从条文上讲,BSD 不能算做 UNIX 系统,但是,BSD 各个分支代表开源 UNIX 这一观点已被广泛接受。令人感到惊奇的是,在 20 世纪 80 年代未和 90 年代初,运行于 PC 或 Mac 上的免费操作系统还没有一个能够冠以该名称。UNIX 存在于大型机和可伸缩的处理器架构(Scalable Processor Architecture、SPARC)之上。各大私有 UNIX 公司已经瓜分了商业 UNIX 市场。

  最初的 BSD 操作系统是 386BSD

  1993 年发生的两件大事永远地改变了 UNIX:即成立了 NetBSD 小组和再次流行 386BSD 修补工具。在十年前,BSD UNIX 开发人员再次从加州大学伯克莱分校的各层工作人员中和哲学博士学生中进行招募,资金大部分来源于国防高级研究计划署(Defense Advanced Research Projects Agency、DARPA),但是募集资金的形式从此结束。386BSD 项目是在 1985 年作为让 BSD UNIX 运行于 Intel 芯片的尝试而成立的。在 1989 年之前,该项目一直都没有发行它的第一个版本,而且因为多种原因,该项目最终成为了 Dr. Dobb's Journal 1992 年 7 月宣称的引用操作系统。对于 386BSD 0.1,已知有 250,000 次的量。

  386BSD 主要基于 Bill 和 Lynne Jolitz 的观点来改进 UNIX 所依赖的概念。他们的初衷是开发免费的操作系统。但事实证明,完全靠自己的力量支持一个完整的操作系统不是他们力所能及的。该系统最终输给了由名不见经传的芬兰学生组成的编程队伍帮助构建的 Linux.

  FreeBSD 的历史

  最初决定将 BSD UNIX 构建于 Intel 芯片之上的另一个小组是在 1993 年成立的。依靠 Bill Jolitz 以前的工作成果,该小组于 1993 年 12 月推出了 FreeBSD 1.0 版。在 1997 年初的时候,项目领导人 Jordan Hubbard 推动了该项目的发展,并管理着基础设施和 200 名开发人员。预计在今年年底,FreeBSD 可以推出 6.0 版本,该版本将成为所有免费的 UNIX 系统的最重要版本。FreeBSD 并不是对 UNIX 的克隆,虽然说其工作方式类似于 UNIX,并且其内核和系统 API 都符合 UNIX 标准。

  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 的不同。

[1]  

【责编:Yoyo】

--------------------next---------------------

阅读(205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~