第一章 计算机系统漫游

1.1 信息就是位+上下文

  • 系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。
  • 源程序实是一个由值0和1组成的位序列 。

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

  • 预处理阶段:预处理器(cpp)根据以字符#靠头的命令,修改原始的C程序。结果就得到了另一个C程序hello.i,通常是以.i作为文件扩展名。
  • 编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,它包含了一个汇编语言程序。每条语句都以一种文本格式描述了一条低级机器语言指令。
  • 汇编阶段:汇编器(as)将hello.s翻译成机器语言指令,把这些这些指令打包成可重定位目标程序的格式,并将结果保存在目标文件hello.o中。
  • 链接阶段:每个c编译器都提供的标准c库,链接器负责处理函数于hello.o的合并,得到hello文件,它是一个可执行目标文件,可以被加载在内存中,由系统执行

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


( CPU:中央处理单元 ALU:算数/逻辑单元 PC:程序计数器 USB:通用串行总线)

  • 总线:它携带信息字节并负责在各个部件间传递,通常总线被设计成传送定长的字节块,也就是字。
  • I/O设备:是系统与外部世界的联系通道。每个I/O设备都通过一个控制器或适配器与I/O总线相连。
  • 主存:临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据。从物理上,主存是由一组动态随机存取存储器(DRAM)芯片组成。从逻辑上 , 主存是一个线性的字节数组 , 每个字节都有其唯一的地址 ( 数组索引 ), 地址从零开始。
  • 中央处理器(CPU)。是解释执行存储在主存中指令的引擎,处理器的核心是程序计数器(PC)。PU 在指令的要求下可能会执行操作 :加载、存储、更新、I/O读、I/O写和转移。

1.5高速缓存至关重要

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

1.7操作系统管理硬件

  • 进程的虚拟地址空间:

    • 程序代码和数据:对于所有的进程来说,代码是从同一固定地址开始,紧接着的是和C全局变量相对应的数据位置。(大小固定)
    • :堆可以在运行时动态地扩展和收缩。
    • 共享库:用来存放像C标准库和数学库这样共享库的代码和数据的区域。
    • :编译器用其实现函数的调用,在程序执行期间可以动态地扩展和收缩。
    • 内核虚拟存储器:内核是操作系统的总是驻留在存储器的部分。地址空间顶部的四分之一为内核预留。
 posted on 2019-10-29 19:31  捞起月亮的渔民  阅读(165)  评论(0编辑  收藏  举报