程序的装入;
1.绝对装入方式:
当计算机系统很小时,且仅能运行单道程序时,此时可采用绝对装入方式,用户程序经编译后,将产生绝对地址的目标代码,绝对装入程序便可按照装入模块中的地址,将程序和数据装入内存。装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故无须对程序和数据的地址进行修改。
2.可重定位装入方式:
绝对装入方式只能将目标模块装入内存中事先指定的位置,这只适用于单道程序环境。而在多道程序环境下,编译程序不可能预知经编译后所得到的目标模块应放在内存的何处,此时应采用可重定位装入方式,它可根据内存的具体情况,将装入模块装入内存中的合适位置。采用可重定位装入方式将装入模块装入内存中,会使装入模块中的所有逻辑地址与实际装入内存的物理地址不同。
3.动态运行时装入方式:
上一种方式不允许程序运行时在内存中移动位置,因为程序在内存中的移动,意味着它的物理位置发生了变化。动态运行时装入方式在把装入模块装入内存后,并不会立即把装入模块中的相对地址变换为绝对地址,而是会把这种地址变换推迟到程序真正要执行时才进行,这种方式需要一个重定位寄存器的支持。