CSAPP 学习笔记「计算机系统漫游」

#Computer

第一章其实是整本书的概览,以「hello, world」程序的书写到执行引出各大主题,为记录学习过程,特地把第一章最后的小结摘录至此。

计算机系统是有硬件和系统软件组成的,它们共同协作以运行应用程序。计算机内部的信息被表示为一组组的位,它们依据上下文有不同的解释方式。程序被其他程序翻译成不同的形式,开始时 ASCII 文本,然后被编译器和链接器翻译成二进制可执行文件。

处理器预读并解释存放在主存里的二进制指令。因为将系统中的存储设备划分成层次结构——CPU 寄存器在顶部,接着是多层的硬件高速缓存存储器、DRAM 主存和磁盘存储器。在层次模型中,位于更高层的存储设备比低层的存储设备要更快,单位比特开销也更高。层次结构中较高层次存储设备可以作为较低层次设备的高速缓存。通过理解和运用这种存储层次结构的知识,程序员可以优化 C 程序的性能。

操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象:

  • 文件是对 I/O 设备的抽象
  • 虚拟存储器是对主存和磁盘的抽象
  • 进程是对处理器、主存和 I/O 设备的抽象

最后,网络提供了计算机系统之间通信的手段。从特殊系统的角度来看,网络就是一种 I/O 设备。