詳解 Linuxカーネル 第2版

目次


監訳者まえがき
はじめに

1章	概要
	1.1	Linuxと他のUNIX系カーネル
	1.2	ハードウェア依存
	1.3	Linuxのバージョン
	1.4	オペレーティングシステムの基本概念
	1.5	UNIXファイルシステムの概要
	1.6	UNIXカーネルの概要

2章	メモリアドレッシング
	2.1	メモリアドレス
	2.2	ハードウェアのセグメント機構
	2.3	Linuxのセグメント機構
	2.4	ハードウェアのページング機構
	2.5	Linuxのページング機構

3章	プロセス
	3.1	プロセス、ライトウェイトプロセス、スレッド
	3.2	プロセスディスクリプタ
	3.3	プロセス切り替え
	3.4	プロセスの生成
	3.5	プロセスの破棄
	3.6	Linux 2.6では

4章	割り込みと例外
	4.1	割り込み信号の役割
	4.2	割り込みと例外
	4.3	例外および割り込み処理のネスト
	4.4	割り込みディスクリプタテーブルの初期化
	4.5	例外処理
	4.6	割り込み処理
	4.7	ソフト割り込み、タスクレット、ボトムハーフ
	4.8	割り込みおよび例外からの復帰
	4.9	Linux 2.6では

5章	カーネルの同期処理
	5.1	カーネル実行パス
	5.2	同期の必要がない場合
	5.3	同期プリミティブ
	5.4	カーネルデータアクセスの同期
	5.5	競合状態回避の例
	5.6	Linux 2.6では

6章	時間管理
	6.1	ハードウェアクロック
	6.2	時間管理の仕組み
	6.3	CPUのタイムシェアリング(時分割)
	6.4	時刻と日付の更新
	6.5	統計情報の更新
	6.6	ソフトウェアタイマ
	6.7	時間管理関連のシステムコール
	6.8	Linux 2.6では

7章	メモリ管理
	7.1	ページフレームの管理
	7.2	メモリ領域の管理
	7.3	非連続メモリ領域の管理
	7.4	Linux 2.6では

8章	プロセスアドレス空間
	8.1	プロセスのアドレス空間
	8.2	メモリディスクリプタ
	8.3	メモリリージョン
	8.4	ページフォルト例外ハンドラ
	8.5	プロセスアドレス空間の生成と削除
	8.6	ヒープ領域の管理
	8.7	Linux 2.6では

9章	システムコール
	9.1	POSIX APIとシステムコール
	9.2	システムコールハンドラとシステムコールサービスルーチン
	9.3	カーネルラッパールーチン
	9.4	Linux 2.6では

10章	シグナル
	10.1	シグナルの役割
	10.2	シグナルの生成
	10.3	シグナルの配信
	10.4	シグナル処理関連のシステムコール
	10.5	Linux 2.6では

11章	プロセススケジューリング
	11.1	スケジューリングポリシー
	11.2	スケジューリングアルゴリズム
	11.3	スケジューリング関連のシステムコール
	11.4	Linux 2.6では

12章	仮想ファイルシステム(VFS)
	12.1	仮想ファイルシステム(VFS)の役割
	12.2	VFSデータ構造
	12.3	ファイルシステム種別
	12.4	ファイルシステムのマウント
	12.5	パス名の検索
	12.6	VFSシステムコールの実装
	12.7	ファイルロック
	12.8	Linux 2.6では

13章	I/Oデバイスの管理
	13.1	I/Oアーキテクチャ
	13.2	デバイスファイル
	13.3	デバイスドライバ
	13.4	ブロック型デバイスドライバ
	13.5	キャラクタ型デバイスドライバ
	13.6	Linux 2.6では

14章	ディスクキャッシュ
	14.1	ページキャッシュ
	14.2	バッファキャッシュ
	14.3	Linux 2.6では

15章	ファイルアクセス
	15.1	ファイルの読み取りと書き込み
	15.2	メモリマッピング
	15.3	ダイレクトI/O転送
	15.4	Linux 2.6では

16章	スワップ処理:メモリ解放の方法
	16.1	スワップ処理とは何か
	16.2	スワップ領域
	16.3	スワップキャッシュ
	16.4	スワップページの転送
	16.5	ページのスワップアウト
	16.6	ページのスワップイン
	16.7	ページフレームの回収
	16.8	Linux 2.6では

17章	Ext2、Ext3ファイルシステム
	17.1	Ext2の一般的な特徴
	17.2	Ext2ディスク上のデータ構造
	17.3	Ext2メモリ上のデータ構造
	17.4	Ext2ファイルシステムの作成
	17.5	Ext2関数
	17.6	Ext2ディスク領域の管理
	17.7	Ext3ファイルシステム
	17.8	Linux 2.6では

18章	ネットワーク
	18.1	主要なネットワークデータ構造
	18.2	ネットワーク関連のシステムコール
	18.3	ネットワークカードへのパケット送信処理
	18.4	ネットワークカードからのパケット受信処理
	18.5	Linux 2.6では

19章	プロセス間通信
	19.1	パイプ	
	19.2	FIFO(名前付きパイプ)
	19.3	System VのIPC
	19.4	Linux 2.6では

20章	プログラムの実行
	20.1	実行ファイル
	20.2	実行形式
	20.3	実行ドメイン
	20.4	Exec関数
	20.5	Linux 2.6では

付録A	システムの起動
	A.1	先史時代:BIOS
	A.2	古代:ブートローダ
	A.3	中世:setup()関数
	A.4	ルネッサンス:startup_32()関数
	A.5	近世:start_kernel()関数

付録B	モジュール
	B.1	モジュールにすべきか?
	B.2	モジュールの実装
	B.3	モジュールの組み込みと削除
	B.4	オンデマンドなモジュール組み込み

付録C	ソースコードの構造

参考文献
ソースコード索引
索引

書籍紹介ページへ戻る


書籍についてのお問い合わせは以下までお願いします。

株式会社オライリー・ジャパン

〒160-0003 東京都新宿区本塩町7番地6 四谷ワイズビル
e-mail:japan@oreilly.com


書籍の購入方法トップページへ戻る