动态运行时装入
#动态重定位
亦称动态运行时装入
和隔壁静态重定位一样,装入模块的地址都是逻辑地址,从0开始的
装入内存后,不会立即把逻辑地址转换为物理地址,而是把地址转换推迟到程序真正要执行的时候才进行。故装入内存后的所有地址依旧是逻辑地址
实现动态重定位呢,需要一个重定位寄存器的支持
重定位寄存器:存放装入模块存放的起始位置(内存中该模块的起始物理地址)
cpu会根据该寄存器与模块中的逻辑地址相加,得出真正的内存中的地址
采用动态重定位时,允许程序在内存中发生移动
说实话,这个装入方式的优点很多,后面会继续讲述
不出意外的话,应该会提到这三个装入方式的,到时候给个链接过来