- 使用 翻译程序 编译
- 链接,就是将不同部分的代码和数据收集和组合成为一个单一文件的过程。该阶段生成逻辑地址
- 装入。该阶段生成物理地址
链接方式
- 静态链接。在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的装入模块,以后不再拆开
- 装入时动态链接。边装入边链接,便于修改和更新,便于实现对目标模块的共享
- 运行时动态链接。程序执行中需要某目标模块时,才对它进行链接。能够加快程序的装入过程,还可节省内存空间
装入方式
- 绝对装入。逻辑地址和实际内存地址完全相同
- 可重定位装入。逻辑地址从 0 开始,是相对地址,在装入时完成逻辑地址到物理地址的转换
- 动态运行时装入。装入内存后的地址仍为相对地址,在程序真正要运行时才进行地址转换。这种方式需要一个重定位寄存器的支持。动态运行时可以将程序分配到不连续的存储区;程序运行前只需装入部分代码即可投入运行,然后根据需要动态申请分配内存;便于程序段的共享