单选题
👁️ 浏览量:

试题题干

可执行程序中有指令LOAD  1,3000。当该文件采用动态重定位方式调入内存后,重定位寄存器的值为20000,则调入后该指令中的地址参数( )

A

会发生改变,变为0

B

会发生改变,变为23000

C

不会发生改变,实际访问的物理内存地址是3000

D

不会发生改变,实际访问的物理内存地址是23000

参考答案

正确答案:

试题解析

在采用动态运行时装入(动态重定位)方式的系统中,系统将进程装入内存后,由于进程在内存中的位置可能发生移动,所以此时并不计算物理地址,而是在进程运行访存的过程中才进行地址转换,这种方式需要重定位寄存器的支持。当进程获得CPU运行时,系统把该进程在内存的起始地址存入重定位寄存器,进程在运行过程中访存时,通过重定位寄存器与被访问单元的逻辑地址计算出被访问单元的物理地址。

因此,本题中,当要执行逻辑地址为3000的单元中的指令时,用逻辑地址3000与重定位寄存器中的地址20000相加,得到实际物理内存地址23000。故本题选D。