本書選取了Linux核心的資源管理(CPU、記憶體、進程等)、檔案系統、網路、虛擬化、省電、調試、概要分析、追蹤、核心調整等核心主題進行了深入剖析和講解,總結出了75個能使讀者深刻理解Linux核心精髓的技巧和最佳實踐。
基本介紹
- 作者:Munehiro IKEDA
- 譯者:楊婷
- ISBN:9787111410492
- 頁數:424
- 定價:79.00元
- 出版社:機械工業出版社華章公司
- 出版時間:2013-3-1
- 裝幀:平裝
- 副標題:精通Linux核心必會的75個絕技
- 原作名:Linux Kernel Hacks
內容介紹,作者介紹,作品目錄,
內容介紹
經過近20年的發展,Linux作業系統已經成為當今最成功的開源軟體之一,使用廣泛,影響深遠。隨著Linux作業系統功能的不斷豐富和完善,Linux核心的原始碼也從最初的幾萬行增加到如今的數百萬行,龐大無比,對於Linux核心的研究者和開發者而言,要系統研究Linux核心絕非易事。
作者介紹
主編簡介
高橋 浩和(Hirokazu Takahashi),畢業於北海道大學電子工學系。從VAX全盛時代開始致力於各種UNIX系列作業系統的功能強化和核心調整,以及大規模系統的實時作業系統的設計等。以ISP的伺服器構建為契機,開始正式研究Linux。
作者簡介
池田 宗廣(Munehiro IKEDA),大學時代,親眼看到X68000的gcc生成比主流編譯器還要快好幾倍的代碼,因此開始確信免費軟體/開源軟體的可能性。此後,在歷經咖啡店店員、生產技術人員、硬體工程師後,終於開始從事Linux核心開發。這個行業最吸引人的就是能夠跨公司甚至跨國界與世界最優秀的技術人員進行交流。現居住在美國,愛好音樂演奏,當過鼓手,也當過主唱,最近幾年一直在彈貝斯。不管是作為技術人員還是貝斯手都喜歡做幕後工作,只不過天生就不喜歡半途而廢。
大岩 尚宏(Naohiro Ooiwa),任職於Miracle Linux株式會社的軟體工程師。大學時研究的是類似手機這樣使用天線接收無線高頻信號的模擬線路。從事Linux開發工作的時候開始深入研究軟體。他是《Debug Hacks》的作者,本書是O扲EILLY JAPAN的第二本Hacks系列圖書。
島本 裕志(Hiroshi Shimamoto),軟體工程師。負責問題分析和調試。主要工作就是在出現故障時,根據日誌和核心轉儲找出問題所在。因此在工作中會經常用到二進制和CPU運行的知識。同時也在論壇中從事過一些關於x86架構和調度程式的活動。目前關注虛擬化方面的活動。
竹部 晶雄(Akio Takebe),在Xen、KVM等與虛擬化相關的開源論壇參與開發活動。主要負責IA64架構、RAS系列和PCI pass through的開發。在開源論壇認識了專門研究省電技術的工程師,從而開始對省電方面產生興趣。現在正使用Ruby on Rails開發雲計算相關軟體。
平松 雅巳(Masami Hiramatsu),Linux核心追蹤的相關維護人員。主要工作是對perf和ftrace的動態事件進行維護。也參與了SystemTap的開發,最近熱衷於將系統SystemTap的用途從專門用於追蹤擴展到遊戲編程等。主要使用的是bash和vim,但是因為bash不能用hjkl移動游標,總的來說屬於vim用戶。喜歡使用Ubuntu和Fedora。現在的研究方向是ARM Linux、Btrfs等。
撰稿人簡介
畑山 大輔(HATAYAMA Daisuke),crash gcore擴展模組的維護人員。對調試和故障分析感興趣。最喜歡做的事情就是從元數據對系統進行研究。正在努力練習馬拉松長跑,爭取在搞技術的同時鍛鍊出健康的體魄。近期目標是四小時內跑完馬拉松。
藤田 朗(Akira Fujita),任職於NEC軟體東北株式會社。擔任軟體工程師。大學畢業之後開始轉向軟體行業。喜歡Linux檔案系統(ext3/ext4)。喜歡defrag,愛好五人足球。
作品目錄
編者與作者介紹
主編致辭
前言
第1章 核心入門1
HACK #1 如何獲取Linux核心1
HACK #2 如何編譯Linux核心7
HACK #3 如何編寫核心模組18
HACK #4 如何使用Git22
HACK #5 使用checkpatch.pl檢查補丁的格式41
HACK #6 使用localmodconfig縮短編譯時間44
第2章 資源管理47
HACK #7 Cgroup、Namespace、Linux容器47
HACK #8 調度策略55
HACK #9 RT Group Scheduling 與RT Throttling59
HACK #10 Fair Group Scheduling62
HACK #11cpuset65
HACK #12 使用Memory Cgroup限制記憶體使用量68
HACK #13 使用Block I/O控制器設定I/O優先權74
HACK #14 虛擬存儲子系統的調整80
HACK #15 ramzswap85
HACK #16 OOM Killer的運行與結構91
第3章 檔案系統98
HACK #17 如何使用ext498
HACK #18 向ext4轉換101
HACK #19 ext4的調整104
HACK #20 使用fio進行I/O的基準測試111
HACK #21FUSE118
第4章 網路121
HACK #22 如何控制網路的頻寬121
HACK #23 TUN/TAP設備126
HACK #24 網橋設備129
HACK #25 VLAN133
HACK #26 bonding驅動程式136
HACK #27 Network Drop Monitor141
第5章 虛擬化147
HACK #28 如何使用Xen147
HACK #29 如何使用KVM153
HACK #30 如何不使用DVD安裝作業系統159
HACK #31 更改虛擬CPU分配方法,提高性能161
HACK #32 如何使用EPT提高客戶端作業系統的性能166
HACK #33 使用IOMMU提高客戶端作業系統運行速度173
HACK #34 使用IOMMU+SR-IOV提高客戶端作業系統速度183
HACK #35 SR-IOV頻寬控制187
HACK #36 使用KSM節約記憶體189
HACK #37 如何掛載客戶端作業系統的磁碟194
HACK #38 從客戶端作業系統識別虛擬機環境200
HACK #39 如何調試客戶端作業系統205
第6章 省電213
HACK #40 ACPI213
HACK #41 使用ACPI的 S狀態224
HACK #42 使用CPU省電(C、P狀態)226
HACK #43 PCI設備的熱插拔236
HACK #44 虛擬環境下的省電240
HACK #45 遠程管理機器的電源246
HACK #46 USB的電力管理251
HACK #47 顯示器的省電254
HACK #48 通過網路設備節省電能260
HACK #49 關閉鍵盤的LED來省電263
HACK #50 PowerTOP269
HACK #51 硬碟的省電276
第7章 調試282
HACK #52 SysRq鍵282
HACK #53 使用diskdump提取核心崩潰轉儲288
HACK #54 使用Kdump提取核心崩潰轉儲293
HACK #55 崩潰測試297
HACK #56 IPMI看門狗計時器299
HACK #57 NMI看門狗計時器305
HACK #58 soft lockup307
HACK #59 crash命令312
HACK #60 核心轉儲過濾器326
HACK #61 生成用戶模式進程的進程核心轉儲329
HACK #62 使用lockdep查找系統的死鎖335
HACK #63 檢測核心的記憶體泄漏341
第8章 概要分析與追蹤346
HACK #64 使用perf tools的概要分析(1)346
HACK #65 使用perf tools的概要分析(2)349
HACK #66 進行核心或進程的各種概要分析353
HACK #67 追蹤核心的函式調用360
HACK #68 ftrace的外掛程式追蹤器366
HACK #69 記錄核心的運行事件371
HACK #70 使用trace-cmd的核心追蹤378
HACK #71 將動態追蹤事件添加到核心中382
HACK #72 使用SystemTap進行核心追蹤388
HACK #73 使用SystemTap編寫對話型程式394
HACK #74 SystemTap腳本的重複利用399
HACK #75 運用SystemTap402
主編致辭
前言
第1章 核心入門1
HACK #1 如何獲取Linux核心1
HACK #2 如何編譯Linux核心7
HACK #3 如何編寫核心模組18
HACK #4 如何使用Git22
HACK #5 使用checkpatch.pl檢查補丁的格式41
HACK #6 使用localmodconfig縮短編譯時間44
第2章 資源管理47
HACK #7 Cgroup、Namespace、Linux容器47
HACK #8 調度策略55
HACK #9 RT Group Scheduling 與RT Throttling59
HACK #10 Fair Group Scheduling62
HACK #11cpuset65
HACK #12 使用Memory Cgroup限制記憶體使用量68
HACK #13 使用Block I/O控制器設定I/O優先權74
HACK #14 虛擬存儲子系統的調整80
HACK #15 ramzswap85
HACK #16 OOM Killer的運行與結構91
第3章 檔案系統98
HACK #17 如何使用ext498
HACK #18 向ext4轉換101
HACK #19 ext4的調整104
HACK #20 使用fio進行I/O的基準測試111
HACK #21FUSE118
第4章 網路121
HACK #22 如何控制網路的頻寬121
HACK #23 TUN/TAP設備126
HACK #24 網橋設備129
HACK #25 VLAN133
HACK #26 bonding驅動程式136
HACK #27 Network Drop Monitor141
第5章 虛擬化147
HACK #28 如何使用Xen147
HACK #29 如何使用KVM153
HACK #30 如何不使用DVD安裝作業系統159
HACK #31 更改虛擬CPU分配方法,提高性能161
HACK #32 如何使用EPT提高客戶端作業系統的性能166
HACK #33 使用IOMMU提高客戶端作業系統運行速度173
HACK #34 使用IOMMU+SR-IOV提高客戶端作業系統速度183
HACK #35 SR-IOV頻寬控制187
HACK #36 使用KSM節約記憶體189
HACK #37 如何掛載客戶端作業系統的磁碟194
HACK #38 從客戶端作業系統識別虛擬機環境200
HACK #39 如何調試客戶端作業系統205
第6章 省電213
HACK #40 ACPI213
HACK #41 使用ACPI的 S狀態224
HACK #42 使用CPU省電(C、P狀態)226
HACK #43 PCI設備的熱插拔236
HACK #44 虛擬環境下的省電240
HACK #45 遠程管理機器的電源246
HACK #46 USB的電力管理251
HACK #47 顯示器的省電254
HACK #48 通過網路設備節省電能260
HACK #49 關閉鍵盤的LED來省電263
HACK #50 PowerTOP269
HACK #51 硬碟的省電276
第7章 調試282
HACK #52 SysRq鍵282
HACK #53 使用diskdump提取核心崩潰轉儲288
HACK #54 使用Kdump提取核心崩潰轉儲293
HACK #55 崩潰測試297
HACK #56 IPMI看門狗計時器299
HACK #57 NMI看門狗計時器305
HACK #58 soft lockup307
HACK #59 crash命令312
HACK #60 核心轉儲過濾器326
HACK #61 生成用戶模式進程的進程核心轉儲329
HACK #62 使用lockdep查找系統的死鎖335
HACK #63 檢測核心的記憶體泄漏341
第8章 概要分析與追蹤346
HACK #64 使用perf tools的概要分析(1)346
HACK #65 使用perf tools的概要分析(2)349
HACK #66 進行核心或進程的各種概要分析353
HACK #67 追蹤核心的函式調用360
HACK #68 ftrace的外掛程式追蹤器366
HACK #69 記錄核心的運行事件371
HACK #70 使用trace-cmd的核心追蹤378
HACK #71 將動態追蹤事件添加到核心中382
HACK #72 使用SystemTap進行核心追蹤388
HACK #73 使用SystemTap編寫對話型程式394
HACK #74 SystemTap腳本的重複利用399
HACK #75 運用SystemTap402