《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等

书籍:《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等

适合对象:对计算机感兴趣的朋友。

需要相关资料的可私信我。

2023.09.20更新完成。  

先上个大纲框架图:

《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等_第1张图片


第一章:计算机系统漫游

主要知识点:解读全书结构框架,解释OS的原理和相关硬件软件。计算机系统是由硬件和系统软件组成,共同协作以运行应用程序。

1.1 信息就是位+上下文

1.2 程序被其他程序翻译成不同的格式

1.3 了解编译系统如何工作是大有益处的

1.4 处理器读并解释储存在存储器中的指令

1.5 高速缓存

1.6 形成层次结构的存储设备

1.7 操作系统管理硬件

1.8 利用网络系统和其他系统通信

第一部分 程序结构和执行


第二章:信息的表示和处理

主要知识点:解读全书结构框架,解释OS的原理和相关硬件软件。计算机系统是由硬件和系统软件组成,共同协作以运行应用程序。

2.1 信息存储

2.2 整数表示

2.3 整数运算

2.4 浮点

《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等_第2张图片


第三章 程序的机器级表示

主要知识点:机器语言、数据和过程。

3.1 历史观点

3.2 程序编码

3.3 数据格式

3.4 访问信息

3.5 算术和逻辑操作

3.6 控制

3.7 过程

3.8 数组分配和访问

3.9 异类的数据结构

3.10 对齐

3.11 综合:理解指针

3.12 现实生活:使用GDB调试器

3.13 存储器的越界引用和缓冲区溢出

3.14 *浮点代码

《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等_第3张图片


第四章 处理器体系结构

主要知识点:Y86指令。

4.1 Y86指令集体系结构

4.2 逻辑设计和硬件控制语言HCL

4.3 Y86的顺序(sequential)实现

4.4 流水线的通用原理

4.5 Y86的流水线实现

4.6 小结


第五章 优化程序性能

主要知识点:优化性能的方法

    概览

    5.1 优化编译器的能力和局限性

    5.2 表示程序性能

    5.3 程序示例

    5.4 消除循环的低效率

    5.5 减少过程调用

    5.6 消除不必要的存储器引用

    5.7 理解现代处理器

    5.8 降低循环开销

    5.9 转换到指针代码

    5.10 提高并行性

    5.11 综合:优化合并(Combing)代码的效果小结

    5.12 分支预测和预测错误处罚

    5.13 理解存储器性能

    5.14 现实生活:性能提高技术

    5.15 确认和消除性能瓶颈

    5.16 小结

《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等_第4张图片


第六章 存储器层次结构

主要知识点:结构

   6.1 存储技术

    6.2 局部性

    6.3 存储器层级结构

    6.4 高速缓存存储器

    6.5 编写高速缓存友好的代码

    6.6 综合:高速缓存对程序性能的影响

    6.7 综合:利用程序中的局部性

    6.8 小结

第二部分 在系统上运行程序


第七章 链接

主要知识点:链接的过程和目的

  概览

    7.1 编译器驱动程序

    7.2 静态链接

    7.3 目标文件

    7.4 可重定位目标文件

    7.5 符号和符号表

    7.6 符号解析

    7.7 重定位

    7.8 可执行目标文件

    7.9 加载可执行目标文件

    7.10 动态链接共享库

    7.11 从应用程序中加载和链接共享库

    7.12 *与位置无关的代码(PIC)

    7.13 处理目标文件的工具

    7.14 小结


第八章 异常控制流

主要知识点:异常处理

    概览

    8.1 异常

    8.2 进程

    8.3 系统调用和错误处理

    8.4 进程控制

    8.5 信号

    8.6 非本地跳转

    8.7 操作进程的工具

    8.8 小结


第九章 测量程序执行时间

主要知识点:测量程序执行时间的策略和实现

    概览

    9.1 计算机系统上的时间流

    9.2 通过间隔计数来测量时间  

    9.3 周期计数器

    9.4 用周期计数器来测量程序执行时间

    9.5 基于gettimeofday函数的测量

    9.6 综合:一个实验协议

    9.7 展望未来

    9.8 现实生活:K次最优测量方法

    9.9 得到的经验教训

    9.10 小结

《深入理解计算机系统》(美)布赖恩特(Bryant,R.E.) 等_第5张图片


第十章 虚拟存储器

主要知识点:虚拟存储器的功能和实现

    概览

10.1 物理和虚拟地址

10.2 地址空间

10.3 虚拟存储器作为缓存的工具

10.4 虚拟存储器作为存储器管理的工具

10.5 虚拟存储器作为存储器保护的工具

10.6 地址翻译

10.7 案例研究:Pentium/Linux存储器系统

10.8 存储器映射

10.9 动态存储器分配

10.10 垃圾收集

10.11 C程序中常见的与存储器有关的错误

10.12 扼要重述一些有关虚拟存储器的关键概念

10.13 小结

第三部分 程序间的交互和通信


第十一章 系统级I/O

主要知识点:I/O

概览

11.1 Unix I/O

11.2 打开和关闭文件

11.3 读和写文件

11.4 用Rio包进行健壮地读和写

11.5 读取文件元数据

11.6 共享文件

11.7 I/O重定向

11.8 标准I/O

11.9 综合:我该使用哪些I/O函数?

11.10 小结


第十二章 网络编程

主要知识点:模型、网络、IP、套接字和服务器

概览

12.1 客户端-服务器编程模型

12.2 网络

12.3 全球IP因特网

12.4 套接字接口

12.5 Web服务器

12.6 综合:Tiny Web服务器

12.7 小结


第十三章 并发编程

主要知识点:基于进程、基于I/O多路复用和基于线程三种并发编程

概览

13.1 基于进程的并发编程

13.2 基于I/O多路复用的并发编程

13.3 基于线程的并发编程

13.4 多线程程序中的共享

13.5 用信号量同步线程

13.6 综合:基于预线程化的并发服务器

13.7 其他并发性问题

13.8 小结

你可能感兴趣的:(linux,windows)