《深入理解计算机系统》

搁置

作为理解类书籍,和其他书同样地摘抄关键的内容及大致框架,以及做课后习题。这可是一本好书呀兄弟。

书中提供的实验练习可以去做做,在CS:APP主页上获取。

第1章计算机系统漫游

  • 总线:总线被设计成传送定长的字节块,也就是字(word)。字中的字节数(即字长)是一个基本的系统参数,各个系统中都不尽相同。现在的大多数机器字长要么是4个字节(32位),要么是8个字节(64位)。

  • 处理器:处理器的核心是一个大小为一个字的存储设备(或寄存器),称为程序计数器(PC)。寄存器文件是一个小的存储设备,由一些单个字长的寄存器组成,每个寄存器都有唯一的名字。ALU(算术逻辑单元)计算新的数据和地址值。

    处理器看上去是它的指令集架构的简单实现,但是实际上现代处理器使用了非常复杂的机制来加速程序的执行。指令集架构描述的是每条机器代码指令的效果;而微体系结构描述的是处理器实际上是如何实现的。

  • 存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。

  • 操作系统有两个基本功能:(1)防止硬件被失控的应用程序滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。操作系统通过几个基本的抽象概念(进程、虚拟内存和文件)来实现这两个功能。

  • 操作系统决定要把控制权从当前进程转移到某个新进程时,就会进行上下文切换,即保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程。新进程就会从它上次停止的地方开始。

    从一个进程到另一个进程的转换是由操作系统内核(kernel)管理的。内核是操作系统代码常驻主存的部分。内核不是一个独立的进程。相反,它是系统管理全部进程所用代码和数据结构的集合。

  • 每个进程看到的虚拟地址空间由大量准确定义的区构成,每个区都有专门的功能。从最低的地址开始是程序代码和数据、堆、共享库、栈、内核虚拟内存。、

  • Amdahl 定律:要想显著加速整个系统,必须提升全系统中相当大的部分的速度。(这个地方有一些计算题)