第1章 Linux操作系統(tǒng)簡介
1. 1 主要特點
1. 2 Linux產品
第2章 編譯內核
2. 1 所有的東西在哪里
2. 2 編譯過程
2. 3 額外的配置工具
第3章 內核入門
3. 1 重要的數據結構
3. 1. 1 任務結構
3. 1. 2 進程表
3. 1. 3 文件和節(jié)點
3. 1. 4 動態(tài)內存管理
3. 1. 5 隊列和信號標志
3. 1. 6 系統(tǒng)時間和定時器
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 系統(tǒng)調用的實際工作原理
3. 3. 2 簡單系統(tǒng)調用的例子
3. 3. 3 更復雜的系統(tǒng)調用的例子
第4章 內存管理
4. 1 獨立于體系結構的內存模型
4. 1. 1 內存頁面
4. 1. 2 虛擬地址空間
4. 1. 3 轉換線性地址
4. 1. 4 頁面目錄
4. 1. 5 頁面表
4. 2 進程的虛擬地址空間
4. 2. 1 用戶段
4. 2. 2 虛擬內存區(qū)域
4. 2. 3 系統(tǒng)調用brk
4. 2. 4 映射函數
4. 2. 5 內核段
4. 2. 6 引導過程中內核段中的內存分配
4. 2. 7 內核段中的動態(tài)內存管理
4. 3 塊設備高速緩存
4. 3. 1 塊緩沖
4. 3. 2 bdflush和kupdate
4. 3. 3 用于緩沖存儲器的列表結構
4. 3. 4 使用緩沖存儲器
4. 4 Linux系統(tǒng)下的分頁技術
4. 4. 1 內存管理和高速緩沖存儲器
4. 4. 2 預定一個內存頁面
4. 4. 3 通過內核線程優(yōu)化內存頁面管理
4. 4. 4 頁面錯誤和重新載入頁面
第5章 進程間的通信
5. 1 內核中的同步
5. 2 通過文件通信
5. 2. 1 鎖定整個文件
5. 2. 2 鎖定文件區(qū)域
5. 3 管道
5. 4 使用ptrace調試
5. 5 System V中的進程間通信(IPC)
5. 5. 1 訪問權限. 號碼和關鍵字
5. 5. 2 信號標志
5. 5. 3 消息隊列
5. 5. 4 共享內存
5. 5. 5 ipcs和ipcrm命令
5. 6 使用套接字的IPC
5. 6. 1 一個簡單的例子
5. 6. 2 UNIX域套接字的實現
第6章 Linux文件系統(tǒng)
6. 1 基本原理
6. 2 內核中文件系統(tǒng)的表示
6. 2. 1 裝載
6. 2. 2 超代碼塊
6. 2. 3 超代碼塊操作
6. 2. 4 目錄緩存器
6. 2. 5 DEntry操作
6. 2. 6 i節(jié)點
6. 2. 7 i節(jié)點操作
6. 2. 8 文件結構
6. 2. 9 文件操作
6. 2. 10 打開文件
6. 3 Ext2文件系統(tǒng)
6. 3. 1 Ext2文件系統(tǒng)的結構
6. 3. 2 Ext2文件系統(tǒng)中的目錄
6. 3. 3 Ext2文件系統(tǒng)中代碼塊的分配
6. 3. 4 Ext2文件系統(tǒng)的擴充
6. 4 Proc文件系統(tǒng)
6. 4. 1 Proc文件系統(tǒng)的結構
6. 4. 2 Proc文件系統(tǒng)的實現
第7章 Linux下的設備驅動程序
7. 1 字符設備和代碼塊設備
7. 2 硬件
7. 2. 1 端口I/O
7. 2. 2 PCI總線
7. 2. 3 恐龍--ISA總線
7. 2. 4 ISA即插即用
7. 3 查詢. 中斷和等待隊列
7. 3. 1 查詢
7. 3. 2 中斷模式
7. 3. 3 中斷共享
7. 3. 4 軟件中斷
7. 3. 5 下半部--較低的中斷一半
7. 3. 6 任務隊列
7. 3. 7 計時器
7. 4 實現驅動程序
7. 4. 1 PC揚聲器驅動程序
7. 4. 2 一個簡單的驅動程序
7. 4. 3 setup函數
7. 4. 4 init
7. 4. 5 打開和釋放
7. 4. 6 讀取和寫入
7. 4. 7 IOCTL
7. 4. 8 Poll
7. 4. 9 Llseek
7. 4. 10 Mmsp
7. 4. 11 Fasync
7. 4. 12 Readdir及Fsync
7. 5 動態(tài)驅動程序和靜態(tài)驅動程序
第8章 網絡實現方式
8. 1 導言和概述
8. 1. 1 網絡實現方式的層模型
8. 1. 2 將A中的數據轉移到B
8. 2 一些重要的結構
8. 2. 1 套接字結構
8. 2. 2 sk_buff結構--網絡中的緩沖區(qū)管理
8. 2. 3 INET套接字--套接字的一個特殊部分
8. 2. 4 proto結構中的協議操作
8. 2. 5 套接字地址的一般結構
8. 3 Linux下的網絡設備
8. 3. 1 以太網
8. 3. 2 SLIP和PLIP
8. 3. 3 回送設備
8. 3. 4 啞設備
8. 3. 5 示例設備
第9章 模塊和調試
9. 1 什么是模塊
9. 2 內核中的實現
9. 3 模塊和內核的對象片斷的含義
9. 4 參量的傳輸和示例
9. 5 模塊能實現什么
9. 6 內核守護程序
9. 7 模塊之間的簡單交換
9. 8 示例模塊
9. 9 調試
9. 9. 1 更改是末尾的開始
9. 9. 2 最好的調試器--printk()
9. 9. 3 使用gdb進行調試
第10章 多重處理
10. 1 英特爾多重處理規(guī)范
10. 2 多重處理器系統(tǒng)存在的問題
10. 3 內核的改動
10. 3. 1 內核初始化
10. 3. 2 調度
10. 3. 3 中斷處理
10. 4 原子操作
10. 4. 1 原子數據類型
10. 4. 2 訪問原子數據類型
10. 4. 3 改變和檢測原子變量
10. 5 旋轉鎖定
10. 5. 1 訪問函數
10. 5. 2 讀寫旋轉鎖定
附錄A 系統(tǒng)調用
附錄B 內核的相關命令
附錄C PROC文件系統(tǒng)
附錄D 引導進程
附錄E 有用的內核函數