深入Linux內核架構 [Professional Linux Kernel Architecture] pdf epub mobi txt 電子書 下載 2024
圖書介紹
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
發表於2024-11-05
類似圖書 點擊查看全場最低價
齣版社: 人民郵電齣版社
ISBN:9787115227430
版次:1
商品編碼:10064468
包裝:平裝
叢書名: 圖靈程序設計叢書·Linux/UNIX係列
外文名稱:Professional Linux Kernel Architecture
開本:16開
齣版時間:2010-06-01
用紙:膠版紙
頁數:1038
字
深入Linux內核架構 [Professional Linux Kernel Architecture] epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
相關圖書
深入Linux內核架構 [Professional Linux Kernel Architecture] epub 下載 mobi 下載 pdf 下載 txt 電子書 下載 2024
深入Linux內核架構 [Professional Linux Kernel Architecture] pdf epub mobi txt 電子書 下載
具體描述
編輯推薦
眾所周知,Linux操作係統的源代碼復雜、文檔少,對程序員的要求高,要想看懂這些代碼並不是一件容易事。《深入Linux內核架構》結閤內核版本2.6.24源代碼中關鍵的部分。深入討論Lirnux內核的概念、結構和實現。具體包括進程管理和調度、虛擬內存、進程間通信、設備驅動程序、虛擬文件係統、網絡、時間管理、數據同步等。《深入Linux內核架構》引導你閱讀內核源代碼,熟悉Lirnux妍有的內在工作機理,充分展現Linux係統的魅力。《深入Linux內核架構》適閤Linux係統編程人員、係統管理者
內容簡介
《深入Linux內核架構》討論瞭Linux內核的概念、結構和實現。主要內容包括多任務、調度和進程管理,物理內存的管理以及內核與相關硬件的交互,用戶空間的進程如何訪問虛擬內存,如何編寫設備驅動程序,模塊機製以及虛擬文件係統,Ext文件係統屬性和訪問控製錶的實現方式,內核中網絡的實現,係統調用的實現方式,內核對時間相關功能的處理,頁麵迴收和頁交換的相關機製以及審計的實現等。此外,《深入Linux內核架構》藉助內核源代碼中關鍵的部分進行講解,幫助讀者掌握重要的知識點,從而在運用中充分展現Linux係統的魅力。《深入Linux內核架構》適閤Linux內核愛好者閱讀。
作者簡介
莫爾勒(Woflgang Mauerer),資深Linux專傢,有數十年Linux開發經驗。從1997年最初發錶關於內核的係列文章開始,他就醉心於解釋Linux核心的內部機製、編寫相關的文檔,此外,他還著有LaTex排版方麵的圖書,其撰寫的大量文章已經被釋譯成7種語言。
內頁插圖
精彩書評
★“這本書敘述深入淺齣,內容全麵詳盡,是學習掌握Lmux所有內在工作機理理想的參考書之一”。
——C.Glovanni,資深Linux程序開發者
目錄
第1章 簡介和概述1
1.1 內核的任務2
1.2 實現策略2
1.3 內核的組成部分3
1.3.1 進程、進程切換、調度3
1.3.2 UNIX進程4
1.3.3 地址空間與特權級彆6
1.3.4 頁錶9
1.3.5 物理內存的分配11
1.3.6 計時13
1.3.7 係統調用13
1.3.8 設備驅動程序、塊設備和字符設備14
1.3.9 網絡14
1.3.10 文件係統14
1.3.11 模塊和熱插拔15
1.3.12 緩存16
1.3.13 鏈錶處理16
1.3.14 對象管理和引用計數17
1.3.15 數據類型20
1.3.16 本書的局限性22
1.4 為什麼內核是特彆的23
1.5 行文注記23
1.6 小結27
第2章 進程管理和調度28
2.1 進程優先級28
2.2 進程生命周期30
2.3 進程錶示32
2.3.1 進程類型37
2.3.2 命名空間37
2.3.3 進程ID號43
2.3.4 進程關係49
2.4 進程管理相關的係統調用50
2.4.1 進程復製50
2.4.2 內核綫程62
2.4.3 啓動新程序63
2.4.4 退齣進程66
2.5 調度器的實現67
2.5.1 概觀67
2.5.2 數據結構69
2.5.3 處理優先級74
2.5.4 核心調度器79
2.6 完全公平調度類84
2.6.1 數據結構85
2.6.2 CFS操作85
2.6.3 隊列操作89
2.6.4 選擇下一個進程91
2.6.5 處理周期性調度器92
2.6.6 喚醒搶占93
2.6.7 處理新進程93
2.7 實時調度類94
2.7.1 性質94
2.7.2 數據結構95
2.7.3 調度器操作96
2.8 調度器增強97
2.8.1 SMP調度97
2.8.2 調度域和控製組101
2.8.3 內核搶占和低延遲相關工作102
2.9 小結106
第3章 內存管理107
3.1 概述107
3.2 (N)UMA模型中的內存組織109
3.2.1 概述109
3.2.2 數據結構111
3.3 頁錶123
3.3.1 數據結構124
3.3.2 頁錶項的創建和操作129
3.4 初始化內存管理129
3.4.1 建立數據結構130
3.4.2 特定於體係結構的設置135
3.4.3 啓動過程期間的內存管理153
3.5 物理內存的管理159
3.5.1 夥伴係統的結構159
3.5.2 避免碎片161
3.5.3 初始化內存域和結點數據結構167
3.5.4 分配器API172
3.5.5 分配頁177
3.5.6 釋放頁192
3.5.7 內核中不連續頁的分配195
3.5.8 內核映射201
3.6 slab分配器205
3.6.1 備選分配器206
3.6.2 內核中的內存管理207
3.6.3 slab分配的原理209
3.6.4 實現212
3.6.5 通用緩存226
3.7 處理器高速緩存和TLB控製228
3.8 小結230
第4章 進程虛擬內存231
4.1 簡介231
4.2 進程虛擬地址空間231
4.2.1 進程地址空間的布局232
4.2.2 建立布局234
4.3 內存映射的原理237
4.4 數據結構238
4.4.1 樹和鏈錶238
4.4.2 虛擬內存區域的錶示239
4.4.3 優先查找樹241
4.5 對區域的操作244
4.5.1 將虛擬地址關聯到區域245
4.5.2 區域閤並246
4.5.3 插入區域247
4.5.4 創建區域248
4.6 地址空間250
4.7 內存映射251
4.7.1 創建映射251
4.7.2 刪除映射253
4.7.3 非綫性映射254
4.8 反嚮映射257
4.8.1 數據結構258
4.8.2 建立逆嚮映射259
4.8.3 使用逆嚮映射259
4.9 堆的管理261
4.10 缺頁異常的處理263
4.11 用戶空間缺頁異常的校正268
4.11.1 按需分配/調頁269
4.11.2 匿名頁271
4.11.3 寫時復製271
4.11.4 獲取非綫性映射272
4.12 內核缺頁異常272
4.13 在內核和用戶空間之間復製數據274
4.14 小結276
第5章 鎖與進程間通信277
5.1 控製機製277
5.1.1 競態條件277
5.1.2 臨界區278
5.2 內核鎖機製279
5.2.1 對整數的原子操作280
5.2.2 自鏇鎖282
5.2.3 信號量283
5.2.4 RCU機製284
5.2.5 內存和優化屏障286
5.2.6 讀者/寫者鎖287
5.2.7 大內核鎖288
5.2.8 互斥量288
5.2.9 近似的per-CPU計數器290
5.2.10 鎖競爭與細粒度鎖291
5.3 SystemV進程間通信292
5.3.1 SystemV機製292
5.3.2 信號量292
5.3.3 消息隊列300
5.3.4 共享內存303
5.4 其他IPC機製303
5.4.1 信號303
5.4.2 管道和套接字310
5.5 小結311
第6章 設備驅動程序312
6.1 I/O體係結構312
6.2 訪問設備316
6.2.1 設備文件316
6.2.2 字符設備、塊設備和其他設備317
6.2.3 使用ioctl進行設備尋址319
6.2.4 主從設備號的錶示320
6.2.5 注冊321
6.3 與文件係統關聯324
6.3.1 inode中的設備文件成員324
6.3.2 標準文件操作325
6.3.3 用於字符設備的標準操作325
6.3.4 用於塊設備的標準操作325
6.4 字符設備操作326
6.4.1 錶示字符設備326
6.4.2 打開設備文件326
6.4.3 讀寫操作328
6.5 塊設備操作329
6.5.1 塊設備的錶示330
6.5.2 數據結構331
6.5.3 嚮係統添加磁盤和分區338
6.5.4 打開塊設備文件339
6.5.5 請求結構341
6.5.6 BIO343
6.5.7 提交請求345
6.5.8 I/O調度350
6.5.9 ioctl的實現352
6.6 資源分配353
6.6.1 資源管理353
6.6.2 I/O內存355
6.6.3 I/O端口357
6.7 總綫係統358
6.7.1 通用驅動程序模型358
6.7.2 PCI總綫363
6.7.3 USB370
6.8 小結376
第7章 模塊377
7.1 概述377
7.2 使用模塊378
7.2.1 添加和移除378
7.2.2 依賴關係380
7.2.3 查詢模塊信息381
7.2.4 自動加載382
7.3 插入和刪除模塊384
7.3.1 模塊的錶示385
7.3.2 依賴關係和引用389
7.3.3 模塊的二進製結構391
7.3.4 插入模塊396
7.3.5 移除模塊403
7.4 自動化與熱插拔404
7.4.1 kmod實現的自動加載404
7.4.2 熱插拔405
7.5 版本控製408
7.5.1 校驗和方法408
7.5.2 版本控製函數411
7.6 小結412
第8章 虛擬文件係統413
8.1 文件係統類型413
8.2 通用文件模型414
8.2.1 inode415
8.2.2 鏈接416
8.2.3 編程接口416
8.2.4 將文件作為通用接口417
8.3 VFS的結構417
8.3.1 結構概觀418
8.3.2 inode419
8.3.3 特定於進程的信息423
8.3.4 文件操作427
8.3.5 目錄項緩存431
8.4 處理VFS對象436
8.4.1 文件係統操作436
8.4.2 文件操作450
8.5 標準函數456
8.5.1 通用讀取例程457
8.5.2 失效機製459
8.5.3 權限檢查461
8.6 小結463
第9章 Ext文件係統族464
9.1 簡介464
9.2 Ext2文件係統465
9.2.1 物理結構465
9.2.2 數據結構470
9.2.3 創建文件係統484
9.2.4 文件係統操作485
9.3 Ext3文件係統507
9.3.1 概念508
9.3.2 數據結構509
9.4 小結511
第10章 無持久存儲的文件係統512
10.1 proc文件係統512
10.1.1 /proc的內容513
10.1.2 數據結構519
10.1.3 初始化522
10.1.4 裝載proc文件係統523
10.1.5 管理/proc數據項525
10.1.6 讀取和寫入信息528
10.1.7 進程相關的信息530
10.1.8 係統控製機製535
10.2 簡單的文件係統542
10.2.1 順序文件542
10.2.2 用libfs編寫文件係統546
10.2.3 調試文件係統547
10.2.4 僞文件係統549
10.3 sysfs549
10.3.1 概述550
10.3.2 數據結構550
10.3.3 裝載文件係統554
10.3.4 文件和目錄操作556
10.3.5 嚮sysfs添加內容562
10.4 小結564
第11章 擴展屬性和訪問控製錶565
11.1 擴展屬性565
11.1.1 到虛擬文件係統的接口566
11.1.2 Ext3中的實現570
11.1.3 Ext2中的實現576
11.2 訪問控製錶577
11.2.1 通用實現577
11.2.2 Ext3中的實現580
11.2.3 Ext2中的實現585
11.3 小結585
……
第12章 網絡586
第13章 係統調用655
第14章 內核活動678
第15章 時間管理714
第16章 頁緩存和塊緩存761
第17章 數據同步793
第18章 頁麵迴收和頁交換821
第19章 審計882
附錄A 體係結構相關知識899
附錄B 使用源代碼919
附錄C 有關C語言的注記947
附錄D 係統啓動985
附錄E ELF二進製格式
附錄F 內核開發過程
參考文獻
精彩書摘
內核很神奇,但歸根結底它隻是一個大的C程序,帶有一些匯編代碼(不時齣現很少量的“黑巫術”)。是什麼使得內核如此吸引人?原因有幾個。首要一點在於,內核是由世界上最好的程序員編寫的,源代碼可以證實這一點。其結構良好,細節一絲不苟,巧妙的解決方案在代碼中處處可見。一言以蔽之:內核應該是什麼樣子,它現在就是什麼樣子。但這並不意味著內核是應用教科書風格的程序設計方法學得齣的産品。盡管內核采用瞭設計得非常乾淨的抽象,以保持代碼的模塊化和易管理性,但這一點與內核的其他方麵混閤起來,使得代碼非常有趣和獨特。在必要的情況下,內核會以上下文相關的方式重用比特位置,多次重載結構成員,從指針已經對齊的部分壓榨齣又一個存儲位,自由地使用goto語句,還有很多其他東西,這些都會使任何強調結構的程序員因痛苦而尖叫。教科書答案中難以想象的那些技巧,對於實現能夠在真正的現實世界中正常工作的內核不僅是有益的,甚至是必需的。正是因為找到瞭一條在內核完全對立的兩麵之間保持平衡的路徑,內核纔如此令人興味盎然、富有挑戰性並且妙趣橫生!頌揚瞭內核源代碼之後,還有許多不同於用戶層程序的嚴肅問題需要說明。口調試內核通常要比調試用戶層程序睏難。對後者來說有大量的調試器可用,而對於後者來說調試器的實現難度要高得多。附錄B討論瞭在內核開發中使用調試器的各種技巧,但與用戶層對應的方法相比都需要更多的工作。口內核提供瞭許多輔助函數,類似於用戶空間的c語言庫,但內核領域中的東西總是樸素得多。口用戶層應用程序的錯誤可能會導緻段錯誤(segmentation fault)或內存轉儲(core dump),但內核錯誤會導緻整個係統故障。甚至更糟的是:內核會繼續運行,在錯誤發生若乾小時之後係統離奇地崩潰。如上所述,因為在內核空間調試比用戶層應用程序更睏難,所以在內核代碼投入使用之前要進行更多的考慮。口必須考慮到內核運行的許多體係結構上根本不支持非對齊的內存訪問。由於編譯器插入的填充(padding)字段,也會影響到數據結構在不同體係結構之間的可移植性。附錄C會進一步討論這個問題。口所有的內核代碼都必須是並發安全的。由於對多處理器計算機的支持,Linux內核代碼必須是可重入和綫程安全的。也就是說,程序必須允許同時執行,而數據必須針對並行訪問進行保護。口內核代碼必須在小端序和大端序計算機上都能夠工作。口大多數的體係結構根本不允許在內核中執行浮點計算,因此計算需要想辦法用整型來替代。後麵讀者會看到如何處理這些問題。
前言/序言
深入Linux內核架構 [Professional Linux Kernel Architecture] 下載 mobi epub pdf txt 電子書
深入Linux內核架構 [Professional Linux Kernel Architecture] pdf epub mobi txt 電子書 下載
用戶評價
評分
☆☆☆☆☆
共勉.................
評分
☆☆☆☆☆
還行吧。
評分
☆☆☆☆☆
患,排除萬難。給予我們非常好的購物體驗。順頌商祺!
評分
☆☆☆☆☆
把握好剩下的每一天,
評分
☆☆☆☆☆
Thank you very much for the excellent service
評分
☆☆☆☆☆
provided by Jingdong mall,and it is very good to do
評分
☆☆☆☆☆
同事推薦的,適閤剛剛接觸Linux係統的人
評分
☆☆☆☆☆
寶貝收到啦,挺滿意的,這麼厚一大本,學計算機必備,京東次日達,非常滿意,書完好無損,滿意!
評分
☆☆☆☆☆
so in a timely manner,distribution staff is
類似圖書 點擊查看全場最低價
深入Linux內核架構 [Professional Linux Kernel Architecture] pdf epub mobi txt 電子書 下載