分类: BSD
2007-05-09 11:22:55
FreeBSD提供四个基本工具:进程、文件系统、通信和系统启动。
内核运行在保护模式下。作为用户程序访问硬件和系统软件部分(文件系统,网络协议等)的媒介。内涵提供基本的系统工具,负责创建并管理进程,并提供访问文件系统和通讯设备的方法。这种方法被称为系统调用,以库的形式提供。系统调用是用户进程访问系统工具的唯一接口。
在传统操作系统术语中,内核只是一个很小的软件核,它的作用仅仅是为执行其他的操作系统服务提供必须的工具。其他的系统服务(包括文件系统、网络协议等)都作为内核的客户进程。微内核的缺陷是内核进程的切换开销过高。
FreeBSD没有把内核分成几个进程。这个基本设计在最早的UNIX版本中被确定。最早的两个版本被Ken Thompson实现。这两个版本没有memory mapping,因此硬件也没有强制在用户空间和内核空间中加以划分。采用集成内核是出于简洁和效率的原因。早期的内核是较小的,尽管它相对于许多应用程序让然很小,单将网络这样的工具加入内核当中已经增大了它的尺寸。
用户通常使用一个命令行解释器来与系统进行交互。这个解释器被称作shell。shell贯穿其它用户应用程序的全程。这些程序和shell程序都是作为一个进程来执行的,而非内核的一部分。
2.3和2.4节将介绍FreeBSD内核提供的服务,并为后面将要介绍的设计提供一个预览。后面的章节将详细描述这些服务的设计和实现的细节。