1、移动技术/搬移/紧凑
移动条件 :
(1)在可变分区算法中,随着进程不断的装入和撤销,导致 主存中常常出现分散的小空闲区,称为碎片。
(2)当在未分配区中找不到足够大的空闲区来装入新进程时 ,可采用移动技术,将分散的空闲空闲区汇集成片。
移动时机:
(1)进程撤销之后释放分区时,如果它不与空闲区邻接,立即实施移动。 (2)进程装入分区时,如果它不与空闲区邻接,立即实施引动。
移动算法(假设进程A请求分配x KB主存)
步骤1:查主存分配表,若有大于x KB的空闲区,转步骤4;
步骤2:若空闲区总和小于xKB,则令进程A等待主存 资源;
步骤3:移动主存的相关分区信息;修改主存分配表的 有关表项;修改被移动者的基础寄存器等信息;
步骤4:分配x KB主存;修改主存分配表的有关项;设置进程A的基址寄存器;有申请者等待时予以释放,算法结束。
特点:开销非常大,极少使用
2、对换技术
对换的作用 :通过将主存和磁盘的进程移出移入,解决主存 容量不足的问题。
对换进程的选择:选择哪个进程换出;决定把进程的哪些信息移出去;需要确定对换时机。
3、覆盖技术
在任何时候只在内存中保留CPU当前所需的指令 和数据,就能维系计算机系统运行。
由用户实现,让不会同时调用的子模块共同使用同一内存区
写这篇文章就是为了覆盖技术,刚开始以为覆盖技术计算节约空间是把每个分支的累计和-每层最大内存的累加和,后来才知道覆盖技术的节约是所有块的和-每层最大内存的累加和。是多个快共享同一存储空间。
采用覆盖技术所占空间20+50+40+20(每层最大空间累加和)