Part 1 カーネルプリミティブ

 Linuxカーネルの基本機能は、ハードウェアに備わっているデバイスを適切に管理し、アプリケーションを同時に複数実行したり、ユーザーからの入力に対して適切な応答を返すことにあります。では、このようなサービスを提供するために、カーネル内部ではいったいどのように動いているのでしょうか?

 Part 1では、Linuxの基本機能について、ひとつひとつ見ていきましょう。Part 2以降では、ユーザーに提供するより具体的なサービスを見ていきますが、そういった具体的なサービスは、ここで説明する基本機能を部品として実現されています。

第1章 プロセススケジューリング

 第1章では、動かすべきプロセスを選択する仕組みと、選択したプロセスを実際に動かすため仕組みについて解説します。

第2章 割り込み

 第2章では、外部デバイスが生成する「割り込み」と呼ばれる事象を、Linuxカーネルがどのように扱っているか説明します。

第3章 遅延処理

 第3章では、カーネルに対して処理の実行要求があったときに、対応する処理をすぐ実行せず、タイミングをずらして少し後から実行するための「遅延処理」機能を説明します。Linuxカーネルの遅延処理機能は非常に充実しており、Linuxカーネルのあらゆるところで利用しています。

第4章 時計

 第4章では、時間と時刻を管理する仕組みを説明します。

第5章 システムコール

 プロセスがカーネルに処理を要求する際、「システムコール」を発行します。第5章では、システムコールが発行されたときの処理の流れを説明します。

第6章 同期と排他

 第6章では、多くの処理を同時に実行するときに、競合するデータを壊してしまわないようにする非常に重要な「同期と排他」機能を説明します。