主存空间的分配与回收 4 系统主要算法
(1) 首次适应算法
当用户申请一块内存空间时,从内存开始的地方开始查找,选择第一个满足要求的空闲分区,如果它不等于作业大小,将其分成两部分,一部分给作业,另一部分仍留在空闲区块中。
算法通过遍历已使用的内存找到合适的内存空间,所以算法的时间复杂度是O(n)。
(2) 最佳适应算法
当有作业申请内存时,总是首先找到满足要求的最接近于作业大小的空闲分区。因分区大小与作业相近,从而避免将较大的分区分成两部分,当有较大的作业要求分配内存时,容易得到满足。
从前往后遍历内存寻找合适的且最小的内存空间,所以算法的时间复杂度是O(n)。
(3) 最差适应算法
当申请一块内存空间时,从内存开头开始寻找,找到那个比申请进程的空间大且最大的空闲分区,选择其作为进程的空间。
从后往前遍历内存寻找合适的且最小的内存空间,所以算法的时间复杂度是O(n)。
(4) 主存的回收算法
当系统回收一个分区时,首先检查是否有前后相邻的空闲区,如有,则进行合并,合并后的空闲区仍保留在原位置上,但需要修改相应的数组起始位置和分区大小。
2022-11-30 12:02:39
1.06MB
主存
1