CSSAPP稀里糊涂的读书笔记(一)计算机系统漫游

主要介绍了计算机系统的一些概念知识等。

  1. 系统中的所有信息,都是由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。

  2. 将一个程序翻译成一个可执行目标文件经过四个阶段:预处理阶段、编译阶段、汇编阶段和链接阶段。

  3. 简单的介绍了系统的硬件组成:总线、I/O设备、主存、CPU。

  4. 简单介绍了缓存,如一个典型系统上的磁盘驱动器可能比主存大1000倍,但是对于处理器而言,从磁盘驱动器上读取一个字的时间开销要比从主存中读取的开销大1000万倍。而处理器从寄存器文件中读数据比从主存中读取几乎要快100倍。

  5. 针对存储器的层次结构做了一个简单介绍,如图:
    CSSAPP稀里糊涂的读书笔记(一)计算机系统漫游

  6. 简单介绍了进程,进程是操作系统对一个正在运行的程序的一种抽象。

  7. 操作系统保持跟踪进程运行所需的所有状态信息。这种状态,就是上下文。

  8. 简单介绍虚拟内存,它是一个抽象概念,为每个进程提供一个假象,即每个进程都在独占的使用主存。
    CSSAPP稀里糊涂的读书笔记(一)计算机系统漫游

每个进程看到的虚拟地址空间由大量准确定义的区构成,每个区都有专门的功能。我们从最低的地址开始,逐步向上介绍。

  • 程序代码和数据
  • 共享库
  • 内核虚拟内存
  1. 文件就是字节序列,仅此而已。
  2. 操作系统内核是应用程序和硬件之间的媒介。它提供三个基本的抽象: 1) 文件是对I/O设备的抽象; 2)虚拟内存是对主存和磁盘的抽象; 3)进程是处理器、主存和I/O设备的抽象。