深入理解计算机系统 2

时间:2023-02-05 16:15:04


程序抽象流程

在C语言中

1.        C预处理器(cpp)扩展源代码,插入所有用#include 命名指定的文件,并扩展所有用#define 声明指定的宏。

2.        编译器(ccl)产生两个源代码的汇编代码,名字命名分别为p1.s

3.        汇编器(as)将汇编代码转化为二进制目标代码为p1.o(目标代码是机器代码的一种形式,包含所有指令的二进制表示,但还没有填入地址的全局值)

4.        链接器(ld)将目标代码文件与实现库函数(例如printf)的代码合并,并产生最终的可执行代码文件p(可执行文件是机器代码的第二种形式,也就是处理器执行的代码格式)



文件:是对I/O的抽象

虚拟存储器:是对程序存储器的抽象

指令集结构:是对处理器的抽象

进程:是对一个正在运行的程序的抽象

虚拟机:是对整个计算机的抽象(操作系统、处理器、程序等)

 

虚拟机

 

进程

指令集结构

虚拟存储器

 

 

文件

操作系统

处理器

主存

I/O设备