Linux技術內幕 特色及評論
這是一本綜合性地介紹有關Linux核心代碼的功能和作業系統理論的高級指南。 全書由公認的Linux專家編寫,書中介紹了Linux(包括最新的2.4版本)核心的理論,Linux設計原理和進程模型以及專家級的建議,並介紹了一些深入的課題,包括影響系統性能的因素;核心最佳化的範例;不同的Linux版本之間的差異;避免繁忙伺服器崩潰的策略。 本書針對那些需要計畫及實現功能強大的基於Linux解決方案的富有經驗的Linux用戶。對繁忙的專業人員來說,本書是目前最具眼光和最重要的參考指南。Linux技術內幕 本書前言
CDROM中包含了最新的核心特徵,它們可以集成到現有伺服器核心之中。Linux技術內幕 本書目錄
第1章 開放原始碼――實現一個現代作業系統1.1 Linux的歷史
1.2 Linux功能
1.3 Linux 2.4核心的新特性
第2章 編譯核心
2.1 原始碼構型結構
2.1.1 arch/目錄
2.1.2 drivers/目錄
2.1.3 fs/目錄
2.1.4 include/目錄
2.1.5 ipc/目錄
2.1.6 init/目錄
2.1.7 lib/目錄
2.1.8 kernel/目錄
2.1.9 mm/目錄
2.1.10 net/目錄
2.2 編譯核心
2.3 GNU gcc編譯器
2.4 編碼約定
2.5 體系結構依賴性
第3章 Linux核心的基本功能
3.1 作業系統到底做什麼
3.2 資源管理
3.3 CPU管理
3.4 記憶體載入等待時間
3.5 高速快取(cache)
3.6 轉向預測
3.7 軟體問題
3.8 自鎖(spinlocks)/互斥(mutexes)
3.9 設備處理
3.10 塊設備處理
3.10.1 影響磁碟訪問時間的因素――磁碟輸入/輸出操作的過程
3.10.2 磁碟的機械操作
3.10.3 RAID救援來了
3.11 字元設備處理
3.11.1 DMA操作
3.11.2 DMA定址限制
3.11.3 DMA映射的類型
3.11.4 使用相容性DMA映射
3.11.5 DMA方向
3.11.6 使用流式DMA映射
3.12 中斷處理
3.13 Linux時間保持功能
3.13.1 系統時鐘
3.13.2 實時評價(Real-Time Profiling)
3.13.3 TOD(Time of Day)功能
3.14 系統的初始化和啟動
3.14.1 啟動時核心表格創建次序
3.14.2 啟動時的硬體識別
3.14.3 關機
第4章 Linux進程模型
4.1 進程
4.2 創建子進程
4.3 執行緒
4.4 2.4執行緒化核心
4.5 性能限制
第5章 Linux虛擬內有管理程式
5.1 虛擬記憶體概念
5.2 交換
5.3 頁面替換
5.4 Linux 2.4的實現
5.4.1 地址轉換
5.5 Linux中的TLB
5.6 頁面分配和解除分配
5.7 頁面解除分配
5.8 最近最少使用(LRU)算法
5.9 交換和刪除頁面
5.10 換出頁面
5.11 減小頁面快取器和緩衝區援存器的容量
5.12 換出共享頁面
5.13 換入頁面(請求調頁)
5.13.1 交換檔案中的頁面
5.13.2 交換檔案中的共享頁面
5.13.3 可執行映像頁面
5.14 在Intel x86上超過4GB的定址
5.15 改進虛存
5.16 實現頁著色
第6章 Linux調度程式
6.1 調度類
6.2 執行緒
6.3 SMP調度程式試探法
6.4 核心搶先(preemption)和用戶搶先
6.5 Linux方法的意義
6.6 改進調度程式
6.7 讓CPU脫機或在線上
6.8 CPU親緣關係
6.9 基於指示的調度
第7章 信號處理
7.1 信號描述和預設行為
7.2 同步信號
7.3 信號和中斷――完美的一對
第8章 kHTTPd
8.1 控制kHTTPd
第9章 Linux系統調用
9.1.1 IA32上的系統調用和事件類型
9.2 中斷
9.3 異常
9.3.1 異常作為Java中對象的一個例子
9.4 向量(vector)
9.5 Linux系統調用接口
9.5.1 更複雜的系統調用
9.5.2 用戶空間系統調用代碼庫
9.6 跟蹤系統調用
9.7 如何加入自己的系統調用
9.8 Linux/IA32核心系統調用列表
第10章 檔案系統
10.1 邏輯卷管理程式(LVM)
10.2 Linux核心和檔案系統的關係
10.3 檔案系統控制操作的核心數據結構對象
10.3.1 由核心實例化的通用數據結構對象
10.4 緩衝區、高速快取和存儲器無用單元收集
10.5 Linux對i結點的使用
10.6 性能問題和最佳化策略
10.7 原始I/O
10.8 進程資源限制
10.9 基於盤區的存儲單元分配(通用的)
10.10 基於塊的存儲單元分配(通用)
10.11 事務處理或資料庫安全問題
10.12 日誌的優點(和不記日誌相比)
10.13 日誌檔案系統如何工作
10.14 元數據日誌
10.15 可用的日誌檔案系統
10.16 IBM的JFS
10.16.1 主要的JFS數據結構和算法
10.16.2 標準的管理實用程式
10.17 啟動時如何設定JFS
10.17.1 塊分配映射表
10.17.2 i結點分配映射表
10.17.3 AG自由i結點列表
10.17.4 IAG自由列表
10.17.5 檔案集分配映射表i結點
10.18 和其他檔案系統相比JFS的設計特徵
10.19 JFS對B+樹的進一步廣泛使用
10.20 葉結點
10.21 內部結點
10.22 可變的塊大小
10.23 目錄組織
10.24 JFS對稀疏檔案和稠密檔案的支持
10.25 聚集和檔案集
10.26 日誌
10.27 邏輯卷管理程式概括
10.27.1 配置概念
10.27.2 例子
10.27.3 命令概述和概念
10.27.4 舉一個LVM會話輸出的例子
附錄A 參考書目
A.1 論文和書目
附錄B GNU許可證
B.1 GNU通用公共許可證
B.2 序言
附錄C 邏輯卷管理程式概括
附錄D 核心參數(V2.2.9)