深入理解计算机系统
第1章 计算机系统漫游
信息(位+上下文),编译器,指令,高速缓存,存储体系,操作系统,网络通信
第2章 信息的表示和处理
信息存储,进制,字,寻址,字节序,字符串,逻辑运算,位运算,整数表示与运算(有无符号,补码,乘除),浮点数
第3章 程序的机器级表示
存储器的越界访问与缓冲区溢出
C对数组引用不进行边界检查,对数组的越界访问会导致破坏栈中的状态信息。
对抗缓冲区溢出攻击
栈随机化,栈破坏检测,限制可执行代码区域
IA32扩展
第4章 处理器体系结构
指令体系结构,流水线,硬件控制语言
第5章 优化程序性能
1.优化程序性能
消除连续的函数调用
消除不必要的存储器引用
引入临时变量来保存中间结果
展开循环,循环中不变的值用一个变量替代
2.优化编译器的能力和局限性
3.表示程序性能
4.消除循环的低效率,减少过程调用
表示程序性能
提高并行性
第6章 存储器的层次结构
高速缓存,局部性
第7章 链接
编译器驱动程序,静态链接,动态链接,目标文件,重定位,符号和符号表,加载,动态链接库
第8章 异常控制流
异常,进程,系统调用错误处理,信号,非本地跳转
第9章 虚拟存储器
物理地址,虚拟地址,存储器映射与分配,垃圾收集
第10章 系统级IO
打开与关闭文件,读写文件,共享文件,IO重定位
第11章 网络编程
套接字接口,web编程,客户服务器编程模型
第12章 并发编程
IO多路复用,信号量同步线程,共享变量