想必你曾听闻硬件中断机制,或许对其还有较为深入的理解。但你可知Linux中的软中断机制?

任何计算机系统都包含一个名为操作系统的基本程序集合。在这个集合里,最重要的程序称为内核 (kernel)。当操作系统启动时,内核被装入到内存中。内核中包含了系统运行所必不可少的、数量众多的核心进程(procedure)。

操作系统必须完成两个主要目标:

  • 与硬件部分交互,为包含在硬件平台上的所有底层可编程部件提供服务。
  • 为运行在计算机系统上的应用程序提供执行环境。

现代操作系统依靠特殊的硬件特性以禁止用户程序直接与底层硬件部分进行交互,或者禁止直接访问任意的物理地址。特别是,硬件为 CPU 引入了至少两种不同的执行模式:用户程序的非特权模式和内核的特权模式。Unix 把它们分别称为用户态(User Mode)和内核态(Kernel Mode)。

本文将介绍如何在 Linux 环境下手动编译内核源代码、安装内核并以新安装的内核启动,以达到升级内核或制作自定制内核等目的。