![](https://csdnimg.cn/release/download_crawler_static/1906908/bg1.jpg)
下载
第1章 系 统 结 构
1.1 系统概述
L i n u x内核本身作为一个独立的东西是没有什么用的;它只是参与了一个更大的系统,成
为那个系统的一部分,而该系统从整体上看是非常有用的。因此,在整个系统的上下文中介
绍内核的作用就显得很有意义了。图 4 - 1 - 1 显示了整个L i n u x操作系统的结构分析。
L i n u x操作系统由4个主要的子系统所组成:
• 用户应用程序
—
在某个特定的 L i n u x系统上运行的应用程序集合,它将随着该计算机
系统的用途不同而有所变化,但一般会包括文字处理应用程序和 We b浏览器。
• O / S 服务
—
这些服务一般认为是操作系统的
一部分(开窗系统,命令外壳程序,等等);
此外,内核的编程接口(编译工 具和库)也
属于这个子系统。
• L i n u x 内核
—
这是本文的关注焦点;包括内
核抽象和对硬件资源(如C P U)的间接访问。
• 硬件控制器
—
这个子系统包含在L i n u x实现中
所有可能的物理设备,例如,C P U、内存硬件、
硬盘以及网络硬件等都是这个系统的成员。
这个系统划分方法是照搬 G a r l a n 和S h a w 在
[Garlan 1994]中介绍的分层类型。每个子系统层都
只能与跟它相邻的层通信。此外,子系统之间的依
赖关系是从上到下的:靠上的层依赖于靠下的层,
但靠下的层并不依赖于靠上的层。
因为本文的重点是 L i n u x 内核,所以本文将完全不介绍用户应用程序子系统,对硬件和
O / S 服务也只考虑它们与L i n u x内核子系统的接口。
1.2 内核的目标
L i n u x内核向用户进程提供了一个虚拟机器接口。编写进程的时候并不需要知道计算机上
安装了哪些物理硬件
—
L i n u x内核会把所有的硬件抽象成统一的虚拟接口。此外, L i n u x以对
用户透明的方式支持多任务:每个进程工作时就象它是计算机上唯一的进程,好象是独占使
用了主存和其他硬件资源一样。内核实际上同时运行许多个进程,并负责对硬件资源的间接
访问,这样可以保证各个进程访问的公平性,并保证进程间的安全性。
1.3 内核结构的概述
L i n u x内核由5个主要的子系统构成:
图4-1-1 Linux系统可分为4个子系统
用户应用程序
O/S服务
Linnx内核
硬件控制器