深入理解LINUX核心(第三版)

深入理解LINUX核心(第三版)

《深入理解Linux核心》第三版將引領你暢遊核心中用到的最主要數據結構、算法和編程技巧。如果你的確想了解計算機內部的實現機理,那么作者透過現象探尋本質,提供了頗有價值的深入分析。本書針對具體的Intel平台,討論了其重要特徵,逐行剖析了相關的代碼片段。但是,本書涵蓋的內容不僅僅局限於代碼的機理,還解釋了Linux運作方式的理論支撐。

基本介紹

內容簡介,圖書目錄,

內容簡介

為了透徹理解Linux的工作機理,以及為何它在各種系統上能順暢運行,你需要深入到核心的心臟。cPu與外部世界的所有互動活動都是由核心處理的,哪些程式會分享處理器的時間,以什麼樣的順序來分享。核心不遺餘力地管理有限的記憶體,以使數以千計的進程有效地共享系統資源。核心還精心組織數據傳送,使得cPu不再受限於慢速硬碟。
本書第三版涵蓋Linux 2.6,從中可以看到幾乎核心每個子系統都有相當大的變化,首當其衝的是記憶體管理和塊設備部分。本書集中討論了如下內容:
記憶體管理,包括檔案緩衝、進程交換以及直接記憶體訪問(DMA)
虛擬檔案系統層和第二及第三擴展檔案系統
進程創建及調度
信號、中斷及設備驅動程式的主要接口
定時
核心中的同步
進程間通信(IPC)
程式執行
本書將使你熟悉Linux所有的內在工作機理,但本書不僅僅是一種學術演練。你將了解到什麼條件會促使Linux產生最佳性能,你還會看到,Linux在各種環境下如何滿足進程調度、檔案訪問及記憶體管理期間系統提出的快速回響要求。本書有助於你充分展現Linux系統的魅力。

圖書目錄

前言
第一章 緒論
Linux與其他類Unix核心的比較
硬體的依賴性
Linux版本
作業系統基本概念
Unix檔案系統概述
Unix核心概述
第二章 記憶體定址
記憶體地址
硬體中的分段
Linux中的分段
硬體中的分頁
Linux中的分頁
第三章 進程
進程、輕量級進程和執行緒
進程描述符
進程切換
創建進程
撤消進程
第四章 中斷和異常
中斷信號的作用
中斷和異常
中斷和異常處理程式的嵌套執行
初始化中斷描述符表
異常處理
中斷處理
軟中斷及tasklet
工作佇列
從中斷和異常返回
第五章 核心同步
核心如何為不同的請求提供服務
同步原語
對核心數據結構的同步訪問
避免競爭條件的實例
第六章 定時測量
時鐘和定時器電路
Linux計時體系結構
更新時間和日期
更新系統統計數
軟定時器和延遲函式
與定時測量相關的系統調用
第七章 進程調度
調度策略
調度算法
調度程式所使用的數據結構
調度程式所使用的函式
多處理器系統中運行佇列的平衡
與調度相關的系統調用
第八章 記憶體管理
頁框管理
記憶體區管理
非連續記憶體區管理
第九章 進程地址空間
進程的地址空間
記憶體描述符
線性區
缺頁異常處理程式
創建和刪除進程的地址空間
堆的管理
第十章 系統調用
POSIX API和系統調用
系統調用處理程式及服務例程
進入和退出系統調用
參數傳遞
核心封裝例程
第十一章 信號
信號的作用
產生信號
傳遞信號
與信號處理相關的系統調用
第十二章 虛擬檔案系統
虛擬檔案系統(VFS)的作用
VFS的數據結構
檔案系統類型
檔案系統處理
路徑名查找
VFS系統調用的實現
檔案加鎖
第十三章 I/O體系結構和設備驅動程式
I/O體系結構
設備驅動程式模型
設備檔案
設備驅動程式
字元設備驅動程式
第十四章 塊設備驅動程式
塊設備的處理
通用塊層
I/O調度程式
塊設備驅動程式
打開塊設備檔案
第十五章 頁高速快取
頁高速快取
把塊存放在頁高速快取中
把髒頁寫入磁碟
sync()、fsync()和fdatasync()系統調用
第十六章 訪問檔案
讀寫檔案
記憶體映射
直接I/O傳送
異步I/O
第十七章 回收頁框
頁框回收算法
反向映射
PFRA實現
交換
第十八章 Ext2和Ext3檔案系統
Ext2的一般特徵
Ext2磁碟數據結構
Ext2的記憶體數據結構
創建Ext2檔案系統
Ext2的方法
管理Ext2磁碟空間
Ext3檔案系統
第十九章 進程通信
管道
FIFO
System V IPC
POSIX訊息佇列
第二十章 程式的執行
執行檔
可執行格式
執行域
exec函式
附錄一 系統啟動
附錄二 模組
參考文獻
原始碼索引

相關詞條

熱門詞條

聯絡我們