装入是什么?
简单来说就是把代码放到内存里。那代码里有一堆我们使用的逻辑地址,这些逻辑地址我们是不关心的。但是计算机要关心(内存保护),不然就会造成不同作业之间相互干扰,空间重叠。
那么计算机怎么关心的呢?就是计算机给你分配物理地址咯,按照不同的分配方式和时间就有不同的装入方式。
1.绝对装入(绝对装入方式只适用于单道程序环境)
编译后产生的绝对地址,那么这个地址就不用变化了,直接装入就行了。
一般是单线程,这样子不会造成空间重叠,因为整个空间都是它的,没有人跟它抢。
2.可重定位装入(静态重定位–多程序环境下)
每个编译后的模块起始地址都是从0开始的。那么多个模块之间就需要计算机给它分配不同的起始地址了,空间就不会重叠,不会相互干扰。这个改变了起始地址,所以叫可重定位装入。
3.动态运行时装入
简单说就是在装入时不把逻辑地址转化成物理地址,而是在运行的时候才转化。
装入方式:
1.绝对装入。2.可重新定位转入。3.运行时装入。