操作系统中可以使用LRU(Least Recently Used)内存淘汰旧数据的策略,如果内存需要加载新数据但空间不足,则会按照最近访问时间进行排序,并将最老的数据淘汰。假设现在内存空间大小为5,原本内存中没有数据,对内存中数据的访问顺序如下:
1, 2, 5, 3, 4, 6,1, 4, 3, 6, 7, 8, 3, 9
问访问过程中发生缺页的次数是多少次?

A. 缺页次数:4
B. 缺页次数:10
C. 缺页次数:5
D. 缺页次数:9

2 2 收藏


直接登录
最新评论
  • 王永康 iOS高级工程师 01/24

    答案 C

    分析。

    第一次读满数据 1,2,5,3,4

    读取6为新数据 ,淘汰1 数据序列为 2,5,3,4,6 ————第一次缺页

    读取1为新数据 ,淘汰2 数据序列为 5,3,4,6,1 ————第二次缺页

    读取4为已有数据 ,注意更新数据序列为 5,3,6,1,4

    读取3为已有数据 ,注意更新数据序列为 5,6,1,4,3

    读取6为已有数据 ,注意更新数据序列为 5,1,4,3,6

    读取7为新数据 ,淘汰5 数据序列为 1,4,3,6,7 ————第三次缺页

    读取8为新数据 ,淘汰1 数据序列为 4,3,6,7,8 ————第四次缺页

    读取3为已有数据 ,注意更新数据序列为  4,6,7,8,3

    读取9为新数据 ,淘汰4 数据序列为 6,7,8,3,9 ————第五次缺页

  • 王永康 iOS高级工程师 01/24

    正确答案为 B

    原本内存中没有数据,直到读满数据,每一次读取数据都是缺页,共五次

    加上后续的 5次缺页,共十次。

  • Mr.Hare   02/22

    B