内存管理 分区存储管理

目录


单道程序的内存管理


多道程序的内存管理

后面详细讨论固定式分区分配和可变式分区分配,它们都是分区存储管理。


固定式分区分配

把内存划分为若干个固定大小的连续分区,每个分区装入一个作业,分区可以同等大小,也可以差异不等。面对分区大小的差异,可以用两种方法进行处理:单一队列的分配方式,多队列分配方式

单一队列的分配方式

多队列分配方式

固定式分区分配的优劣讨论


可变式分区分配

分区初始时,如下:

继续分配,出现如下情况:

此时就需要讨论第一轮内存分配完,存在进程释放空间后的内存分配,即考虑哪些处于两个进程之间的内存空间(通常是进程结束释放空间导致)。

下面提供几种经典的分配算法。

说明:首次适应与下次适应算法着眼于搜索可用空间的代价,最佳适应与最坏适应算法着眼于分配后对应残余碎片的大小。


覆盖技术与交换技术

覆盖技术示意图

大作业的各个模块有时候运行是互斥的,比如图中B和C不可能同时运行,那么就没必要在内存中同时给B和C都预留空间,此时可预留一个20KB空间即可。

交换技术

经验分享 程序员 微信小程序 职场和发展