本書用一系列有趣的小故事講述計算機底層相關的技術知識。• 第1章:聚焦計算機中核心的CPU,從基礎的門電路開始,到基本的指令執(zhí)行過程,后到CPU的一些高級技術。內容涵蓋緩存、原子操作、指令流水線、分支預測、亂序執(zhí)行、超線程、SIMD、 內存管理、TLB等。• 第2章:主要講述計算機中的存儲設施,包括CPU中的緩存,內存、機械硬盤三者數據存儲的原理,以及硬盤上的數據管理組織的軟件——文件系統(tǒng)基本模型。• 第3章:主要講述計算機中的I/O和數據傳輸。內容涵蓋總線系統(tǒng)、中斷機制、DMA技術、零拷貝技術。重點關注網卡相關的數據傳輸,包括網卡的基本工作機制,網卡接收數據包后的處理,后介紹一種時下流行的數據包處理技術——DPDK。• 第4章:前面三章主要是在硬件層面,這一章開始介紹軟件。本章聚焦計算機中重要的軟件——操作系統(tǒng)。本書默認以Linux為參考,內容涵蓋操作系統(tǒng)的一些基礎知識,包括進程、線程、系統(tǒng)調用、異常處理、信號、鎖、權限管理,后介紹一個時下流行的容器技術Docker的原理。• 第5章:主要涉及系統(tǒng)編程中和操作系統(tǒng)緊密相關的一些技術點。包括進程的創(chuàng)建過程、線程棧、進程間通信、I/O多路復用、內存映射文件、協程,后簡單介紹調試器GDB和可執(zhí)行文件ELF。• 第6章:本章的主題是安全。網絡安全涉及方方面面,本章挑選了和計算機系統(tǒng)底層相關的一些安全技術,通過故事去感受計算機攻擊的原理,包含棧溢出攻擊、整數溢出攻擊、DDoS攻擊、TCP會話劫持、HTTPS原理,還有前幾年大火的CPU漏洞——熔斷與幽靈攻擊原理等。