Introduction
(一)课本介绍
《CS:APP(Computer Systems: A Programmer's Perspective)》是一本计算机系统经典教材,由 CMU(卡耐基梅隆大学)教授 Randal E. Bryant 和 David R. O’Hallaron 编写,主要讲解 计算机系统的底层工作原理,让程序员更深入地理解计算机如何执行代码、管理内存、处理并发等。
CS:APP 以 C 语言和 x86-64 汇编 为基础,涵盖:
- 计算机数据表示(如二进制、浮点数、补码)
- 机器级代码(汇编语言、寄存器、指令执行)
- 存储系统(缓存、虚拟内存、页表)
- 进程和并发(进程管理、信号、线程、同步)
- 系统级 I/O(文件系统、网络编程)
- 程序性能优化(流水线、缓存优化)
- 计算机安全(缓冲区溢出攻击、ROP)