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

文章探讨了动态分区分配的管理方式,包括使用空闲分区表和链来记录内存状态。提到了三种动态分区分配算法:首次适应,优先选择最小的空闲分区;最佳适应,保留大片连续空间给大进程;最坏适应,先用最大的空闲分区以避免过多小分区。这些算法各有优缺点,适应不同场景。

连续分配管理方式

单元连续分配

在这里插入图片描述

动态分区分配

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

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

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

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

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

动态分区分配算法

首次适应算法

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

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

最佳适应算法

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

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

在这里插入图片描述

最坏适应算法

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值