给定内存空闲分区,按地址从小到大为:100K、500K、200K、300K、600K。现有用户进程依次分别212K、417K、112K、426K。(1)分别用首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法将它们装入到内存的哪个分区?(2)哪个算法最有效利用内存?
答:(1)按题意地址从小到大进行分区,如图所示:
1)首次适应算法:212K选中分区2,这时分区2还剩下288KB。417K选中分区5,这时分区5还剩下183KB。112K选中分区2,这时分区2还剩下176KB。426KB无分区能满足要求,等待。
2)循环首次适应算法:本题目中与首次适应算法相同。
3)最佳适应算法:212K选中分区4,这时分区4还剩88KB。417K选中分区2,这时分区2还剩83KB。112K选中分区3,这时分区3还剩88K。426K选中分区5,这时分区5还剩174KB。
4)最坏适应算法:212K选中分区5,这时分区5还剩388KB。417K选中分区2,这时分区2还剩83KB。112K选中分区5,这时分区5还剩276KB。426K无分区能满足,等待。
(2)最佳适应算法最有效使用内存。