题51

题目

Q:【2016 统考真题】某系统采用改进型 CLOCK 置换算法,页表项中字段 A 为访问位,M 为修改位。A=0 表示页最近没有被访问,A=1 表示页最近被访问过。M=0 表示页没有被修改过,M=1 表示页被修改过。按 (A, M) 所有可能的取值,将页分为四类:(0, 0)、(1, 0)、(0, 1) 和 (1, 1),则该算法淘汰页的次序为( )。
A. (0, 0), (0, 1), (1,0), (1, 1)
B. (0, 0), (1, 0), (0, 1), (1, 1)
C. (0, 0), (0, 1), (1, 1), (1, 0)
D. (0, 0), (1, 1), (0, 1), (1, 0)

分析

A:什么是CLOCK置换算法
CLOCK又叫做NRU,最近未使用,注意和这个最近最久未使用LRU区分开来
访问过的置为1,找到0的去替换
要替换的时候,去找,找到1了反向又换成0,知道找到一个真正的0
题目中这个是有修改位和访问位两种的这个改进版的

A
改进型 CLOCK 置换算法执行的步骤如下:

  1. 从指针的当前位置开始, 扫描帧缓冲区。在这次扫描过程中, 对使用位不做任何修改。 选择遇到的第一个帧 用于替换。
  2. 若第 1) 步失败,则重新扫描,查找 的帧。选择遇到的第一个这样的帧用于替换。在这个扫描过程中, 对每个跳过的帧, 将其使用位设置成 0 。
  3. 若第 2) 步失败, 则指针将回到它的最初位置, 并且集合中所有帧的使用位均为 0 。重复第 1) 步, 并在有必要时重复第 2) 步, 这样将可以找到供替换的帧。
    因此,该算法淘汰页的次序为