csapp

发布时间 2023-04-02 21:38:54作者: Whiting-coder

Computer System : A Programer's Perspective

计算机系统漫游

  • 编译系统组成
    • 预处理器
    • 编译器
    • 汇编器
    • 链接器

预处理阶段: 预处理器根据字符'#'开头的命令,修改原始的C程序,将头文件直接插入程序文本中,得到一个以.i作为文件扩展名的程序.

编译阶段: 编译器将文本文件.i翻译成文本文件.s,包含一个汇编语言程序.

汇编阶段: 汇编器将.s翻译成机器语言指令,并将指令打包成一种可重定位目标文件的格式,并将结果保存到一个以.o为文件扩展名的二进制文件,其中包含17个字节的main函数的指令编码.

链接阶段: 链接起负责将C库里的函数合并,得到一个可执行目标文件并加载到内存中,由系统执行

  • 系统硬件的组成
    • 总线
    • I/O设备
    • 主存
    • 处理器

总线

贯穿整个系统对的一组电子管道,成为总线.通常总线被设计成传送定长的字节快.

I/O设备

I/O设备是系统与外部世界的联系通道

主存

主存是临时存储设备,在处理器执行程序时,用来存放程序和程序处理的数据.从物理上来说,主存是有一组动态随机存取的存储器芯片组成.从逻辑上来说,存储器是一个线性的字节数组,每个字节都有其唯一地址,这些地址是从零开始的.

处理器

处理器是解释存储在主存中指令的引擎.处理器的核心是一个大小为一个字的存储设备(寄存器)称为程序计数器(PC).在任何时刻,PC都指向主存中的某条机器语言指令.