假设计算机系统的内存大小为512KB,在某一时刻内存的使用情况如下表所示。
起始 | 0 | 10 | 30 | 80 | 180 | 220 | 290 | 310 | 320 | 450 | 490 |
大小 | 10KB | 20KB | 50KB | 100KB | 40KB | 70KB | 20KB | 10KB | 130KB | 40KB | 22KB |
标记 | 空 | P1 | P2 | 空 | P3 | 空 | P4 | P5 | 空 | P6 | 空 |
此时,进程P7、P8分别请求40KB和10KB的内存,系统分配后内存的使用情况如下表所示。
起始 | 0 | 10 | 30 | 80 | 120 | 180 | 220 | 290 | 310 | 320 | 450 | 490 |
大小 | 10KB | 20KB | 50KB | 40KB | 60KB | 40KB | 70KB | 20KB | 10KB | 130KB | 40KB | 22KB |
标记 | P8 | P1 | P2 | P7 | 空 | P3 | 空 | P4 | P5 | 空 | P6 | 空 |
那么,系统采用的分配算法是
最先适应算法
随机适应算法
最优适应算法
最坏适应算法
答案
最先适应算法
解析
最先适应算法,又称顺序分配算法。在这种分配算法中,当接到内存申请时,顺序查找分区说明表,找到第一个满足申请长度的空闲区,将其分割并分配。
题意中在分配完P6进程后有新的进程P7、P8请求40KB和10KB的内存空间,所以从P5进程之后找到满足进程请求40KB和10KB的内存空间。在内存空间为100KB分配进程请求40KB的内存空间标记为P7,在内存空间为10KB分配进程请求10KB的内存空间标记为P8。