发表于2024-11-22
奔跑吧 Linux內核 pdf epub mobi txt 電子書 下載 2024
1.基於Linux 4.x內核
2.Linux內核奔跑捲,提高讀者興趣,方便麵試人員復習。
3.以實際問題為導嚮的內核分析書籍,給讀者提供一個以解決實際問題為引導的閱讀方式。
4.基於Linux 4.x內核和Android 7.x內核
5.基於ARM32/ARM64體係架構
6.內容詳實,講解深入透徹,反映內核社區技術發展
7.新型黑科技:EAS調度器、MCS鎖、QSpinlock、DirtyCOW
本書內容基於Linux4.x內核,主要選取瞭Linux內核中比較基本和常用的內存管理、進程管理、並發與同步,以及中斷管理這4個內核模塊進行講述。全書共分為6章,依次介紹瞭ARM體係結構、Linux內存管理、進程調度管理、並發與同步、中斷管理、內核調試技巧等內容。本書的每節內容都是一個Linux內核的話題或者技術點,讀者可以根據每小節前的問題進行思考,進而圍繞問題進行內核源代碼的分析。
本書內容豐富,講解清晰透徹,不僅適閤有一定Linux相關基礎的人員,包括從事與Linux相關的開發人員、操作係統的研究人員、嵌入式開發人員及Android底層開發人員等學習和使用,而且適閤作為對Linux感興趣的程序員的學習用書,也可以作為大專院校相關專業師生的學習用書和培訓學校的教材。
張天飛,筆名“笨叔叔”。Linux內核愛好者,從事Linux內核和驅動開發十餘年,在多傢芯片公司從事過手機芯片底層軟件開發和客戶支持工作。
在參加2017年北京舉辦的LinuxCon大會期間遇到瞭張天飛,瞭解到他正在寫作一本《奔跑吧Linux內核》新書。迴來後讀瞭本書的樣章,其問答方式的寫作手法構思巧妙;以工程實踐經驗為基礎,讓讀者把知識活學活用的創意也頗有特色。書名也很吸睛,《奔跑吧Linux 內核》這個書名,源於作者每天堅持奔跑5公裏,而且該書作者打算跟隨Linux 內核版本的演變不斷地更新本書。也希望讀者跟隨本書,堅持學習Linux內核不動搖。
—陳莉君 西安郵電大學
Linux是一個應用非常廣泛的、成熟的操作係統。Linux內核是整個Linux的基礎和核心,包括從存儲管理、CPU和進程管理、文件係統、設備管理和驅動、網絡通信到係統引導、係統調用等內容,非常值得搞嵌入式、物聯網、機器人、智能硬件、VR/AR等領域需要軟硬件協同開發設計的工程師們深入研究。此書就是以Linux為例,詳盡闡述瞭原本枯燥的操作係統的方方麵麵的知識,是一本很好的從知曉到熟悉Linux的進階學習讀物。
張天飛是12年前和我在上海億道的同事,非常熱愛底層技術探究。直到現在還能夠靜下心來做些底層研究的同誌不多,希望他可以不斷分享多年學習心得和從業經驗給廣大Linux學習者。加油!
—石慶 億道控股Emdoor聯閤創始人&億境虛擬現實技術有限公司總經理
Linux內核與我們的生活息息相關,從手機、平闆電腦、服務器、汽車到智能傢電,都能看到它的身影。長久以來,一直沒有一部深入淺齣介紹整個Linux內核的中文書。英文書很多也是稍顯過時,因為內核的變化是如此之快。很高興看到有這樣的一本書齣版,把新的內核與內核設計及一些重要變更的原因呈現齣來,讓內核不再是一個黑盒子。這對任何要做性能優化、開發驅動程序,甚至直接修改內核的人來說是一大福音。
—Tim Chen Linux內核資深技術專傢
這是一本深入講解基於ARM Cortex-A處理器在服務器和智能設備上運行Linux係統的書,可以幫助讀者理解硬件如何與底層Linux內核交互,對Linux內核愛好者和Platform/BSP軟件開發者係統學習工作很有益。
—修誌龍 ARM公司應用工程師經理
對於安卓智能手機底層係統研發人員來說,本書有如一場及時雨,不僅在全球範圍內首次解讀新的ARM64體係架構和Linux 4.x內核,還及時呈現瞭與智能手機係統用戶體驗密切相關的內核新技術,比如EAS調度器。本書作者攜十餘年的Linux內核和驅動開發經驗,傾情奉獻,誠意滿滿,推薦細細品讀、慢慢揣摩!
—吳章金 魅族手機研發中心BSP部技術總監
本書的形式設計非常巧妙,它采用一種啓發問答的形式,這樣容易讓讀者帶著問題去閱讀,並可以直接用迴答問題來驗證閱讀的效果。本書的另外一個特點是內容新,能夠緊扣內核的新變化。
—宋寶華 Linux內核資深技術專傢,技術暢銷書作者
這是一本Linux操作係統工匠的力作,作者站在Linux操作係統前沿,以情景分析的方法嚮我們展示瞭新版本內核的秘密。與所有深入講解內核代碼的書籍一樣,本書同樣值得讀者反復推敲、仔細琢磨。如果你在閱讀本書的過程中有更好的建議和意見,請告訴所有人。畢竟,開源社區是集市,而不是教堂。
—謝寶友 中國開源軟件推進聯盟專傢委員,Linux ZTE平颱維護者
在軟件定義一切的時代,作為開源世界重要基石的Linux變得越發重要,掌握堅實的Linux內核知識幾乎是軟、硬件工程師進階所必須的。本書作者采用交互問答的方式,將新Linux內核抽絲剝繭,依次呈現給讀者,既適閤初、中級開發人員係統學習,也適閤高級開發人員隨時參閱,強力推薦!
—段夕華 IT老兵,開源技術愛好者
伴隨計算機層次化體係結構的更迭,操作係統、編譯係統和數據庫作為IT、互聯網及物聯網的基石,多年來不斷演進。而Linux內核自1991年發起至今,集數萬人智慧結晶,承上啓下,早已成為學術界與工業界協作與創新的重要平颱。本書作者從事Linux內核研發多年,勤於總結,故能將其脈絡梳理詳略得當,恰到好處。希望本書會讓您踏上一次愉悅的內核之旅,不虛此行。
—劉傑 百度主任研發架構師,Linux內核資深技術專傢,XFS文件係統核心開發者
學習Linux內核的第一手材料必然是代碼,但是單純研讀代碼猶如盲人摸象,容易迷失方嚮。本書立足於代碼分析,輔以大量的子係統的概觀,並以啓發式問題為綫索,讓你在Linux內核的世界遊刃有餘、得心應手。
—賴江山 Linux內核SRCU模塊的維護者
大數據與人工智能的發展方興未艾,遮掩瞭TMT底層基礎設施應有的光芒。Linux從1991年至今,廿年有餘,曆經瞭起初的前衛與今日的普及,每一個年代依然在演繹著新的故事。輝煌之餘,略有遺憾,近些年全球鮮有書籍對Linux 4.x時代進行係統的梳理,本書彌補瞭這一遺憾,在此嚮緻力於底層基礎架構領域的讀者推薦此書。
—王齊《Linux PowerPC詳解—核心篇》和《PCI Express體係結構導讀》作者
毫無疑問,ARM平颱是目前使廣泛的計算機平颱,也是Linux係統應廣泛的平颱,這本基於ARM的Linux Kernel 4.x內核分析來得恰是時候。本書從ARM的係統硬件開始介紹,導齣基於這些硬件的內核軟件設計;從應用常見的係統調用開始,展開到在內核中如何實現這些係統調用,為中級層次讀者一一揭開Linux係統內核的麵紗。獨特的問答方式也為該書的一大亮點,即使是內核老手也能在閱讀中發現樂趣。希望此書能給國內廣大內核愛好者帶來歡樂和幫助!
—時奎亮 Linaro資深內核專傢
LINUX內核奔跑捲 1
第1章 處理器體係結構 4
本章思考題 4
第2章 內存管理 32
本章思考題 32
2.1 物理內存初始化 36
2.1.1 內存管理概述 36
2.1.2 內存大小 37
2.1.3 物理內存映射 38
2.1.4 zone初始化 40
2.1.5 空間劃分 44
2.1.6 物理內存初始化 45
2.2 頁錶的映射過程 51
2.2.1 ARM32頁錶映射 51
2.2.2 ARM64頁錶映射 60
2.3 內核內存的布局圖 67
2.3.1 ARM32內核內存布局圖 67
2.3.2 ARM64內核內存布局圖 70
2.4 分配物理頁麵 72
2.4.1 夥伴係統分配內存 72
2.4.2 釋放頁麵 85
2.4.3 小結 89
2.5 slab分配器 90
2.5.1 創建slab描述符 91
2.5.2 分配slab對象 103
2.5.3 釋放slab緩衝對象 108
2.5.4 kmalloc分配函數 111
2.5.5 小結 112
2.6 vmalloc 113
2.7 VMA操作 120
2.7.1 查找VMA 122
2.7.2 插入VMA 124
2.7.3 閤並VMA 129
2.7.4 紅黑樹例子 131
2.7.5 小結 133
2.8 malloc 133
2.8.1 brk實現 134
2.8.2 VM_LOCK情況 138
2.8.3 小結 148
2.9 mmap 150
2.9.1 mmap概述 151
2.9.2 小結 153
2.10 缺頁中斷處理 155
2.10.1 do_page_fault() 157
2.10.2 匿名頁麵缺頁中斷 165
2.10.3 文件映射缺頁中斷 169
2.10.4 寫時復製 175
2.10.5 小結 183
2.11 page引用計數 184
2.11.1 struct page數據結構 185
2.11.2 _count和_mapcount的區彆 188
2.11.3 頁麵鎖PG_Locked 192
2.11.4 小結 192
2.12 反嚮映射RMAP 192
2.12.1 父進程分配匿名頁麵 193
2.12.2 父進程創建子進程 198
2.12.3 子進程發生COW 200
2.12.4 RMAP應用 201
2.12.5 小結 202
2.13 迴收頁麵 204
2.13.1 LRU鏈錶 204
2.13.2 kswapd內核綫程 216
2.13.3 balance_pgdat函數 219
2.13.4 shrink_zone函數 228
2.13.5 shrink_active_list函數 233
2.13.6 shrink_inactive_list函數 238
2.13.7 跟蹤LRU活動情況 244
2.13.8 Refault Distance算法 244
2.13.9 小結 249
2.14 匿名頁麵生命周期 251
2.14.1 匿名頁麵的誕生 251
2.14.2 匿名頁麵的使用 252
2.14.3 匿名頁麵的換齣 252
2.14.4 匿名頁麵的換入 254
2.14.5 匿名頁麵銷毀 254
2.15 頁麵遷移 254
migrate_pages()函數 255
2.16 內存規整(memory compaction) 262
2.16.1 內存規整實現 263
2.16.2 小結 272
2.17 KSM 273
2.17.1 KSM實現 274
2.17.2 匿名頁麵和KSM頁麵的區彆 293
2.17.3 小結 294
2.18 Dirty COW內存漏洞 296
2.19 總結內存管理數據結構和API 309
2.19.1 內存管理數據結構的關係圖 309
2.19.2 內存管理中常用API 312
2.20 最新更新和展望 315
2.20.1 頁麵迴收策略從zone遷移到node 315
2.20.2 OOM Killer改進 316
2.20.3 swap優化 317
2.20.4 展望 318
第3章 進程管理 319
本章思考題 319
3.1 進程的誕生 320
3.1.1 init進程 321
3.1.2 fork 325
3.1.3 小結 344
3.2 CFS調度器 345
3.2.1 權重計算 346
3.2.2 進程創建 358
3.2.3 進程調度 369
3.2.4 scheduler tick 379
3.2.5 組調度 382
3.2.6 PELT算法改進 386
3.2.7 小結 387
3.3 SMP負載均衡 389
3.3.1 CPU域初始化 389
3.3.2 SMP負載均衡 401
3.3.3 喚醒進程 415
3.3.4 調試 421
3.3.5 小結 422
3.4 HMP調度器 422
3.4.1 初始化 423
3.4.2 HMP負載調度 425
3.4.3 新創建的進程 436
3.4.4 小結 437
3.5 NUMA調度器 438
3.5.1 node和page的關係 439
3.5.2 掃描進程 441
3.5.3 NUMA缺頁中斷 442
3.5.4 進程遷移 450
3.5.5 小結 455
3.6 EAS綠色節能調度器 457
3.6.1 能效模型 459
3.6.2 WALT算法 465
3.6.3 喚醒進程 480
3.6.4 CPU動態調頻 491
3.6.5 小結 494
3.7 實時調度 496
3.8 最新更新與展望 500
3.8.1 進程管理更新 500
3.8.2 展望 500
第4章 並發與同步 501
本章思考題 501
4.1 原子操作與內存屏障 503
4.1.1 原子操作 503
4.1.2 內存屏障 506
4.2 spinlock 508
4.2.1 spinlock實現 509
4.2.2 spinlock變種 511
4.2.3 spinlock和raw_spin_lock 512
4.3 信號量 513
4.3.1 信號量 513
4.3.2 小結 516
4.4 Mutex互斥體 517
4.4.1 MCS鎖機製 518
4.4.2 Mutex鎖的實現 525
4.4.3 小結 531
4.5 讀寫鎖 531
4.5.1 讀者信號量 532
4.5.2 寫者鎖 538
4.5.3 小結 544
4.6 RCU 544
4.6.1 經典RCU和Tree RCU 547
4.6.2 Tree RCU設計 551
4.6.3 小結 573
4.7 內存管理中的鎖 574
4.8 最新更新與展望 584
4.8.1 Queued Spinlock 584
4.8.2 讀寫信號量優化 591
4.8.3 展望 592
4.8.4 推薦書籍 593
第5章 中斷管理 594
本章思考題 594
5.1 Linux中斷管理機製 595
5.1.1 ARM中斷控製器 595
5.1.2 硬件中斷號和Linux中斷號的映射 599
5.1.3 注冊中斷 610
5.1.4 ARM底層中斷處理 618
5.1.5 高層中斷處理 626
5.1.6 小結 636
5.2 軟中斷和tasklet 637
5.2.1 SoftIRQ軟中斷 638
5.2.2 tasklet 642
5.2.3 local_bh_disable/local_bh_enable 647
5.2.4 小結 649
5.3 workqueue工作隊列 650
5.3.1 初始化工作隊列 652
5.3.2 創建工作隊列 659
5.3.3 調度一個work 665
5.3.4 取消一個work 675
5.3.5 和調度器的交互 680
5.3.6 小結 682
第6章 內核調試 684
6.1 QEMU調試Linux內核 684
6.1.1 QEMU運行ARM Linux內核 684
6.1.2 QEMU調試ARM Linux內核 687
6.1.3 QEMU運行ARMv8開發平颱 688
6.1.4 文件係統支持 690
6.1.5 圖形化調試 691
6.1.6 實驗進階 693
6.2 ftrace 694
6.2.1 irqs跟蹤器 奔跑吧 Linux內核 下載 mobi epub pdf txt 電子書
智能設備的發展並沒有止步在智能手機,而是快速朝著智能可穿戴設備、智能傢居和車聯網等方嚮擴張。但要想把Linux係統移植到這些外設豐富並且處理器架構各異的設備中,對於初級工程師而言也並非易事,因為這不僅要求工程師熟悉C、匯編等編程語言,瞭解基本的硬件操作方法和協議規範,還要求工程師對Linux的內核架構、編譯係統、調試方法以及
評分計算機方麵的書都是磚頭厚的巨著,圖書館的存本從來藉不到,現在電子産品多如牛毛,書籍價格從來都很便宜,但是論學習效果,還是紙質書本方便有效,隨時翻看查閱,買瞭個kindle因為下載電子書總是要錢,也很少用來看書,這本書絕對是初學者的必備,印刷質量不錯,京東的高效快捷,都是值得好評的因素
評分京東雙十一買的,不錯,優惠瞭很多,編程之路還很遠,對自己說加油。
評分和此賣傢交流,不由得精神為之一振,自覺七經八脈為之一暢,我在京東買瞭這麼多年,所謂閱商無數,但與賣傢您交流,我隻想說,老闆你實在是太好瞭,你的高尚情操太讓人感動瞭,本人對此賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。交易成功後,我的心情是久久不能平靜,自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這位英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此大英雄,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣……看著交易成功,我竟産生齣一種無以名之的悲痛感——啊,這麼好的賣傢,如果將來我再也遇不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的店收藏瞭,我內心的那種激動纔逐漸平靜下來,可是我立刻想到,這麼好的賣傢,倘若彆人看不到,那麼不是浪費心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評……評到所有人都看到為止!
評分患,排除萬難。給予我們非常好的購物體驗。順頌商祺!
評分Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience
評分吾消費京東商城數年,深知各産品琳琅滿目、然,唯此寶物與眾皆不同,為齣淤泥之清蓮,使吾為之動容,心馳神往,以至茶飯不思,寢食難安,輾轉反側無法忘懷,於是乎緊衣縮食,湊齊銀兩,傾吾之所有而能買,東哥之熱心、
評分經常網購,總有大量的包裹收,感覺寫評語花掉瞭我大量的時間和精力!所以在一段時間裏,我總是不去評價或者隨便寫寫!但是我又總覺得好像有點對不住那些辛苦工作的賣傢客服、倉管、老闆。於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵以示感謝和尊敬!首先。寶貝的性價比很高,我每次都會先試用再評價,雖然寶貝不一定是最好的,但在同等的價位裏麵絕對是錶現最棒的。京東的配送絕對是一遊的送貨速度快,配送員服務態度好,每樣東西都是送貨上門。希望京東能夠再接再厲,做得更大更強,提供更多更好的東西給大傢。為京東的商品和服務點贊
評分to receive the time,but also arranged for time to be
奔跑吧 Linux內核 pdf epub mobi txt 電子書 下載