操作系统
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)该策略是否适合于时间局部性好的程序?说明理由。
答案
1)页框号:21
理由:访问时刻4,页0首次缺页,从空闲链表头部取出页框21分配。
2)页框号:32
理由:访问时刻11,页1曾被使用且在空闲链表中(页框32),因此重新放回驻留集。
3)页框号:41
理由:访问时刻14,页2首次缺页且从未使用过,从空闲链表头部取出页框41分配。
4)适合。
理由:时间局部性好的程序,被回收的页面很快会再次被访问,该策略允许从空闲链表中重新取回,提高效率。