亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ARM Linux內(nèi)核源碼剖析 尹錫訓著 完整版PDF(帶書簽目錄)

ARM Linux內(nèi)核源碼剖析

  • 書籍大小:101MB
  • 書籍語言:簡體中文
  • 書籍類型:國產(chǎn)軟件
  • 書籍授權(quán):免費軟件
  • 書籍類別:Linux_unix
  • 應用平臺:PDF
  • 更新時間:2017-11-24
  • 購買鏈接:
  • 網(wǎng)友評分:
360通過 騰訊通過 金山通過

情介紹

《ARM Linux內(nèi)核源碼剖析》是多位作者在3年Liunx內(nèi)核分析經(jīng)驗和龐大資料基礎上寫成的,收錄了其他同類書未曾講解的內(nèi)容并進行逐行分析,一掃當前市場中其他理論書帶給讀者的郁悶。書中詳細的代碼分析與大量插圖能夠使讀者對Linux內(nèi)核及ARM獲得正確認識,自然而然習得如何有效分析定期發(fā)布的Linux內(nèi)核。

《ARM Linux內(nèi)核源碼剖析》適合想從Linux內(nèi)核啟動開始透徹分析全部啟動過程的讀者,因Linux代碼量龐大而束手無策的人、想要了解Linux實際運行過程的人、渴求OS實操理論的人,本書必將成為他們不可或缺的參考書。

目錄
第一部分 ARMLinux內(nèi)核——分析內(nèi)核前需要做的準備
  第1章 內(nèi)核介紹及2.6版和3.2版之間的差異 2
  1.1 內(nèi)核的誕生、作用以及內(nèi)部結(jié)構(gòu) 2
  1.1.1 Linus創(chuàng)造的Linux 2
  1.1.2 由多種子系統(tǒng)集成運行的單內(nèi)核 3
  1.1.3 全世界最著名的通用操作系統(tǒng) 5
  1.2 內(nèi)核2.6版和3.2版之間的差異 5
  第2章 內(nèi)核構(gòu)建系統(tǒng) 8
  2.1 內(nèi)核初始化 8
  2.2 內(nèi)核配置 9
  2.3 內(nèi)核構(gòu)建 11
  2.4 內(nèi)核安裝 17
  第3章 了解ARM處理器 19
  3.1 處理器概要和特征 19
  3.2 處理器架構(gòu)與核心 19
  3.3 處理器命名規(guī)則 21
  3.4 處理器內(nèi)部結(jié)構(gòu) 21
  3.5 處理器模式和寄存器 23
  3.6 處理器異常 25
  3.7 硬件擴展功能 26
  3.7.1 緩存 26
  3.7.2 內(nèi)存管理裝置 26
  3.7.3 協(xié)處理器 26
  第4章 構(gòu)建分析環(huán)境 28
  4.1 下載并安裝Linux源內(nèi)核 28
  4.1.1 下載源內(nèi)核 28
  4.1.2 安裝源內(nèi)核 30
  4.2 安裝ctags+cscope 31
  4.2.1 用ctags制作源代碼標簽 31
  4.2.2 制作cscope標簽數(shù)據(jù)庫 33
  4.3 vim插件下載及環(huán)境設置 34
  4.3.1 下載vim插件 34
  4.3.2 vim+plugin的環(huán)境結(jié)構(gòu) 37
  4.3.3 vim環(huán)境設置 38
  4.4 查看源碼分析環(huán)境工具 40
  第二部分 內(nèi)核的啟動——start_kernel調(diào)用方法
  第5章 準備解壓內(nèi)核 48
  5.1 進入啟動加載后結(jié)束首個啟動——start標簽 49
  5.2 BSS系統(tǒng)域初始化——not_relocated標簽 50
  5.3 激活緩存——cache_on標簽 53
  5.4 頁目錄項初始化——__setup_mmu標簽 56
  5.5 指令緩存激活及緩存策略適用——__common_mmu_cache_on標簽 58
  第6章 從壓縮的內(nèi)核zImage還原內(nèi)核映像 60
  6.1 解壓內(nèi)核并避免覆寫——wont_overwrite、decompress_kernel標簽 61
  6.2 調(diào)用已解壓內(nèi)核——call_kernel標簽 62
  6.3 緩存清理及清除——cache_clean_flush標簽 62
  6.4 緩存禁用——cache_off標簽 64
  第7章 調(diào)用start_kernel() 65
  7.1 初始化指向——stext標簽 65
  7.2 處理器信息搜尋——__look_processor_type 69
  7.2.1 __lookup_processor_type標簽 69
  7.2.2 __proc_info_begin和__proc_info_end中保存的信息 71
  7.2.3 在MMU禁用狀態(tài)下將虛擬地址轉(zhuǎn)換為物理地址 73
  7.2.4 查找proc_info_list結(jié)構(gòu)體并比較處理器信息 74
  7.3 搜尋我的機型——__lookup_machine_type 75
  7.3.1 __lookup_machine_type標簽 75
  7.3.2 保存在__arch_info_begin和__arch_info_end中的machine_desc信息及訪問路徑 76
  7.3.3 查找machine_desc結(jié)構(gòu)體并比較機器信息 77
  7.4 源自啟動加載項的atags——__vet_atags標簽 78
  7.5 對虛擬內(nèi)存進行基礎創(chuàng)建——__create_page_tables標簽 81
  7.6 設置核心(core)——v6_setup標簽 85
  7.7 打開MMU并使用虛擬地址——__enable_mmu/__turn_mmu_on標簽 86
  7.8 跳轉(zhuǎn)至start_kernel——__mmap_switched標簽 90
  第三部分 內(nèi)核的執(zhí)行——內(nèi)核的起始與結(jié)束位置
  第8章 start_setup_processor_id()~~lock_kernel() 94
  8.1 smp_setup_processor_id()、lockdep_init()、debug_objects_early_init() 95
  8.1.1 smp_setup_processor_id() 95
  8.1.2 lockdep_init() 95
  8.1.3 debug_objects_early_init() 96
  8.2 棧溢出感應——__boot_init_stack_canary 98
  8.3 初始化提供進程集成方法的cgroup——__cgroup_init_early() 98
  8.3.1 cgroupfs_root和cgroup的關聯(lián)初始化——init_cgroup_root() 102
  8.3.2 初始化子系統(tǒng)——cgroup_init_subsys() 103
  8.4 禁用IRQ 104
  8.5 early_boot_irqs_off()、early_init_irq_lock_class() 104
  8.6 大內(nèi)核鎖——lock_kernel() 106
  第9章 注冊針對時鐘事件的處理器 111
  9.1 函數(shù)的聲明和定義——tick_init() 111
  9.2 注冊處理事件的處理器——_clockevents_register_notifier() 113
  9.2.1 為clockevents_lock添加自旋鎖 114
  9.2.2 clockevents_chain生成原理 115
  9.2.3 在clockevents_chain中注冊tick_notifier的方法 116
  9.2.4 對clockevents_lock解除自旋鎖的原理 117
  第10章 在CPU位圖中注冊當前運行CPU/初始化HIGHMEM管理 119
  10.1 在包含熱插拔信息的位圖上添加執(zhí)行init_task的CPU——boot_cpu_init() 119
  10.2 管理高端內(nèi)存——page_address_init() 121
  第11章 整體指向——setup_arch 123
  第12章 unwind_init()~~early_trap_init() 126
  12.1 棧回溯——unwind_init() 126
  12.2 求出包含機器信息的machine_desc結(jié)構(gòu)體——setup_machine() 126
  12.3 處理ATAG信息——setup_arch() 127
  12.4 處理啟動參數(shù)——parse_cmdline() 129
  12.5 構(gòu)建源代碼樹——request_standard_resources() 131
  12.6 初始化cpupossible位圖——smp_init_cpus() 136
  12.7 用棧指定各ARM異常模式——cpu_init() 137
  12.8 初始化以處理異常——early_trap_init() 138
  12.9 查看中斷處理器函數(shù) 143
  12.9.1 調(diào)用IRQ處理器——asm_do_IRQ() 147
  12.9.2 返回中斷之前——ret_to_user標簽 147
  第13章 設置處理器——setup_processor() 150
  13.1 查看setup_processor()結(jié)構(gòu) 150
  13.2 查找CPUID——read_cpuid_id() 151
  13.3 查找處理器信息——lookup_processor_type() 153
  13.4 查找處理器結(jié)構(gòu)信息——cpu_architecture() 153
  13.5 查找處理器緩存類型_cacheid_init() 156
  13.6 調(diào)用處理器初始化函數(shù)——cpu_proc_init() 160
  第14章 準備內(nèi)存分頁——paging_init() 163
  14.1 查看paging_init()的整體結(jié)構(gòu) 163
  14.2 設置內(nèi)存類型表——build_mem_type_table() 165
  14.3 檢驗內(nèi)存信息——sanity_check_meminfo() 166
  14.4 準備頁表——prepare_page_table() 168
  14.4.1 prepare_page_table() 168
  14.4.2 Linux的分頁結(jié)構(gòu) 170
  14.4.3 求出頁目錄項 170
  14.4.4 pmd_clear() 172
  14.5 設備區(qū)域映射準備——devicemaps_init() 174
  14.6 準備使用高端內(nèi)存——kmap_init() 177
  14.7 初始化零頁 178
  14.7.1 分配內(nèi)存——__alloc_bootmem_nopanic() 179
  14.7.2 在指定節(jié)點使用fallback分配內(nèi)存——alloc_bootmem_core 180
  14.7.3 將虛擬地址變換為page結(jié)構(gòu)體——virt_to_page 182
  14.8 保持數(shù)據(jù)緩存一致性——flush_dcache_page() 182
  第15章 在啟動時初始化內(nèi)存分配器 184
  15.1 bootmem函數(shù)流和數(shù)據(jù)結(jié)構(gòu) 185
  15.2 查看bootmem_init()結(jié)構(gòu) 188
  15.3 查找虛擬內(nèi)存盤位置——check_initrd() 189
  15.4 將節(jié)點的BANK信息反映到頁目錄——bootmem_init_node() 191
  15.4.1 map_memory_bank() 192
  15.4.2 bootmem_bootmap_pages() 195
  15.4.3 find_bootmap_pfn() 196
  15.4.4 node_set_online() 197
  15.4.5 NODE_DATA宏 198
  15.4.6 init_bootmem_node() 200
  15.4.7 free_bootmem_node() 202
  15.4.8 reserve_bootmem_node() 202
  15.5 排除0號節(jié)點——reserve_node_zero() 203
  15.6 排除虛擬內(nèi)存盤節(jié)點——bootmem_reserve_initrd() 204
  15.7 設置為無可用頁——bootmem_free_node() 205
  15.8 初始化free_area區(qū)域 207
  15.8.1 free_area結(jié)構(gòu)體 207
  15.8.2 free_area_init_node() 208
  15.8.3 free_area_init_core() 209
  15.8.4 init_currently_empty_zone() 211
  15.8.5 memmap_init() 212
  第16章 mm_init_owner()~~preempt_disable() 217
  第17章 構(gòu)建借用內(nèi)存的后臺 233
  第18章 page_alloc_init()~~pidhash_init() 253
  第19章 init_timers()~~page_cgroup_init() 273
  第20章 終止bootmem分配器并替換為伙伴系統(tǒng) 297
  第21章 初始化以支持CPU熱插拔 315
  第22章 激活slab內(nèi)存分配器——kmem_cache_init() 318
  第23章 kmem_trace_init()~~security_init() 344
  第24章 初始化VFS中使用的多種緩存——vfs_cache_init() 367
  第25章 radix_tree_init()~~ftrace_init() 382
  第26章 同步內(nèi)存與后備存儲——pagewriteback 394
  第27章 查看啟動內(nèi)核的最終函數(shù)結(jié)構(gòu)——rest_init() 405
  第28章 生成執(zhí)行函數(shù)的內(nèi)核線程——kernel_thread() 407
  第29章 喚醒新生成的任務 419
  第30章 準備使用內(nèi)核 426
  第31章 內(nèi)核線程守護進程 453
  第32章 find_task_by_pid_ns()~~cpu_idle() 469
  附錄
  附錄A 匯編語言、gas關鍵詞總結(jié) 480
  附錄B 內(nèi)核分析常見API 485
  附錄C 淺談ext2文件系統(tǒng) 487
  附錄D Linux線程模型 497
  附錄E 鏈接器腳本文件結(jié)構(gòu) 500
  后記 510
  索引 513

載地址

下載錯誤?【投訴報錯】

ARM Linux內(nèi)核源碼剖析 尹錫訓著 完整版PDF(帶書簽目錄)

      氣書籍

      載聲明

      ☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
      ☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
      ☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
      ☉ 本站提供的ARM Linux內(nèi)核源碼剖析 尹錫訓著 完整版PDF(帶書簽目錄)資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。