×
Linux 核心詳解 第三版
作者: Daniel P. Bovet, Marco Cesati
譯者:陳建勳
書號: A194
出版日: 2006/08/01
ISBN:9789867794833
附件: 無
定價: 1200
電子書: 未出版
購買紙本書
內容特色
為了全面瞭解是什麼讓 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 模組

參考書目

原始碼索引

索引
Linux 核心詳解 第三版 分享
  • 作者: Daniel P. Bovet, Marco Cesati
  • 書號:A194
  • ISBN:9789867794833
  • 出版日:2006/08/01
  • 定價:$ 1200
  • 電子書:已出版
  • 購買紙本書

    天瓏  博客來  
    內容特色
    為了全面瞭解是什麼讓 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 模組

    參考書目

    原始碼索引

    索引