-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
深入Linux內核架構 版權信息
- ISBN:9787115227430
- 條形碼:9787115227430 ; 978-7-115-22743-0
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
深入Linux內核架構 本書特色
《深入Linux內核架構》:眾所周知,Linux操作系統(tǒng)的源代碼復雜、文檔少,對程序員的要求高,要想看懂這些代碼并不是一件容易事。《深入Linux內核架構》結合內核版本2.6.24源代碼中*關鍵的部分。深入討論Lirnux內核的概念、結構和實現。具體包括進程管理和調度、虛擬內存、進程間通信、設備驅動程序、虛擬文件系統(tǒng)、網絡、時間管理、數據同步等。《深入Linux內核架構》引導你閱讀內核源代碼,熟悉Lirnux妍有的內在工作機理,充分展現Linux系統(tǒng)的魅力。《深入Linux內核架構》適合Linux系統(tǒng)編程人員、系統(tǒng)管理者以及Linux愛好者學習使用。內容全面深入全球開源社區(qū)集體智慧結晶領略Linux內核的絕美風光
深入Linux內核架構 內容簡介
本書討論了linux內核的概念、結構和實現。主要內容包括多任務、調度和進程管理,物理內存的管理以及內核與相關硬件的交互,用戶空間的進程如何訪問虛擬內存,如何編寫設備驅動程序,模塊機制以及虛擬文件系統(tǒng),ext文件系統(tǒng)屬性和訪問控制表的實現方式,內核中網絡的實現,系統(tǒng)調用的實現方式,內核對時間相關功能的處理,頁面回收和頁交換的相關機制以及審計的實現等。此外,本書借助內核源代碼中*關鍵的部分進行講解,幫助讀者掌握重要的知識點,從而在運用中充分展現linux系統(tǒng)的魅力。
本書適合linux內核愛好者閱讀。
深入Linux內核架構 目錄
1.1 內核的任務
1.2 實現策略
1.3 內核的組成部分
1.3.1 進程、進程切換、調度
1.3.2 unix進程
1.3.3 地址空間與特權級別
1.3.4 頁表
1.3.5 物理內存的分配
1.3.6 計時
1.3.7 系統(tǒng)調用
1.3.8 設備驅動程序、塊設備和字符設備
1.3.9 網絡
1.3.10 文件系統(tǒng)
1.3.11 模塊和熱插拔
1.3.12 緩存
1.3.13 鏈表處理
1.3.14 對象管理和引用計數
1.3.15 數據類型
1.3.16 本書的局限性
1.4 為什么內核是特別的
1.5 行文注記
1.6 小結
第2章 進程管理和調度
2.1 進程優(yōu)先級
2.2 進程生命周期
2.3 進程表示
2.3.1 進程類型
2.3.2 命名空間
2.3.3 進程id號
2.3.4 進程關系
2.4 進程管理相關的系統(tǒng)調用
2.4.1 進程復制
2.4.2 內核線程
2.4.3 啟動新程序
2.4.4 退出進程
2.5 調度器的實現
2.5.1 概觀
2.5.2 數據結構
2.5.3 處理優(yōu)先級
2.5.4 核心調度器
2.6 完全公平調度類
2.6.1 數據結構
2.6.2 cfs操作
2.6.3 隊列操作
2.6.4 選擇下一個進程
2.6.5 處理周期性調度器
2.6.6 喚醒搶占
2.6.7 處理新進程
2.7 實時調度類
2.7.1 性質
2.7.2 數據結構
2.7.3 調度器操作
2.8 調度器增強
2.8.1 smp調度
2.8.2 調度域和控制組
2.8.3 內核搶占和低延遲相關工作
2.9 小結
第3章 內存管理
3.1 概述
3.2 (n)uma模型中的內存組織
3.2.1 概述
3.2.2 數據結構
3.3 頁表
3.3.1 數據結構
3.3.2 頁表項的創(chuàng)建和操作
3.4 初始化內存管理
3.4.1 建立數據結構
3.4.2 特定于體系結構的設置
3.4.3 啟動過程期間的內存管理
3.5 物理內存的管理
3.5.1 伙伴系統(tǒng)的結構
3.5.2 避免碎片
3.5.3 初始化內存域和結點數據結構
3.5.4 分配器api
3.5.5 分配頁
3.5.6 釋放頁
3.5.7 內核中不連續(xù)頁的分配
3.5.8 內核映射
3.6 slab分配器
3.6.1 備選分配器
3.6.2 內核中的內存管理
3.6.3 slab分配的原理
3.6.4 實現
3.6.5 通用緩存
3.7 處理器高速緩存和tlb控制
3.8 小結
第4章 進程虛擬內存
4.1 簡介
4.2 進程虛擬地址空間
4.2.1 進程地址空間的布局
4.2.2 建立布局
4.3 內存映射的原理
4.4 數據結構
4.4.1 樹和鏈表
4.4.2 虛擬內存區(qū)域的表示
4.4.3 優(yōu)先查找樹
4.5 對區(qū)域的操作
4.5.1 將虛擬地址關聯到區(qū)域
4.5.2 區(qū)域合并
4.5.3 插入區(qū)域
4.5.4 創(chuàng)建區(qū)域
4.6 地址空間
4.7 內存映射
4.7.1 創(chuàng)建映射
4.7.2 刪除映射
4.7.3 非線性映射
4.8 反向映射
4.8.1 數據結構
4.8.2 建立逆向映射
4.8.3 使用逆向映射
4.9 堆的管理
4.10 缺頁異常的處理
4.11 用戶空間缺頁異常的校正
4.11.1 按需分配/調頁
4.11.2 匿名頁
4.11.3 寫時復制
4.11.4 獲取非線性映射
4.12 內核缺頁異常
4.13 在內核和用戶空間之間復制數據
4.14 小結
第5章 鎖與進程間通信
第6章 設備驅動程序
第7章 模塊
第8章 虛擬文件系統(tǒng)
第9章 ext文件系統(tǒng)族
第10章 無持久存儲的文件系統(tǒng)
第11章 擴展屬性和訪問控制表
第12章 網絡
第13章 系統(tǒng)調用
第14章 內核活動
第15章 時間管理
第16章 頁緩存和塊緩存
第17章 數據同步
第18章 頁面回收和頁交換
第19章 審計
附錄a 體系結構相關知識
附錄b 使用源代碼
附錄c 有關c語言的注記
附錄d 系統(tǒng)啟動
附錄e elf二進制格式
附錄f 內核開發(fā)過程
參考文獻
深入Linux內核架構 節(jié)選
《深入Linux內核架構》討論了Linux內核的概念、結構和實現。主要內容包括多任務、調度和進程管理,物理內存的管理以及內核與相關硬件的交互,用戶空間的進程如何訪問虛擬內存,如何編寫設備驅動程序,模塊機制以及虛擬文件系統(tǒng),Ext文件系統(tǒng)屬性和訪問控制表的實現方式,內核中網絡的實現,系統(tǒng)調用的實現方式,內核對時間相關功能的處理,頁面回收和頁交換的相關機制以及審計的實現等。此外,《深入Linux內核架構》借助內核源代碼中*關鍵的部分進行講解,幫助讀者掌握重要的知識點,從而在運用中充分展現Linux系統(tǒng)的魅力。《深入Linux內核架構》適合Linux內核愛好者閱讀。
深入Linux內核架構 相關資料
插圖:內核很神奇,但歸根結底它只是一個大的C程序,帶有一些匯編代碼(不時出現很少量的“黑巫術”)。是什么使得內核如此吸引人?原因有幾個。首要一點在于,內核是由世界上最好的程序員編寫的,源代碼可以證實這一點。其結構良好,細節(jié)一絲不茍,巧妙的解決方案在代碼中處處可見。一言以蔽之:內核應該是什么樣子,它現在就是什么樣子。但這并不意味著內核是應用教科書風格的程序設計方法學得出的產品。盡管內核采用了設計得非常干凈的抽象,以保持代碼的模塊化和易管理性,但這一點與內核的其他方面混合起來,使得代碼非常有趣和獨特。在必要的情況下,內核會以上下文相關的方式重用比特位置,多次重載結構成員,從指針已經對齊的部分壓榨出又一個存儲位,自由地使用goto語句,還有很多其他東西,這些都會使任何強調結構的程序員因痛苦而尖叫。教科書答案中難以想象的那些技巧,對于實現能夠在真正的現實世界中正常工作的內核不僅是有益的,甚至是必需的。正是因為找到了一條在內核完全對立的兩面之間保持平衡的路徑,內核才如此令人興味盎然、富有挑戰(zhàn)性并且妙趣橫生!頌揚了內核源代碼之后,還有許多不同于用戶層程序的嚴肅問題需要說明。口調試內核通常要比調試用戶層程序困難。對后者來說有大量的調試器可用,而對于后者來說調試器的實現難度要高得多。附錄B討論了在內核開發(fā)中使用調試器的各種技巧,但與用戶層對應的方法相比都需要更多的工作。口內核提供了許多輔助函數,類似于用戶空間的c語言庫,但內核領域中的東西總是樸素得多。口用戶層應用程序的錯誤可能會導致段錯誤(segmentation fault)或內存轉儲(core dump),但內核錯誤會導致整個系統(tǒng)故障。甚至更糟的是:內核會繼續(xù)運行,在錯誤發(fā)生若干小時之后系統(tǒng)離奇地崩潰。如上所述,因為在內核空間調試比用戶層應用程序更困難,所以在內核代碼投入使用之前要進行更多的考慮。口必須考慮到內核運行的許多體系結構上根本不支持非對齊的內存訪問。由于編譯器插入的填充(padding)字段,也會影響到數據結構在不同體系結構之間的可移植性。附錄C會進一步討論這個問題。口所有的內核代碼都必須是并發(fā)安全的。由于對多處理器計算機的支持,Linux內核代碼必須是可重入和線程安全的。也就是說,程序必須允許同時執(zhí)行,而數據必須針對并行訪問進行保護。口內核代碼必須在小端序和大端序計算機上都能夠工作。口大多數的體系結構根本不允許在內核中執(zhí)行浮點計算,因此計算需要想辦法用整型來替代。后面讀者會看到如何處理這些問題。
深入Linux內核架構 作者簡介
作者:(德國)莫爾勒(Wolfgang Mauerer) 譯者:郭旭莫爾勒(Woflgang Mauerer),資深Linux專家,有數十年Linux開發(fā)經驗。從1997年最初發(fā)表關于內核的系列文章開始,他就醉心于解釋Linux核心的內部機制、編寫相關的文檔,此外,他還著有LaTex排版方面的圖書,其撰寫的大量文章已經被釋譯成7種語言。
- >
回憶愛瑪儂
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學概述
- >
月亮與六便士
- >
月亮虎
- >
唐代進士錄
- >
史學評論
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)