地址空间
1 地址空间是为程序而创造的一种内存抽象概念。地址空间是进程可以寻址内存的一套地址集合,每个进程都有自己的地址空间,并且独立于其他进程的地址空间
空闲内存管理
1 使用位图的存储管理
内存被划分为多个存储单元,每个存储单元对应着位图中的一位,0表示空闲,1表示被占用。
2 使用链表的存储管理
维护一张记录以及分配内存段和空闲段内存的链表,链表的数据结构为:空闲区(H)或者进程(P)的指示标志,起始地址,长度和指向下一节点的指针。
内存管理适配算法
#首次适配算法
1 首次适应算法从空闲[分区表]的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,
这种方法目的在于减少查找时间。为适应这种算法,空闲分区表(空闲区链)中的空闲分区要按地址
由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高[地址空间]保留大的空闲区。
2 首次适应算法的特点(First Fit):
该算法倾向于优先利用内存中低址部分的空闲分区,从而保留了高址部分的大空闲区,这为以后到达的大作业分配大的内存空间创造了条件。
3 缺点
低址部分不断被划分,会留下许多难以利用的,很小的空闲分区,称为碎片。而每次查找又都是从低址部分开始的,这无疑又会增加查找可用空闲分区时的开销。
#下次适配算法
1 下次适应(next fit)算法也称“临近适应”算法,其工作方式和[最先适应算法]相同
(最先适应也称[首次适应算法]。它总是最先找到的、满足存储要求的那个
空闲分区作为分配对象。),不同的是每次找到合适的空闲的分区时就记住
它的位置,以便下次就从该位置开始往下查找,而不是每次都像[最先适应算法]那样从头开始查找
2 这种算法的总体结果通常要比[最先适应算法]差。由于它经常会在内存的末尾分
配存储分区,使位于[存储空间]末尾的最大分区被撕裂称小的外部碎片,因此必须
经常不断地进行存储紧凑。在该算法中应采取循环查找方式,即最后上个空闲区的
大小仍不能满足要求时,应再从第一个空闲区开始查找,故又称为循环造就算法。
网友评论