某计算机系统的内存大小为256KB,在分配完P5进程后,内存的使用情况如下表所示。
起始 | 0 | 5 | 15 | 40 | 90 | 110 | 145 | 155 | 160 | 225 | 245 |
大小 | 5KB | 10KB | 25KB | 50KB | 20KB | 35KB | 10KB | 5KB | 65KB | 20KB | 11KB |
标记 | 空 | P1 | P2 | 空 | P3 | 空 | P4 | P5 | 空 | P6 | 空 |
此时,有新的进程请求20KB和5KB的内存空间,系统分配后如下表所示,
起始 | 0 | 5 | 15 | 40 | 45 | 90 | 110 | 145 | 155 | 160 | 180 | 225 | 245 |
大小 | 5KB | 10KB | 25KB | 5KB | 45KB | 20KB | 35KB | 10KB | 5KB | 20KB | 45KB | 20KB | 11KB |
标记 | 空 | P1 | P2 | P8 | 空 | P3 | 空 | P4 | P5 | P7 | 空 | P6 | 空 |
那么,系统采用的是什么分配算法
最先适应算法
下次适应算法
最优适应算法
最坏适应算法
答案
最坏适应算法
解析
当接到内存申请是,查找分区说明表,找到能满足分割申请要求的最大的空闲区。该算法的基本思想是:在大空闲区中装入信息后,分割剩下的空闲区相对也很大,还能装入其他程序。
在分配完P5进程后,空闲内存的为:
5KB、50KB、35K、65KB、11KB。当新的进程请求20KB内存空间时,首先是从选择最大空闲内存65KB中分出20KB作为P7进程,45KB为空闲区;同理,当新的进程请求5KB的内存空间时,选择最大空闲内存50KB分出5KB作为P8进程,45KB为空闲区。