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