本書主要描述Linux系統(tǒng)的總體框架和設(shè)計思想,包含很多可以直接操作的實例,目的是希望讀者對Linux系統(tǒng)背后的邏輯有一個的了解。本書力求貼近實際的工作使用,在比較核心且常用的技術(shù)點(diǎn)有更加深入的解釋,對實際使用Linux系統(tǒng)工作大有裨益。本書共13章,其中第1~3章是總覽,第4~13章是分領(lǐng)域闡述。第1~3章總體介紹Linux的基本知識;第4章以Linux系統(tǒng)的啟動開始深入敘述;第5章是Linux系統(tǒng)運(yùn)行中使用者常接觸到的進(jìn)程概念,重點(diǎn)介紹進(jìn)程的原理;第6章是Linux內(nèi)核的內(nèi)存管理方法與用戶端使用內(nèi)存的底層方法,即重點(diǎn)介紹glibc底層到內(nèi)核之間的內(nèi)存管理過程;第7~13章分別是關(guān)于安全機(jī)制、網(wǎng)絡(luò)、總線與設(shè)備變動、二進(jìn)制、存儲、虛擬化與云、硬件專用子系統(tǒng)的內(nèi)容。這些子系統(tǒng)都是Linux系統(tǒng)運(yùn)行中非常重要的領(lǐng)域,是深入理解Linux系統(tǒng)原理不可或缺的知識補(bǔ)充。
解釋透徹:深入淺出地將Linux內(nèi)核架構(gòu)與底層原理和盤托出。
實踐性強(qiáng):對Linux內(nèi)核形成了深刻、獨(dú)到的理解。
指路明燈:將Linux內(nèi)核架構(gòu)與底層原理的精髓娓娓道來。
與時俱進(jìn):在很多方面覆蓋了Linux較新的功能,對從業(yè)者有較大幫助。
劉京洋,中山大學(xué)雙學(xué)士、碩士,創(chuàng)建中山大學(xué)嵌入式組,在嵌入式實驗室工作6年。工作早期擔(dān)任創(chuàng)業(yè)公司總經(jīng)理,投資公司總裁助理,后來專心技術(shù),先后就職于TP-LINK、YY直播和網(wǎng)易游戲,從事內(nèi)核和網(wǎng)絡(luò)安全研發(fā),對Linux系統(tǒng)底層有深入的理解。聯(lián)系QQ:575705195,很高興與大家溝通探討相關(guān)學(xué)術(shù)問題。 韓方,武漢大學(xué)研究生畢業(yè),先后就職于華為和YY直播,具有多年安全領(lǐng)域的攻防對抗、安全體系建設(shè)和開發(fā)經(jīng)驗,精通Linux內(nèi)核開發(fā)和應(yīng)用開發(fā),申請過多項發(fā)明專利,多次參加國內(nèi)外技術(shù)峰會并進(jìn)行分享。
目錄
及時章 linux總覽
1. 簡介
2. Linux學(xué)習(xí)曲線和職業(yè)曲線
3. 如何形成一個內(nèi)核
第二章 Linux內(nèi)核架構(gòu)
1. 常見架構(gòu)范式與核心系統(tǒng)
2. 基礎(chǔ)功能元素
3. 特殊硬件框架
4. 特殊軟件機(jī)制
5. 系統(tǒng)調(diào)用
第三章 內(nèi)核數(shù)據(jù)結(jié)構(gòu)
1. 鏈表與哈希表
2. LRU
3. 樹
4. 其他常見數(shù)據(jù)結(jié)構(gòu)
第四章 Linux系統(tǒng)的啟動
1. 啟動的硬件支持
2. Bootloader和內(nèi)核二進(jìn)制
3. 啟動原理
第五章 進(jìn)程(重點(diǎn))
1. 進(jìn)程原理
2. 進(jìn)程調(diào)度
3. 資源鎖
4. 多進(jìn)程與進(jìn)程通信
5. 進(jìn)程對資源的使用
第六章 內(nèi)存管理(重點(diǎn))
1. 內(nèi)存的組織方式
2. 內(nèi)核內(nèi)存的申請和釋放
3. 內(nèi)核頁面回收算法(PFRA)
4. 內(nèi)核內(nèi)存壓縮技術(shù)
5. 其他內(nèi)核內(nèi)存基礎(chǔ)服務(wù)
6. 用戶端對內(nèi)核內(nèi)存管理系統(tǒng)的調(diào)整
7. 用戶端進(jìn)程的內(nèi)存管理
8. 相關(guān)系統(tǒng)調(diào)用和API
第七章 安全
1. Linux安全體系概覽
2. 安全的核心:加密與機(jī)制
3. Linux用戶和權(quán)限系統(tǒng)
4. 分布于其他功能模塊的安全機(jī)制
第八章 網(wǎng)絡(luò)(重點(diǎn))
1. Linux內(nèi)核支持的網(wǎng)絡(luò)特性概覽
2. Linux網(wǎng)絡(luò)架構(gòu)與socket模型
3. IP實現(xiàn)架構(gòu)
4. IP路由系統(tǒng)
5. TCP子系統(tǒng)
6. Filter子系統(tǒng)
7. 網(wǎng)絡(luò)服務(wù)質(zhì)量
第九章 總線
1. PCI
2. USB
3. Platform
第十章 二進(jìn)制(重點(diǎn))
1. 函數(shù)調(diào)用
2. 二進(jìn)制的兼容性
3. ELF文件的執(zhí)行原理
4. ELF安全性
第十一章 存儲(重點(diǎn))
1. 磁盤管理
2. 存儲協(xié)議:linux下SCSI子系統(tǒng)架構(gòu)
3. 通用塊抽象層
4. 緩存層
5. 文件系統(tǒng)層
6. 分布式存儲
7. 常用存儲管理高級命令
第十二章 虛擬化與云
1. 常見虛擬化方案
2. 分布式文件系統(tǒng)
3. 虛擬化專用文件系統(tǒng)
4. Docker
第十三章 其他重要模塊與高級管理工具
1. 內(nèi)核到用戶空間設(shè)備管理
2. 內(nèi)核調(diào)試
3. 專用子系統(tǒng)