第2章 Linux内核

在1.3节,我们了解到操作系统的主要功能是抽象不同的硬件,并为我们提供一个API。根据这个API编程允许我们编写应用程序而不必担心它们在哪里以及如何执行。简而言之,内核为程序提供了这样一个API。

在本章中,我们将讨论Linux内核是什么,以及你应该如何将各组件作为一个整体来考虑。你将了解整个Linux架构和Linux内核所扮演的重要角色。本章的一个主要收获是,虽然内核提供了所有的核心功能,但就其本身而言,它并不是操作系统,而只是操作系统的一个非常核心的部分。

首先,我们进行鸟瞰,看看内核如何适应底层硬件,以及如何与底层硬件交互。然后,我们将回顾计算核心,讨论不同的CPU架构以及它们与内核的关系。接下来,我们将详细介绍各个内核组件,并讨论内核为你可以运行的程序提供的API。最后,我们将了解如何定制和扩展Linux内核。

本章的目的是提供必要的术语,使你了解程序和内核之间的接口,并让你对功能有一个基本的概念。本章的目的不是让你成为一个内核开发人员,或者一个配置和编译内核的系统管理员。然而,如果你想深入研究这个问题,我在本章末尾整理了一些资料。

现在,让我们进入最深入的部分:Linux架构和内核在此上下文中所扮演的核心角色。