【正确答案】目标程序在装入内存时,逻辑地址和物理地址往往是不相符的,必须通过一种地址转换机构将逻辑地址转换成物理地址,程序才能正确执行。这种地址转换称为地址重定位,也叫地址映射。
地址重定位有静态和动态两种情况。
静态重定位的工作是在程序执行前完成的。用户目标程序在被装入内存过程中,一般由软件实现从逻辑地址到物理地址的转换,并在程序运行过程中不再改变。
动态重定位的工作是在程序执行期间完成的。程序的逻辑地址在装入内存时不做任何修正,程序执行中,每取出一条指令,CPU对其译码时,如果有逻辑地址,就借助于重定位机构将它转换成绝对地址,然后执行该指令。
静态重定位和动态重定位的不同在于:①静态重定位是在作业装入的时候一次完成,动态重定位是在作业执行时再实现的。②静态重定位是软件支持的,动态重定位是硬件和软件合作实现的。③静态重定位不能实现主存的移动,而动态重定位可以。④动态重定位还可能提供虚拟存储空间。
【答案解析】