2012 操作系统 驻留集 解答题
第 45 题

某请求分页系统的局部页面置换策略如下:系统从 0 时刻开始扫描,每隔 5 个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次被分配之前不被清空。当发生缺页时,如果该页曾被使用过且还在空闲页框链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。

假设不考虑其他进程的影响和系统开销,初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为 32、15、21、41。进程 P 依次访问的 <虚拟页号,访问时刻> 是:

<1, 1>、<3, 2>、<0, 4>、<0, 6>、<1, 11>、<0, 13>、<2, 14>。请回答下列问题。

(1) 访问<0, 4>时,对应的页框号是什么?

(2) 访问<1, 11>时,对应的页框号是什么?说明理由。

(3) 访问<2, 14>时,对应的页框号是什么?说明理由。

(4) 该策略是否适合于时间局部性好的程序?说明理由。

驻留集

[tag_link]

1)页框号为 21。理由:因为起始 [驻留集]为空,因此 0 页对应的页框为空闲链表中的第三个空闲页框 21,其对应的页框号为 21。

2)页框号为 32。理由:因 11>10 故发生第三轮扫描,页号为 1 的页框在第二轮已处于空闲页框链表中,此刻该页又被重新访问,因此应被重新放回驻留集中,其页框号为 32。

3)页框号为 41。理由:因为第 2 页从来没有被访问过,它不在驻留集中,因此从空闲页框链表中取出链表头的页框 41,页框号为 41。

4)合适。理由:如果程序的时间局部性越好,那么从空闲页框链表中重新取回的机会越大,该策略的优势越明显。