一、程序的装入和链接
- 程序的装入
a. 绝对装入方式(逻辑地址=物理地址)
优点:装入过程简单。不需任何地址变换,程序中的逻辑地址与实际内存物理地址完全相同。
缺点:过于依赖硬件结构, 只适用早期针对硬件直接编程、单道环境下。
b. 可重定位装入方式
优点:不需硬件支持,可以装入有限的多道程序
缺点:软件装入一次完成,一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。也不易实现共享。
c. 动态运行时(重定位)的装入方式(运行时才修改地址)
*程序装入内存时,可多次重定位到不同位置。且可以不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。
*更适用于部分装入 - 程序的链接
a.静态链接方式
b.装入时的动态链接
比静态链接好在哪里?
① 静态链接好的程序,修改部分模块后,需重新链接成可装入程序。动态方式则便于修改和更新。
② 便于实现共享。静态的N个程序都需要一个模块时,需要进行N次拷贝。
c.运行时的动态链接
优点:程序运行装入的内容少了,加快了装入过程,而且节省大量的内存空间。