程序抽象流程
在C语言中
1. C预处理器(cpp)扩展源代码,插入所有用#include 命名指定的文件,并扩展所有用#define 声明指定的宏。
2. 编译器(ccl)产生两个源代码的汇编代码,名字命名分别为p1.s
3. 汇编器(as)将汇编代码转化为二进制目标代码为p1.o(目标代码是机器代码的一种形式,包含所有指令的二进制表示,但还没有填入地址的全局值)
4. 链接器(ld)将目标代码文件与实现库函数(例如printf)的代码合并,并产生最终的可执行代码文件p(可执行文件是机器代码的第二种形式,也就是处理器执行的代码格式)
文件:是对I/O的抽象
虚拟存储器:是对程序存储器的抽象
指令集结构:是对处理器的抽象
进程:是对一个正在运行的程序的抽象
虚拟机:是对整个计算机的抽象(操作系统、处理器、程序等)
虚拟机 |
|||
|
进程 |
||
指令集结构 |
虚拟存储器 |
||
|
|
文件 |
|
操作系统 |
处理器 |
主存 |
I/O设备 |