Linux操作系统源代码详细分析(三)

豆豆网   技术应用频道   2007年03月08日  【字号: 收藏本文

本文详细介绍Linux操作系统源代码详细分析(三)

  第3章 内核体系结构概述

  本章从较高层次上对内核进行说明。从顺序上来说,本章首先介绍内核设计目标,接下来介绍内核体系结构,最后介绍内核源程序目录结构。

  3.1 内核设计目标

  Linux 的内核展现出了几个相互关联的设计目标,它们依次是:清晰性、兼容性、可移植性、健壮性、安全性和速度。这些目标有时是互补的,有时则是矛盾的。但是它们被尽可能的保持在相互一致的状态,内核设计和实现的特性通常都要回归到这些问题上来。本节接下来的部分将分别讨论这些设计目标,同时还将对它们之间的取舍与平衡进行简要的说明。

  3.1.1 清晰性

  稍微简化点说,内核目标是在保证速度和健壮性的前提下尽量清晰。这和现在的大多数应用程序的开发有所区别,后者的目标通常是在保证清晰性和健壮性的基础上尽量提高速度。因而在内核内部,速度和清晰性经常是一对矛盾。

  在某种程度上,清晰性是健壮性的必要补充:一个很容易理解的实现方法比较容易证明是正确的;或者即使不正确,也能比较容易的找出其问题所在。从而这两个目标很少会发生冲突。

  但是清晰性和速度通常却是一对矛盾。经过仔细手工优化的算法通常都使用了编译器生成代码的类似技术,很少可能是最清晰的解决方案。当内核中清晰性和速度要求不一致时,通常都是以牺牲清晰性来保证速度的。即便如此,程序员仍然清楚地知道清晰性的重要性,而且他们也做了大量的工作以使用最清晰的方法保证速度。

  3.1.2 兼容性

  正如第1章中所述,Linux最初的编写目的是为了实现一个完整的、与Unix兼容的操作系统内核。随着开发过程的展开,它也开始以符合POSIX标准为目标。就内核而言,兼容Unix(至少是同某一现代的Unix实现相兼容)和符合POSIX标准并没有什么区别,因此我们也不会在这个问题上详细追究。

作者:henyuan    责编:豆豆技术应用

正在加载评论...