內容簡介
為了透徹理解Linux的工作機理,以及為何它在各種系統上能順暢運行,你需要深入到內核的心臟。cPu與外部世界的所有交互活動都是由內核處理的,哪些程序會分享處理器的時間,以什么樣的順序來分享。內核不遺余力地管理有限的內存,以使數以千計的進程有效地共享系統資源。內核還精心組織數據傳送,使得cPu不再受限于慢速硬盤。
《深入理解Linux內核》第三版將引領你暢游內核中用到的最主要數據結構、算法和編程技巧。如果你的確想了解計算機內部的實現機理,那么作者透過現象探尋本質,提供了頗有價值的深入分析。本書針對具體的Intel平臺,討論了其重要特征,逐行剖析了相關的代碼片段。但是,本書涵蓋的內容不僅僅局限于代碼的機理,還解釋了Linux運作方式的理論支撐。
本書第三版涵蓋Linux2.6,從中可以看到幾乎內核每個子系統都有相當大的變化,首當其沖的是內存管理和塊設備部分。本書集中討論了如下內容:
內存管理,包括文件緩沖、進程交換以及直接內存訪問(DMA)
虛擬文件系統層和第二及第三擴展文件系統
進程創建及調度
信號、中斷及設備驅動程序的主要接口
定時
內核中的同步
進程間通信(IPC)
程序執行
本書將使你熟悉Linux所有的內在工作機理,但本書不僅僅是一種學術演練。你將了解到什么條件會促使Linux產生最佳性能,你還會看到,Linux在各種環境下如何滿足進程調度、文件訪問及內存管理期間系統提出的快速響應要求。本書有助于你充分展現Linux系統的魅力。
目錄
前言
第一章緒論
Linux與其他類Unix內核的比較
硬件的依賴性
Linux版本
操作系統基本概念
Unix文件系統概述
Unix內核概述
第二章內存尋址內存地址
硬件中的分段
Linux中的分段
硬件中的分頁
Linux中的分頁
第三章進程進程、輕量級進程和線程
進程描述符
進程切換
創建進程
撤消進程
第四章中斷和異常
中斷信號的作用
中斷和異常
中斷和異常處理程序的嵌套執行
初始化中斷描述符表
異常處理
中斷處理
軟中斷及tasklet
工作隊列
從中斷和異常返回
第五章內核同步
內核如何為不同的請求提供服務
同步原語
對內核數據結構的同步訪問
避免競爭條件的實例
第六章定時測量
時鐘和定時器電路
Linux計時體系結構
更新時間和日期
更新系統統計數
軟定時器和延遲函數
與定時測量相關的系統調用
第七章進程調度
調度策略
調度算法
調度程序所使用的數據結構
調度程序所使用的函數
多處理器系統中運行隊列的平衡
與調度相關的系統調用
第八章內存管理
頁框管理
內存區管理
非連續內存區管理
第九章進程地址空間
進程的地址空間
內存描述符
線性區
缺頁異常處理程序
創建和刪除進程的地址空間
堆的管理
第十章系統調用
POSIXAPI和系統調用
系統調用處理程序及服務例程
進入和退出系統調用
參數傳遞
內核封裝例程
第十一章信號
信號的作用
產生信號
傳遞信號
與信號處理相關的系統調用
第十二章虛擬文件系統
虛擬文件系統(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
SystemVIPC
POSIX消息隊列
第二十章程序的執行
可執行文件
可執行格式
執行域
exec函數
附錄一系統啟動
附錄二模塊
參考文獻
源代碼索引
-
Linux
+關注
關注
87文章
11292瀏覽量
209328 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35296 -
米爾科技
+關注
關注
5文章
227瀏覽量
20957
發布評論請先 登錄
相關推薦
評論