动态分区存储管理: 首次适应--最佳适应-最坏适应算法

动态分区存储管理: 首次适应--最佳适应-最坏适应算法

1.背景

多个应用程序请求主存空间是一个多对多的问题,在分区存储分配方法中由多个空闲区组成了空闲队列。对一个要进入主存的应用程序而言,主存分配程序在多个空闲区中选择那一个给该应用程序这就是一个放置 策略问题。


2.理论分析

空闲区队列的排序原则就体现了选择一个空闲区的策略。这个队列可以是无序的,即按照主存块释放的先后顺序排列。也可以按照某种分类方法进行排序,下面是两种常用的分类方法:

        1.按地址增加1或减少的次序分类排序。

        2.按区的大小增加或减少的次序排列。

无论哪种策略都应遵循:

        1.当分配一个空闲区的时候,按分配块的算法进行分配,而放置策略只是描述空闲区队列的排序原则。
         2.当回收一个空闲区时,必须按照队列的排序原则,把空闲区插入到队列适当的位置中以保证队列排序规则不变你。

3.放置策略(算法)比较

关于首次适应算法、最佳适应算法和最差适应算法,先看一下百度百科的解释,已经说出了三者的最大区别。
首次适应算法(first-fit):
从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。
最佳适应算法(best-fit):
从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小
最差适应算法(worst-fit):
它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的节点大小趋于均匀。

4.案例分析与实现

主存大小为 maxsize (512) 字节
申请过程:
         J1申请162J2申请64J3申请120J4申请86J1完成,J3完成,J5申请72J6申请100J2完成,J7申请36
     J8申请60J4完成,J9申请110J10申请42
规则:
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值