操作系统——页面置换算法练习题
1、设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页(Page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame)。在时刻260前的该进程访问情况如下表所示(访问位即使用位)。
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题:
(1)该逻辑地址对应的页号是多少?
(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下)。
解:
(1)解:
因为页的大小为1KB=2^10B,所以页内地址所占位数为10位;
17CAH——>0001 0111 1100 1010B
所以页号为0001 01——> 5
(2)解:
若采用先进先出(FIFO)置换算法,则应该替换掉0号页,其对应的页框号为7,所以物理地址为:
0001 1111 1100 1010B ——> 1FCAH
(3)解:
若采用时钟(CLOCK)置换算法;注意下图中红框框起部分,正常情况下,指针是会前进一步,指向下一个表目,然后判断页面访问位是不是等于0呀,如果不是就置页面访问位为0了,是0的话,就将这个页面给换出啦;但是此题说了:“设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框,示意图如下。”——你看既然人家都说了,现在指针就指向2号页框,你就不要再向前移动指针啦,就从2号页框开始,循环访问,依次置0,最后发现又回到了2号页框(因为初始时所有页的访问位都是1嘛),所以最后将2号页换出,对应的页框为2,所以物理地址为:0000 1011 1100 1010B ——> 0BCAH