若要保证一个程序在执行时即使被改变了存放区域后仍能正确执行,可以采用下列哪一种技术
静态重定位
动态重定位
静态分配地址
动态分配地址
答案
动态重定位
解析
若要保证一个程序在执行时即使被改变了存放区域后仍能正确执行,可以采用动态重定位技术。
动态重定位是在程序执行过程中,每当执行一条指令时再由硬件地址转换机构将指令中的逻辑地址转换成物理地址的过程。这种方式使得程序可以在内存中的任意位置执行,因为地址转换是在运行时动态进行的,不受程序存放区域的影响。
静态重定位是在程序装入内存之前,就把逻辑地址转换成物理地址的过程。这种方式要求程序在装入内存时就知道其最终的存放位置,因此一旦程序被改变了存放区域,就需要重新进行静态重定位。
静态分配地址是指在程序编译时就确定了内存地址的分配方式。这种方式无法适应程序存放区域的变化。
动态分配地址是指在程序运行时动态分配内存地址的方式。这种方式可以适应程序存放区域的变化,但需要在运行时进行地址分配和管理,增加了系统的复杂性。
因此,正确答案是动态重定位。