操作系统习题

在可变分区存储管理下,若内存中按照地址递增次序存在3个不邻接的空闲区F1、F2、F3,其大小分别是50KB、120KB和25KB。请给出后备作业序列,使得实施分配时满足:(1)采用最优适配算法效果好,但采用最先适配与最坏适配算法效果不好。(2)采用最坏适应算法效果好,但采用最先适配与最优适配算法效果不好。(3)采用最优适配算法效果不好,但采用最先适配与最坏适配算法效果好。

 答1:

对于问题1,采用最优适配算法效果好,可以按照作业大小从小到大的顺序排列后备作业,具体作业序列如下:

作业1:20KB 作业2:30KB 作业3:40KB 作业4:60KB 作业5:80KB

这样,在分配作业时,最先使用最优适配算法,始终选择最小可用空闲区,可以充分利用内存,避免出现大块空闲区不能被使用的情况。

对于问题2,采用最坏适应算法效果好,可以按照作业大小从大到小的顺序排列后备作业,具体作业序列如下:

作业1:80KB 作业2:60KB 作业3:40KB 作业4:30KB 作业5:20KB

这样,在分配作业时,最先使用最坏适配算法,始终选择最大可用空闲区,可以避免出现大块空闲区被小作业占用而造成的内存浪费。

对于问题3,采用最先适配算法和最坏适配算法效果好,可以按照作业大小从小到大的顺序排列后备作业,具体作业序列如下:

作业1:20KB 作业2:30KB 作业3:40KB 作业4:80KB 作业5:60KB

这样,在分配作业时,先使用最先适配算法,选择最先找到的可用空闲区分配作业,可以避免出现大块空闲区一直无法被利用的情况。当没有足够大的空闲区时,再使用最坏适配算法,选择最大可用空闲区分配作业,可以避免出现大块空闲区被小作业占用而造成的内存浪费。

答2: 

(1) 采用最优适配算法效果好的序列:

作业 1: 80KB 作业 2: 30KB 作业 3: 60KB

(2) 采用最坏适应算法效果好的序列:

作业 1: 70KB 作业 2: 50KB 作业 3: 110KB

(3) 采用最先适配算法效果好的序列:

作业 1: 30KB 作业 2: 70KB 作业 3: 20KB

答3:

(1) 最优适配算法效果好,最先适配与最坏适配算法效果不好。

后备作业序列:J1需要30KB、J2需要55KB、J3需要40KB、J4需要90KB

最优适配算法:将J1放入F1,剩下20KB;将J2放入F3,剩下25KB;将J3放入F1,剩下10KB;将J4放入F2,剩下30KB

最先适配算法:将J1放入F1,剩下20KB;将J2放入F1,剩下65KB;将J3放入F2,剩下95KB;无法将J4放入任何空闲区

最坏适配算法:将J1放入F2,剩下20KB;将J2放入F2,剩下-55KB(无法分配);

(2) 最坏适应算法效果好,最先适配与最优适配算法效果不好。

后备作业序列:J1需要80KB、J2需要25KB、J3需要30KB、J4需要60KB

最坏适配算法:将J1放入F2,剩下40KB;将J4放入F1,剩下10KB;将J3放入F3,剩下5KB;将J2放入F3,剩下-20KB(无法分配)

最优适配算法:将J1放入F2,剩下50KB;将J2放入F3,剩下95KB;将J3放入F1,剩下20KB;将J4放入F2,剩下-30KB(无法分配)

最先适配算法:将J1放入F2,剩下50KB;将J2放入F3,剩下95KB;将J3放入F1,剩下20KB;将J4放入F2,剩下-30KB(无法分配)

(3) 最优适配算法效果不好,最先适配与最坏适配算法效果好。

后备作业序列:J1需要40KB、J2需要95KB、J3需要60KB、J4需要30KB

最先适配算法:将J1放入F1,剩下10KB;将J2放入F2,剩下25KB;将J3放入F2,剩下-35KB(无法分配)

最坏适配算法:将J1放入F3,剩下25KB;将J2放入F2,剩下0KB;将J3放入F2,剩下-60KB(无法分配)

最优适配算法:将J1放入F1,剩下10KB;将J2放入F2,剩下25KB;将J3放入F2,剩下-35KB(无法分配);将J4放入F1,剩下20KB;

综上,选择不同的存储分配算法,会影响到可变分区存储管理的效率。在实际应用中,需要根据具体情况选择最合适的算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值