複製鏈接
請複製以下鏈接發送給好友

獨闢蹊徑品內核:Linux內核源代碼導讀

鎖定
《獨闢蹊徑品內核:Linux內核源代碼導讀》是2009年8月電子工業出版社出版的圖書,作者是李雲華。 [1] 
中文名
獨闢蹊徑品內核:Linux內核源代碼導讀
作    者
李雲華
出版社
電子工業出版社
出版時間
2009年08月01日
頁    數
482 頁
開    本
16 開
裝    幀
平裝
ISBN
9787121085154

目錄

獨闢蹊徑品內核:Linux內核源代碼導讀內容簡介

本書根據最新的2.6.24內核為基礎。在講述方式上,本書注重實例分析,儘量在討論“如何做”的基礎上,深入討論為什麼要這麼做,從而實現本書的寫作宗旨:“授人以漁”。在內容安排上,本書包含以下章節x86硬件基礎;基礎知識;Linux內核Makefile分析;Linux內核啓動;內存管理;中斷和異常處理;系統調用;信號機制在類UNIX系統中;時鐘機制;進程管理;調度器;文件系統;常用內核分析方法。.
本書適合初、中級Linux用户、從事內核相關開發的從業人員,也可以作為各類院校相關專業的教材及Linux培訓班的教材,也可作為Linux內核學習的專業參考書。... [1] 

獨闢蹊徑品內核:Linux內核源代碼導讀目錄

第1章 x86硬件基礎1
1.1 保護模式1
1.1.1 分頁機制1
1.1.2 分段機制7
1.2 系統門13
1.3 x86的寄存器14
1.4 典型的PC系統結構簡介16
第2章 基礎知識18
2.1 AT&T與Intel彙編語法比較18
2.2 gcc內嵌彙編20
2.3 同步與互斥25
2.3.1 原子操作25
2.3.2 信號量27
2.3.3 自旋鎖29
2.3.4 RCU機制35
2.3.5 percpu變量39
2.4 內存屏障41
2.4.1 編譯器引起的內存屏障41
2.4.2 緩存引起的內存屏障44
2.4.3 亂序執行引起的內存屏障47
2.5 高級語言的函數調用規範49
第3章 Linux內核Makefile分析52
3.1 Linux內核編譯概述52
3.2 內核編譯過程分析54
3.3 內核鏈接腳本分析62
第4章 Linux內核啓動65
4.1 BIOS啓動階段65
4.2 實模式setup階段67
4.3 保護模式startup_3277
4.4 內核啓動start_kernel()84
4.5 內核啓動時的參數傳遞90
4.5.1 內核參數處理91
4.5.2 模塊參數處理95
第5章 內存管理99
5.1 內存地址空間99
5.1.1 物理內存地址空間99
5.1.2 虛擬地址空間101
5.2 內存管理的基本數據結構104
5.2.1 物理內存頁面描述符104
5.2.2 內存管理區106
5.2.3 非一致性內存管理108
5.3 內存管理初始化109
5.3.1 bootmemalloctor的初始化109
5.3.2 頁表初始化115
5.3.3 內存管理結構的初始化118
5.4 內存的分配與回收127
5.4.1 夥伴算法127
5.4.2 SLUB分配器138
第6章 中斷與異常處理152
6.1 中斷的分類152
6.2 中斷的初始化156
6.2.1 異常初始化156
6.2.2 中斷的初始化160
6.2.3 中斷請求服務隊列的初始化167
6.3 中斷與異常處理171
6.3.1 特權轉換與堆棧變化171
6.3.2 中斷處理172
6.3.3 異常處理177
6.4 軟件中斷與延遲函數180
6.4.1 softirq180
6.4.2 tasklet185
6.5 中斷與異常返回187
6.6 中斷優先級回顧191
6.7 關於高級可編程中斷控制器192
6.7.1 APIC初始化193
第7章 信號機制199
7.1 信號機制的管理結構200
7.2 信號發送204
7.3 信號處理210
第8章 系統調用220
8.1 Libc和系統調用220
第9章 時鐘機制226
9.1 clocksource對象227
9.1.1 clocksource概述227
9.1.2 clocksource初始化228
9.2 tickless機制232
9.2.1 tickless由來232
9.2.2 clockeventdevice對象概述234
9.2.3 clockeventdevice對象的初始化236
9.3 High-ResolutionTimers247
9.3.1 High-ResolutionTimers管理結構247
9.3.2 High-ResolutionTimers初始化252
9.3.3 High-ResolutionTimers操作258
9.4 時鐘中斷處理268
9.4.1 時鐘維護276
9.4.2 進程時間信息統計281
9.5 軟件定時器283
9.5.1 基本管理結構283
9.5.2 初始化284
9.5.3 註冊與過期處理287
第10章 進程管理295
10.1 進程描述符296
10.1.1 進程狀態297
10.1.2 進程標識299
10.1.3 進程的親緣關係300
10.1.4 進程的內核態堆棧301
10.1.5 進程的虛擬內存佈局302
10.1.6 進程的文件信息305
10.2 進程的建立306
10.2.1 建立子進程的task_struct對象308
10.2.2 子進程的內存區域315
10.2.3 子進程的內核態堆棧323
10.2.4 0號進程的建立325
10.3 進程切換327
10.4 進程的退出331
10.4.1 do_exit函數331
10.4.2 task_struct結構的刪除334
10.4.3 通知父進程335
10.5 do_wait()函數338
10.6 程序的加載344
第11章 調度器351
11.1 早期的調度器351
11.2 CFS調度器的虛擬時鐘353
11.3 CFS調度器的基本管理結構357
11.4 CFS調度器對象359
11.5 CFS調度操作360
11.5.1 update_curr()函數360
11.5.2 scheduler_tick()函數362
11.5.3 put_prev_task_fair()函數364
11.5.4 pick_next_task()函數366
11.5.5 等待和喚醒操作368
11.5.6 nice系統調用373
第12章 文件系統376
12.1 Ext2的磁盤結構376
12.2 Ext2的內存結構385
12.3 虛擬文件系統的管理結構387
12.3.1 文件系統對象388
12.3.2 VFS的超級塊389
12.3.3 VFS的inode結構400
12.3.4 VFS的文件對象406
12.3.5 VFS的目錄對象409
12.3.6 VFS在進程中的文件結構412
12.4 文件系統的掛載413
12.5 路徑定位425
12.6 文件打開與關閉441
12.7 文件讀寫449
12.7.1 緩衝區管理449
12.7.2 文件讀寫操作分析456
第13章 常用內核分析方法471
13.1 準確定位同名宏及結構體471
13.2 準確定位同名函數473
13.3 利用linkmap文件定位全局變量474
13.4 準確定位函數調用線索476
13.5 SystemTap在代碼分析中的使用479
參考資料