存储管理的任务是存储空间的分配和回收。在现代操作系统中通常有单一连续分配、固定分区分配、可变分区分配三种分配方法。
单一连续分配:属于静态分配类型;分配特点:不分区,所有用户空间给某个进程或作业。
固定分区分配:属于静态分配法;分配特点:分成大小不等的区域,区域分完后固定不变。
可变分区分配:属于动态分配方法;
分配特点:分成大小不等的区域,根据用户要求动态分配。
在可变分区分配方式中,当有新作业申请分配内存时所采用的存储分配算法有以下四种:
最佳适应法:选择等于或最接近作业需求的内存自由区进行分配。这种方法可以减少碎片,但同时也可能带来更多小得无法再用的碎片。
首次适应法:从主存低地址开始,寻找第一个可用(即大于等于作业需求的内存)的自由区。这种可实现快速分配,缩短查找时间。
最差适应法:选择整个主存中最大的内存自由区。
循环首次适应算法:是首次适应法的一个变种,也就是不再是每次都从头开始匹配,而是连续向下匹配。
看下面示例,有助于理解原理: