某系统采用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了4个存储块,其页面变换表如下表所示,表中的状态位等于1和0分别表示页面在内存或不在内存。当该进程访问的第3号页面不在内存时,应该淘汰表中页面号为(__)的页面。

NRU(最近未使用)页面置换算法是请求页式存储管理中常用的置换策略,核心是通过页面的访问位(A,标记页面近期是否被访问)和修改位(M,标记页面是否被修改)将内存中的页面分为四类,淘汰优先级从高到低依次为:A=0且M=0、A=0且M=1、A=1且M=0、A=1且M=1。排序逻辑基于两个维度,一是优先淘汰近期未被访问(A=0)的页面,这类页面后续被访问的概率更低;二是在访问状态相同的情况下,优先淘汰未修改(M=0)的页面,因为这类页面淘汰时无需写回磁盘,系统开销更小。该算法实现简单,无需复杂的访问记录统计,不过精准度略逊于LRU(最近最少使用)算法,适合对性能开销有控制需求的系统场景。
本题考察的是虚拟存储管理中的页面置换(NRU/访问位-修改位法)。
NRU按“访问位A、修改位M”的组合来确定淘汰优先级,优先级从高到低依次为:A=0且M=0(类0)→ A=0且M=1(类1)→ A=1且M=0(类2)→ A=1且M=1(类3)。
直观含义是:未被最近访问的页更应淘汰;在同等访问性的情况下,未修改的页更优先淘汰。
结合题表内存中的4个页:页0(A=1,M=1,类3)、页2(A=1,M=1,类3)、页4(A=0,M=1,类1)、页5(A=1,M=0,类2)。因此应优先从类1中选,淘汰页4。
A选项 0:访问位和修改位均为1,属于类3,淘汰优先级最低,不应被选。
B选项 2:同为A=1、M=1,属于类3,淘汰优先级最低,不应被选。
C选项 4:A=0、M=1,属于类1,优先级高于类2与类3,符合NRU策略,应被淘汰,正确。
D选项 5:A=1、M=0,属于类2,优先级低于类1中的页4,不应优先淘汰。
选择选项 C。
