奔跑吧 Linux內核 epub pdf mobi txt 電子書 下載 2024
發表於2024-11-10
奔跑吧 Linux內核 epub pdf 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內核 epub pdf mobi txt 電子書 下載 2024
奔跑吧 Linux內核 下載 epub mobi pdf txt 電子書奔跑吧 Linux內核 mobi pdf epub txt 電子書 下載 2024
奔跑吧 Linux內核 epub pdf mobi txt 電子書 下載臣本布衣,躬耕於南陽,苟全性命於亂世,不求聞達於諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣於草廬之中,谘臣以當世之事,由是感激,遂許先帝以驅馳。
評分老君不能將孫悟空煉化的真正原因是:古時候煉丹爐是煤炭爐,最高隻能達到1200℃左右,而孫悟空是石猴,主要成分二氧化矽,熔點1600℃左右,的確煉不掉!懂點科學多麼重要!我覺得有些道理,那麼孫悟空為什麼會被煉成火眼金睛呢?原來二氧化矽在八卦爐1200攝氏度的高溫下發生瞭玻璃化,所以具備瞭類似照妖鏡之類的作用,可以看齣妖精鬼怪。那麼八卦爐又為什麼會壞掉呢?原來孫悟空的組成遠非二氧化矽那麼簡單,還有一部分碳酸鈣,在八卦爐1200攝氏度作用下,碳酸鈣發生分解:CaCO3==CaO+CO2。二氧化碳是的八卦爐內壓力增大,最終導緻八卦爐爆炸,孫悟空破爐而齣!那麼孫悟空破爐而齣之後為何變得狂暴呢?因為他身上的碳酸鈣變成瞭氧化鈣,吸收空氣中的水分發生化學反應會發熱,故而狂暴。那麼後來孫悟空為啥又溫和瞭呢?還跟唐僧一起去西天取經?原來如來把孫悟空壓在五行山下,常年風吹日曬,孫悟空身上的氧化鈣又吸收瞭雨水,隨後變成瞭氫氧化鈣,所以性情也就變的溫和瞭。後來孫悟空為什麼能夠成佛呢?原來在西行的路上,孫悟空身上的氫氧化鈣又在不斷的吸收二氧化碳,最終到瞭西天之後又變成瞭碳酸鈣,又變成瞭堅硬的金身,學會數理化走遍全天下啊
評分¥89.10
評分還不錯,就是書角好像掉地下磕瞭一下。不影響完美
評分非常好的書,便宜實惠,京東購物很方便。
評分宮中府中,俱為一體,陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理,不宜偏私,使內外異法也。
評分非常感謝京東商城給予的優質的服務,從倉儲管理、物流配送等各方麵都是做的非常好的。送貨及時,配送員也非常的熱情,有時候不方便收件的時候,也安排時間另行配送。同時京東商城在售後管理上也非常好的,以解客戶憂患,排除萬難。給予我們非常好的購物體驗。 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 cust
評分不錯,個人感覺比《linux內核源代碼情景分析》要實用,奔跑吧linux內核這本書更加適閤現在嵌入式開發,而情景分析個人感覺對於嵌入式開發不是一本好的指導書,起碼它針對的架構是x86,而內核主要是運行在平颱上的,平颱有x86,ARM,mips的區彆,如果不是針對arm平颱來分析內核,隻會走過多的彎路!甚至有些知識點會造成歧義!所以我感覺情景分析這本書不適閤嵌入式開發,不止是因為內核過時,更是平颱不適閤!我買瞭情景分析看瞭第一章就放棄瞭!聽人建議購買瞭這本書,物超所值!值得擁有!希望作者能持續更新!
評分Jingdong
奔跑吧 Linux內核 epub pdf mobi txt 電子書 下載 2024