序
第 1 章 簡介
1.1 Linux 與其他 Unix-Like 核心之比較
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 行程的毀滅
第 4 章 中斷和例外事件
4.1 中斷信號的作用
4.2 中斷事件和例外事件
4.3 例外事件和中斷事件處理器的巢狀執行
4.4 對中斷描述器表格進行初始設定
4.5 例外事件的處理
4.6 中斷事件的處理
4.7 softirqs 和 tasklets
4.8 工作佇列
4.9 從中斷事件和例外事件返回
第 5 章 核心同步
5.1 核心如何服務請求?
5.2 同步基元
5.3 對核心資料結構的同步存取
5.4 防止競速條件的實例
第 6 章 時間量測
6.1 時鐘和計時器電路
6.2 Linux 計時架構
6.3 更新時間和日期
6.4 更新系統統計資料
6.5 軟體計時器和延遲函式
6.6 與時間量測相關的系統呼叫
第 7 章 行程的排程
7.1 排程方針
7.2 排程演算法
7.3 排程器所使用的資料結構
7.4 排程器所使用的函式
7.5 多處理器系統中 runqueue 的平衡
7.6 與排程相關之系統呼叫
第 8 章 記憶體管理
8.1 頁框管理
8.2 記憶體區管理
8.3 非連續記憶體區管理
第 9 章 行程位址空間
9.1 行程位址空間
9.2 記憶體描述器
9.3 記憶體範圍
9.4 頁面失誤例外事件處理器
9.5 行程位址空間的建立和刪除
9.6 管理堆積
第 10 章 系統呼叫
10.1 POSIX API 和系統呼叫
10.2 系統呼叫處理器和服務常式
10.3 進入和離開系統呼叫
10.4 參數的傳遞
10.5 核心包裹常式
第 11 章 信號
11.1 信號的功用
11.2 產生信號
11.3 傳遞信號
11.4 和信號處理相關的系統呼叫
第 12 章 虛擬檔案系統
12.1 虛擬檔案系統(VFS)的作用
12.2 VFS 資料結構
12.3 檔案系統類型
12.4 檔案系統的處理
12.5 路徑名稱查詢
12.6 VFS 系統呼叫的實作細節
12.7 檔案上鎖機制
第 13 章 I/O 架構和裝置驅動程式
13.1 I/O 架構
13.2 裝置驅動程式模型
13.3 裝置檔
13.4 裝置驅動程式
13.5 字符裝置驅動程式
第 14 章 區塊裝置驅動程式
14.1 區塊裝置的處理
14.2 一般區塊層
14.3 I/O 排程器
14.4 區塊裝置驅動程式
14.5 開啟區塊裝置檔
第 15 章 頁面快取
15.1 頁面快取區
15.2 在頁面快取區中儲存區塊
15.3 把修改過的頁面寫入磁碟
15.4 sync()、fsync() 及 fdatasync() 系統呼叫
第 16 章 存取檔案
16.1 讀寫檔案
16.2 記憶體對映
16.3 直接 I/O 傳輸
16.4 非同步 I/O
第 17 章 頁框之回收
17.1 頁框回收演算法
17.2 反向對映
17.3 實作 PFRA
17.4 置換
第 18 章 Ext2 和 Ext3 檔案系統
18.1 Ext2 的一般特性
18.2 Ext2 磁碟資料結構
18.3 Ext2 記憶體資料結構
18.4 建立 Ext2 檔案系統
18.5 Ext2 方法
18.6 管理 Ext2 磁碟空間
18.7 Ext3 檔案系統
第 19 章 行程通訊
19.1 導管
19.2 FIFO
19.3 System V IPC
19.4 POSIX 訊息佇列
第 20 章 程式的執行
20.1 可執行檔
20.2 可執行檔格式
20.3 執行領域
20.4 exec 函式
附錄 A 系統啟動
附錄 B 模組
參考書目
原始碼索引
索引