🏷️ 知识点:Clock算法

共 3 道相关题目

2016 年第 26 题 操作系统 选择题

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

页面置换算法 clock算法

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)

[tag_link]

正确答案:A

改进型 Clock 也称为 “二次机会(Second-Chance)算法的增强版”,依据页的访问位 A 和修改位 M 将页分成四类:

  • (0, 0):最近未被访问,未被修改 —— 优先淘汰
  • (0, 1):最近未被访问,但被修改 —— 淘汰代价较大(需写回磁盘),次优先
  • (1, 0):最近被访问,未被修改 —— 说明该页仍有用,再次保留
  • (1, 1):最近被访问,已被修改 —— 最不愿意淘汰因此,淘汰顺序是按照代价和“是否有用”排序的:👉 (0, 0) < (0, 1) < (1, 0) < (1, 1)✅ [tag_link]正确答案是:A. (0, 0), (0, 1), (1, 0), (1, 1)

2021 年第 28 题 操作系统 选择题

某请求分页存储系统的页大小为 4KB,按字节编址。系统给进程 P 分配 2 个固定的页框并采用改进型 Clock 置换算法,进程 P 页表的部分内容如下表所示:

2018_Q7_3

若 P 访问虚拟地址为 02A01H 的存储单元,则经地址变换后得到的物理地址是()。

页面置换算法 clock算法

A. 00A01H B. 20A01H C. 60A01H D. 80A01H

[tag_link]

正确答案:C

页面大小为 4KB,低 12 位是页内偏移。虚拟地址为 02A01H,页号为 02H,02H 页对应的页表项中存在位为 0,进程 P 分配的页框固定为 2,且内存中已有两个页面存在。根据 CLOCK 算法,选择将 3 号页换出,将 2 号页放入 60H 页框,经过地址变换后得到的物理地址是 60A01H。


2018 年第 45 题 操作系统 综合题

请根据题 44 图给出的虚拟存储管理方式,回答下列问题。

(1) 某虚拟地址对应的页目录号为 6,在相应的页表中对应的页号为 6,页内偏移量为 8,该虚拟地址的十六进制表示是什么?

(2) 寄存器 PDBR 用于保存当前进程的页目录起始地址,该地址是物理地址还是虚拟地址?进程切换时,PDBR 的内容是否会变化?说明理由。同一进程的线程切换时,PDBR 的内容是否会变化?说明理由。

(3) 为了支持改进型 CLOCK 置换算法,需要在页表项中设置哪些字段?

地址翻译 clock算法

[tag_link]

1)由图可知,地址总长度为 32 位,高 20 位为虚页号,低 12 位为页内地址,且虚页号高 10 位为页目录号,低 10 位为页号。十六进制表示为 01806008H。

2)PDBR 为页目录基址地址寄存器(Page-Directory Base Register),其存储页目录表物理内存基地址。进程切换时,PDBR 的内容会变化;同一进程的线程切换时,PDBR 的内容不会变化。每个进程的地址空间、页目录和 PDBR 的内容存在一一对应的关系。进程切换时,地址空间发生了变化,对应的页目录及其起始地址也相应变化,因此需要用进程切换后当前进程的页目录起始地址刷新 PDBR。同一进程中的线程共享该进程的地址空间,其线程发生切换时,地址空间不变,线程使用的页目录不变,因此 PDBR 的内容也不变。

3)改进型 Clock 置换算法需要用到使用位和修改位,故需要设置访问字段(使用位)和修改字段(脏位)。