Linux核心分析與高級教程

Linux核心分析與高級教程

本書主要分析了Linux(2.6.38)版本的核心原始碼,向讀者系統而詳盡地介紹和分析了Linux核心各個子系統的結構、原理及Hadoop分散式檔案系統、Linux安全子系統和Linux的網路安全問題。全書分為14章,內容包括Linux核心簡介、進程管理、進程調度算法、中斷機制、系統調用、記憶體管理、檔案系統、I/O設備管理、核心安全、Hadoop分散式檔案系統、Linux安全子系統和Linux的網路安全問題等。

基本介紹

  • 作者:吳國偉 李瑩 姚琳
  • 定價:34.5元
  • 出版時間:2012-8-13
  • 裝幀:平裝
圖書簡介,前言,圖書目錄,

圖書簡介

本書內容豐富,概念和原理講解細緻,深入淺出。其中,有關代碼的部分都標有注釋詳細介紹功能,書中的設計和分析也配以編程實例幫助理解。書中的每一章都相對獨立,兼顧了通用性和系統性,覆蓋了許多方面的內容。
本書主要針對從事Linux核心編程的中高級讀者及軟體工程師學習核心工作原理的自學參考書籍,也適合作為高校計算機專業學生學習作業系統課程的輔助和實踐教材。

前言

Linux是於1991年發展起來的基於GPL類似UNIX的作業系統,是一個完全免費、開放、跨平台的作業系統。隨著Linux核心的日益完善,無論是龐大的數據中心,還是靈活方便的嵌入式設備,Linux的使用越來越受到開發商的青睞。
學習Linux的關鍵在於對核心的理解和把握,而現有Linux作業系統教材,有的偏重於結構、原理的闡述,比較抽象,學生難以掌握和套用; 有的側重闡述Linux核心部分特徵與編程技術,缺少Linux作業系統全面而系統的原理和實踐套用,讀者難以舉一反三。據此,編者精心組織編寫了本書,以利於教學和套用。
內容安排上,全書共分14章,從Linux作業系統的簡介入手,基於Linux核心2.6.30版本具體而全面地闡述了其組成結構,並深入分析各個模組的工作策略和實現機制。重點闡述了Linux作業系統的進程管理、中斷和異常的處理、定時服務、核心模組機制安全問題等。並在其基本的檔案系統講解的基礎上,列舉了Hadoop分散式檔案系統的原理和實際套用來幫助讀者拓展對於Linux檔案系統的認識。
敘述方法上,各章首先介紹了相應子系統的基本工作原理,然後從核心源碼的角度進一步講述實施細節,最後通過實例設計來闡述相應的實踐套用,這種敘述方法最大限度地使讀者易於掌握Linux作業系統原理及其程式計。此外,本書的案例結合作者多年科研實踐的項目總結,具有很強的代表性和實用性。
書的出版得到教育部特色專業建設支持,Intel教育部精品課程建設和大連理工大學精品課程建設支持。感謝大連理大學軟體學院領導對本書出版的關懷和支持; 同時,本書的出版也得到了清華大學出版社的大力支持
,對表示衷心的感謝!
伴隨著聯網的發展,Linux作業系統的相應技術也在不斷發展,由於作者學疏才淺,書中錯誤在所難免,敬請讀者批評指。

圖書目錄

第1章Linux核心簡介
1.1什麼是Linux
1.1.1Linux發展歷程
1.1.2常見Linux發行版本
1.2Linux的核心特徵
1.2.1接口特色
1.2.2功能特色
1.2.3結構特徵
1.3關於Linux核心
1.3.1Linux核心版本
1.3.2Linux核心體系結構
1.3.3單核心與微核心
1.4核心編譯方法
1.4.1獲取核心代碼
1.4.2核心源碼的組成
1.4.3編譯核心
第2章Linux進程管理
2.1進程描述
2.1.1進程的描述
2.1.2Linux進程描述符
2.2進程的組織形式
2.2.1進程鍊表
2.2.2哈希鍊表
2.2.3等待佇列
2.2.4當前進程
2.3進程創建
2.3.1概述
2.3.2寫時複製
2.3.3fork()、vfork()與clone()
2.4進程終止
2.4.1概述
2.4.2do_exit()函式
2.4.3wait()函式
2.5執行緒的實現
2.5.1用戶線
2.5.2核心執行緒
2.6進程使用綜合實例
2.6.1問題陳
2.6.2解決方案
第3章Linux進程調度算法
3.1核心調度概述
3.1.1調度原
3.1.2Linux調度器發
3.1.3CFS調度器
3.2與調度相關的數據結構
3.2.1運行佇列
3.2.2模組化調度
3.2.3組調度
3.3CFS調度算法
3.3.1進程優先權和虛擬運行時間
3.3.2CFS調度算法的實現
3.4實時調度算法
3.4.1實時調度策略
3.4.2實時調度的具體實現
3.5Linux核心調度
3.5.1schedule()
3.5.2核心搶占
3.6調度相關係統調用
第4章Linux中斷機制分析
4.1x86對中斷的支持
4.1.1中斷向量
4.1.2中斷描述符
4.1.3中斷描述符的初始化
4.2中斷處理程式
4.2.1概述
4.2.2編寫中斷處理程式4.2.3中斷上下文
4.3中斷處理機制的實現
4.3.1中斷的硬體處理過
4.3.2中斷處理程式的註冊
4.3.3中斷的軟體處理過程
4.4中斷的下半部
4.4.1下半部機制
4.4.2軟中斷
4.4.3tasklet
4.4.4工作佇列
第5章Linux系統調用分
5.1C程式庫和系統調用
5.2系統調用實現分析
5.2.1系統調用的初
5.2.2與系統調用相關的數據結構
5.2.3系統調用入口函式
5.2.4系統調用的參數傳遞
5.3添加系統調用
5.4快速系統調用5.4.1實現原理
5.4.2實現策略
第6章Linux核心同步機制分析
6.1臨界區和競爭條件
6.1.1臨界區舉例
6.1.2共享佇列和加鎖
6.1.3確定保護對象
6.1.4並發執行的原因
6.2原子操作
6.2.1原子整數操作
6.2.2原子位操作6.3自旋鎖
6.3.1普通自旋鎖
6.3.2讀寫自旋鎖
6.4信號量機制
6.4.1普通信號量
6.4.2讀寫信號量
6.5RCU同步機制
6.5.1RCU同步機制原理
6.5.2RCU同步機制的實現
6.6其他同步機制
6.6.1每個處理器變數
6.6.2禁止核心搶占
6.6.3BKL
第7章Linux定時器和時間管理機制
7.1核心中的時間概念
7.1.1核心中的時鐘
7.1.2節拍率
7.1.3jiffies
7.2時鐘中斷處理過程
7.2.1時鐘中斷的初始化
7.2.2時鐘中斷處理函式
7.3定時器
7.3.1定時器的實現原理
7.3.2定時器的使用
7.3.3定時器的實現過程
7.4核心中的延遲
7.4.1忙等待
7.4.2短延遲
7.4.3schedule_timeout()
第8章Linux模組機制
8.1模組概念
8.2核心模組的使用
8.2.1一個簡單的核心模組程式
8.2.2構建模組
8.2.3模組參數
8.2.4核心導出模組符號表
8.3核心模組實現機制分析
8.3.1相關的數據結構
8.3.2核心模組工作機制
第9章記憶體管理機
9.1基本機制
9.2物理記憶體的描述方法
9.2.1記憶體節點
9.2.2記憶體區
9.2.3物理頁
9.3物理記憶體的分配與回收
9.3.1物理頁面的請求
9.3.2物理頁面的釋放
9.3.3夥伴系統
9.4Slub分配器
9.4.1Slub分配器概述
9.4.2Slub分配器的設計
9.4.3相關的數據結構
9.4.4高速快取的創建與銷毀
9.4.5核心對象的分配與釋放
9.5進程地址空間
9.5.1記憶體描述符
9.5.2記憶體區域
9.5.3頁表
第10章Linux檔案系統
10.1Linux檔案系統基礎
10.1.1Linux檔案系統
10.1.2檔案
10.1.3檔案目錄和路徑
10.1.4磁碟塊
10.2Linux虛擬檔案系統
10.2.1虛擬檔案系統的引入
10.2.2VFS中的對象
10.2.3超級塊對象
10.2.4索引節點對象
10.2.5目錄項對象
10.2.6檔案對象
10.2.7與進程相關的數據結構
10.3檔案系統的安裝與卸載
10.3.1檔案系統的註冊
10.3.2檔案系統的安裝
10.3.3檔案系統的卸載
10.4頁高速快取
10.4.1相關數據結構
10.4.2頁回寫
10.5檔案的打開與讀寫
10.5.1檔案的打開與關閉
10.5.2檔案的讀和寫
第11章I/O設備管理
11.1I/O管理機制
11.2塊設備管理
11.2.1緩衝區和緩衝區頭
11.2.2bio結構體
11.2.3請求佇列
11.3驅動程式設計
11.3.1驅動程式框架
11.3.2Linux 2.6驅動程式新特性
11.3.3驅動程式設計實例
第12章Hadoop分散式檔案系統
12.1Hadoop框架簡介
12.2HDFS——Hadoop分散式檔案系統
12.2.1HDFS設計目標
12.2.2HDFS基本架構
12.2.3HDFS的關鍵技術
12.3HDFS使用
12.3.1訪問接口
12.3.2常用特性
12.3.3許可權管理
12.3.4命令手冊
12.4套用實例——HDFS編譯、安裝和簡單的使用
第13章Linux安全系統
13.1Linux日誌系統和審計系統
13.1.1Linux日誌系統
13.1.2Linux審計系統
13.2Linux訪問控制機制
13.2.1基於ACL的自主訪問機制
13.2.2強制訪問機制
13.3檔案許可權管理
13.3.1UGO檔案許可權管理
13.3.2ACL檔案許可權管理
13.4核心密鑰
13.4.1密鑰和密鑰環數據結構
13.4.2密鑰環數據操作
13.4.3核心密鑰環的管理
13.5套用實例——Linux ACL體驗
第14章Linux網路安全
14.1網路安全機制
14.1.1簡介
14.1.2安全隱患和基本安全策略
14.1.3Linux網路安全工具
14.1.4Linux 2.6網路安全新功能
14.2防火牆技術
14.2.1什麼是防火牆
14.2.2防火牆的種類
14.2.3防火牆配置結構
14.3使用Linux架構包過濾防火牆
14.3.1什麼是包過濾
14.3.2工作層次
14.3.3工作原理
14.3.4基本過程
14.4管理工具
14.4.1iptables
14.4.2Netfilte
14.5Liux防火牆程式設
附錄A核心中常見數據結構類型
附錄B紅黑樹
附錄C特殊的C語言用法
附錄D彙編語法
參考文獻

相關詞條

熱門詞條

聯絡我們