Linuxカーネル解読室(1日目)
少し前に買っていたのを今更読み進める。
内容忘れたので頭から読み進める。
6月末には読み終わりたい。
- 序章 0.1 〜〜とは
- 序章 0.2 ソースコード
- ソースは、ftp://ftp.kernel.org/pub/linux/kernel/v2.6 にある
- カーネルのコードの半分はデバイスドライバ。主要なものだけ理解しましょう。
- 序章 0.3 LinuxKernelの機能概要
- カーネルプリミティブ
- プロセス管理
- メモリ管理
- ファイルシステム
- ネットワーク
- プロセス間通信
- 0.4 カーネルプリミティブ
- プロセススケジューラによりマルチタスク環境を提供している
- 割り込み処理と遅延処理。割り込みは時計機能が利用。割り込み処理の為に止まったりその後動いたりする。
- UNIXは割り込みレベルでシステム負荷を軽減・応答性の確保。Linuxでは割り込み遅延で実装。
- Linuxカーネルは時計内蔵。ハードから一定周期で発生する割り込みを捉え、時計を動作させる。
- 時計を使って、時限処理を実行。(ネットワークプロトコルスタックやデバドラが多用している)
- システムコールとは、アプリケーションがカーネルに対して要求をかける唯一の手段。Appからはライブラリ関数に見える。
- Linuxには同期・排他の処理がいくつかある。セマフォとかスピンロックは知ってるよね?