逻辑地址:CPU所生成的地址。逻辑地址是内部和编程使用的、并不唯一。例如,你再进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,塔是相对于你当前进程数据的地址(偏移地址),不和绝对武力地址想干。
物理地址:加载到内存地址寄存器中的地址,内存单元的真正地址。
静态重定位:是在程序执行之前进行重定位,它根据装配模块将要装入的内存起始位置,直接修改装配模块中的有关使用地址的指令。
静态重定位的优缺点:静态重定位有着无需硬件支持的优点,但存在着如下的缺点:一是程序重定位之后就不能在内存中搬动了,二是要求程序的存储空间是连续的,不能把程序放在若干个不连续的区域内。
动态重定位:是指不是在程序执行之前而是在程序执行过程中进行地址重定位,更确切的说实在CPU每次访问内存单元前才进行地址变换。
动态重定位的优缺点:优点是1、程序占用的内存空间动态可变,不必连续存放在一处。2、比较容易实现几个进程对同一程序副本的共享使用。缺点是需要附加的硬件支持,增加了机器成本,而且实现存储管理的软件算法比较复杂。现在一般计算机系统中都采用动态重定位方法。
固定分区:静态分区,作业装入之前划分,大小固定,内存利用率不高。
可变分区:动态分区,碎片多。首次适应算法、最佳适应算法、最坏适应算法。
可重定位分区:合并零散空间