目录
单道程序的内存管理
多道程序的内存管理
后面详细讨论固定式分区分配和可变式分区分配,它们都是分区存储管理。
固定式分区分配
把内存划分为若干个固定大小的连续分区,每个分区装入一个作业,分区可以同等大小,也可以差异不等。面对分区大小的差异,可以用两种方法进行处理:单一队列的分配方式,多队列分配方式
单一队列的分配方式
多队列分配方式
固定式分区分配的优劣讨论
可变式分区分配
分区初始时,如下:
继续分配,出现如下情况:
此时就需要讨论第一轮内存分配完,存在进程释放空间后的内存分配,即考虑哪些处于两个进程之间的内存空间(通常是进程结束释放空间导致)。
下面提供几种经典的分配算法。
说明:首次适应与下次适应算法着眼于搜索可用空间的代价,最佳适应与最坏适应算法着眼于分配后对应残余碎片的大小。
覆盖技术与交换技术
覆盖技术示意图
大作业的各个模块有时候运行是互斥的,比如图中B和C不可能同时运行,那么就没必要在内存中同时给B和C都预留空间,此时可预留一个20KB空间即可。