第一章 硬件平臺
1.1 基本概念
1.1.1 特權級
1.1.2 操作模式
1.1.3 系統(tǒng)級體系結構
1.2 描述符
1.2.1 段描述符
1.2.2 全局和局部描述符表
1.2.3 段選擇符
1.2.4 段寄存器
1.2.5 任務狀態(tài)段
1.2.6 中斷和異常
1.2.7 門描述符
1.3 分頁機制
1.3.1 與分頁相關的標志
1.3.2 頁目錄和頁表
1.3.3 頁級保護
1.4 寄存器
1.4.1 通用寄存器
1.4.2 標志寄存器
1.4.3 段寄存器
1.4.4 管理寄存器
1.4.5 控制寄存器
1.4.6 指令寄存器
1.4.7 特殊模式寄存器
1.4.8 其它寄存器
1.5 系統(tǒng)指令
1.6 AT&T匯編語言
1.6.1 AT&T匯編格式
1.6.2 AT&T內嵌匯編
第二章 引導和初始化
2.1 開機過程
2.2 內核的組織
2.3 引導程序
2.4 實模式下的初始化
2.5 內核映像解壓縮
2.6 保護模式下的初始化
2.7 內核啟動
2.8 init進程
第三章 中斷處理
3.1 中斷
3.1.1 中斷設置
3.1.2 中斷處理要求
3.1.3 異常處理
3.1.4 外部中斷處理
3.2 時鐘
3.2.1 時鐘中斷
3.2.2 時鐘中斷上部處理
3.2.3 時鐘中斷底半處理
3.2.4 系統(tǒng)時間
3.2.5 更新進程時間片
3.2.6 定時器
3.3 系統(tǒng)調用
3.3.1 調用機制
3.3.2 int $0x80
3.3.3 內存拷貝
第四章 內存管理
4.1 物理內存管理器
4.1.1 數據結構
4.1.2 頁分配
4.1.3 頁釋放
4.1.4 頁回收
4.2 內核內存管理器
4.2.1 初始化
4.2.2 Cache的建立
4.2.3 為Cache增加Slab
4.2.4 對象的分配
4.2.5 對象的釋放
4.2.6 回收指定Cache的空閑Slab
4.2.7 回收Cache中的空閑Slab
4.3 虛擬內存管理器
4.3.1 虛擬內存抽象模型
4.3.2 虛擬內存拷貝
4.3.3 虛擬內存重建
4.3.4 缺頁處理
4.3.5 共享映射頁的寫出
4.3.6 交換
4.3.7 頁緩存和交換緩存
4.3.8 堆
4.3.9 虛擬內存釋放
4.4 內核虛擬內存管理器
第五章 進程管理
5.1 進程數據結構
5.2 進程創(chuàng)建
5.3 進程調度
5.4 進程執(zhí)行映像的加載
5.4.1 ELF格式執(zhí)行文件
5.4.2 ELF格式共享庫
5.4.3 腳本文件
5.4.4 ELF文件的加載過程
5.5 進程終止
5.6 進程等待隊列
5.7 進程同步
5.7.1 鎖
5.7.2 信號燈
5.7.3 條件變量
5.7.4 睡眠等待
第六章 進程間通信
6.1 信號
6.1.1 信號的定義
6.1.2 數據結構
6.1.3 信號位圖操作
6.1.4 注冊信號處理程序
6.1.5 發(fā)送信號
6.1.6 處理信號
6.1.7 其余操作
6.1.8 信號的局限
6.2 管道
6.3 系統(tǒng)V IPC機制
6.3.1 消息隊列
6.3.2 信號燈
6.3.3 共享內存
第七章 文件系統(tǒng)
7.1 虛擬文件系統(tǒng)
7.1.1 VFS超級塊
7.1.2 VFS inode
7.1.3 目錄項
7.1.4 注冊文件系統(tǒng)
7.1.5 安裝文件系統(tǒng)
7.1.6 獲得文件的inode和目錄項
7.1.7 創(chuàng)建或打開文件
7.1.8 文件I/O
7.1.9 卸載文件系統(tǒng)
7.1.10 重裝文件系統(tǒng)
7.1.11 同步文件系統(tǒng)
7.2 緩存機制
7.2.1 VFS inode緩存
7.2.2 目錄項緩存
7.2.3 Buffer Cache
7.3 EXT2文件系統(tǒng)
7.3.1 EXT2超級塊
7.3.2 EXT2 inode
7.3.3 EXT2組描述符
7.3.4 EXT2目錄
7.3.5 文件查找
7.3.6 數據塊的分配和釋放
7.3.7 EXT2文件系統(tǒng)的注冊
7.3.8 EXT2文件系統(tǒng)的安裝
7.3.9 EXT2文件系統(tǒng)的VFS inode
7.3.10 EXT2文件系統(tǒng)的文件操作
第八章 設備驅動
8.1 設備驅動程序概念
8.1.1 I/O空間
8.1.2 輪詢和中斷
8.1.3 數據傳輸方式
8.1.4 設備名字空間
8.1.5 設備和驅動程序分類
8.1.6 內存限制
8.1.7 設備驅動程序和內核的接口
8.2 字符設備驅動程序
8.2.1 注冊
8.2.2 打開
8.2.3 設備I/O操作
8.2.4 中斷
8.2.5 關閉
8.3 塊設備驅動程序
8.3.1 注冊
8.3.2 IDE磁盤的初始化
8.3.3 打開設備(Open)
8.3.4 設備I/O操作
8.3.5 釋放設備
8.3.6 Ramdisk驅動程序
8.4 網絡設備驅動程序
第九章 內核模塊
9.1 內核模塊的設計
9.2 模塊數據結構
9.3 模塊的加載
9.4 模塊的卸載
9.5 模塊系統(tǒng)調用
9.6 內核模塊的問題
參考文獻