某虚拟存储系统采用最近使用频率最少的页面淘汰算法,计算使用频率的区间为前5次页面访问。现有一个访问页面的序列:
2 6 1 5 7 7 7 7 5 1 6 2 3 4 1 2 3 4 4 4 3 4
假定系统分配给该进程3个内存页面,刚开始时内存为空。执行这段程序将会产生()缺页中断(程序的存储不计,当使用频率相同时,按最近访问优先保留的方式处理)。
A.14次
B.11次
C.12次
D.13次
参考答案:D
解析:
所谓最近使用频率最少的淘汰算法,是指系统在运行过程中不断地计算在内存的每一个页面从当时向前的一个定长区间里被访问的次数。当发生缺页中断,需要淘汰一页时,选择访问次数最少的那个页面将该页面放回磁盘,再将需调入的页面放入空出来的内存区间。这种方法需要硬件机制来辅助实现,一种近似方法是为每一个内存页面附加一个寄存器,每执行一条指令,寄存器左移一位,若刚才这一条指令访问了该页面,则最后一位为1,否则为零。于是,寄存器中为1的位数即代表了在这一段区间 (区间长为寄存器的位数)内相应页面被访问的频率。
本题中,计算访问频率的区间长度为5,表示寄存器只有5位,缺页次数为13。正确答案应该为D。
[*]