為了全面瞭解是什麼讓 Linux 起作用,以及為什麼 Linux 能在各種系統上運作得那麼好,你必須對核心有深入的瞭解。核心會處理 CPU 和外面世界的所有互動,決定哪些行程可以共用處理器時間,以及它們的使用次序。核心把有限的記憶體管理得很好,讓上百個行程能以有效率的方式共用系統。核心以巧妙的方式安排資料的傳輸,使得 CPU 再也不用等待速度緩慢的硬碟存取。
本書要帶領你瞭解,核心中最重要的資料結構、演算法以及程式設計技巧。探索核心功能背後的真相時,對那些想瞭解自己的機器究竟是怎麼運作的讀者,作者提出了寶貴的見解。本書會討論 Intel 特有的重要功能,也會逐一解析相關的程式片段。但是,本書不只談論程式的作用而已,也會說明 Linux 之所以這麼運作的理論基礎。
本書是第三版,談的是 2.6 版,每個核心子系統在 2.6 版中幾乎都有重大的修改,特別是記憶體管理和區塊裝置這兩個領域。本書的內容涵蓋:
* 記憶體管理,包括緩衝機制、行程置換,以及直接記憶體存取(DMA)。
* 虛擬記憶體,以及 ext2 和 ext3 檔案系統。
* 行程的建立和排程。
* 信號、中斷事件,以及裝置驅動程式的基本介面。
* 計時功能。
* 核心內部的同步功能。
* 行程間通訊(IPC)。
* 程式的執行。
本書可讓你熟悉 Linux 內部的運作方式,但本書絕不只是一本學術著作。你會瞭解到什麼條件下可以讓 Linux 的效能達到極致,而且你也會知道 Linux 在各種環境中的行程排程、檔案存取及記憶體管理,如何提供良好的系統回應時間及其原因。本書將能協助你善用你的 Linux 系統。
目錄
序
第 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 模組
參考書目
原始碼索引
索引
序
第 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 中斷事件和...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。