存储管理之动态分区分配(实验四)

存储管理中的连续内存分配有绝对装入方式和可重定位装入方式。绝对装入方式,同一时间内存只能有一个进程在运行,程序在内存中的物理地址要和编写程序时的逻辑地址完全相同。可重定位装入方式,解决了多道程序设计的中多个程序装入内存的问题,实现了多个程序同时装入内存。动态分区分配算法有首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

首次适应算法:空闲分区链表以地址递增的次序连接,分配内存时从链首顺序查找,直到找到大小能够满足的空闲分区,缺点低地址不断被分割,产生很多很小的分区(碎片)。

循环首次适应算法:分配分区从上次找到的空闲分区的下一个空闲分区开始查找,减少碎片化及查找开销。

最佳适应算法:空闲分区按照分区大小从小到大排序,分配分区时总把能够满足需求并且是最小的空闲分区分配给作业,缺点容易产生碎片。

最坏适应算法:空闲分区按照分区大小从大到小排序,分配分区时选择最大的分配给作业,缺点每次都要分割大的空闲分区,这样会造成存储器缺少大的空闲分区。


动态分区分配之首次适应算法的C语言模拟:

#include <stdio.h>
#include <string.h>
#include <stdlib.h&g
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值