操作系统(day09) -- 连续分配管理方式

连续分配管理方式

单元连续分配

在这里插入图片描述

动态分区分配

1.系统要用什么样的数据结构记录内存的使用情况?
两种常用的数据结构

  • 空闲分区表
    每个空闲分区对应一个表项。表项中包含分区号、分区大小、分区起始地址等信息
  • 空闲分区链
    每个分区的起始部分和末尾部分分别设置前向指针和后向指针。起始部分出还可记录分区大小等信息

2.当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?
引出动态分区分配算法

3.如何进行分区的分配回收操作?假设系统采用的数据结构是“空闲分区表”

  • 回收区前有相邻的空闲分区
  • 回收区后有相邻的空闲分区
  • 回收前、后各有一个相邻的空闲分区
  • 回收前、后都没有相邻的空闲分区
    在这里插入图片描述
    课后思维导图总结
    在这里插入图片描述

动态分区分配算法

首次适应算法

每次都从低地址开始查找,找到第一个能满足大小的空闲分区。

如何实现?
空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。

最佳适应算法

由于动态区分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时有连续的大片空间,优先使用更小的空闲区

如何实现?
空闲分区以容量递增的次序排列。每次分配内存时顺序查找空闲分区链,找到大小能满足要求的第一个空闲分区

在这里插入图片描述

最坏适应算法

又称 最大适应算法
每次分配时优先使用最大的连续空闲区,这样分配后的剩余的空闲区就不会太小,方便使用
如何实现?
空闲分区按容量递减的次序排列。每次分配内存时顺序查找空闲分区链,找到大小能满足要求的第一个空闲分区

四种算法的优缺点
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值