【答案解析】第2页不在内存,产生缺页中断,根据改进CLOCK算法,第3页为没被引用和没修改的页面,故淘汰。新页面进入,页表修改如下:
逻辑页号
|
存在位
|
引用位
|
修改位
|
页框号
|
|
1
|
1
|
1
|
0
|
4
|
|
1
|
1
|
1
|
1
|
3
|
|
2
|
0→1
|
0→1
|
0
|
—→1
|
稠入
|
3
|
1→0
|
0
|
0
|
1→—
|
淘汰
|
4
|
0
|
0
|
0
|
--
|
|
5
|
1
|
0
|
1
|
5
|
|
因为页面2调入是为了使用,所以页面2的引用位必须改为1。 地址转换变为如下表:
逻辑地址
|
逻辑页号
|
页内偏移量
|
页框号
|
物理地址
|
0793
|
0
|
793
|
4
|
4889
|
1197
|
1
|
173
|
3
|
3245
|
2099
|
2
|
51
|
1
|
1075
|
3320
|
3
|
248
|
—
|
缺页中断
|
4188
|
4
|
92
|
—
|
缺页中断
|
5332
|
5
|
212
|
5
|
5332
|
[解析] 本题考查逻辑地址到物理地址的转换、页面置换等。地址转换过程一般是先将逻辑页号取出,然后查找页表,得到页框号,将页框号与页内偏移量相加,即可获得物理地址,若取不到页框号,那么该页不在内存,于是产生缺页中断,开始请求调页。若内存有足够的物理页面,那么可以再分配一个新的页面,若没有页面了,就必须在现有的页面之中找到一个页,将新的页与之置换,这个页可以是系统中的任意一页,也可以是本进程中的一页,若是系统中的一页,则这种置换方式称为全局置换,若是本进程的页面,则称为局部置换。置换时为尽可能地减少缺页中断次数,可以有多种算法来应用,本题使用的是改进的CLOCK算法,这种算法必须使用页表中的引用位和修改位,由这2位组成4种级别,没被引用和没修改的页面最先淘汰,没引用但修改了的页面其次,再者淘汰引用了但是没修改的页面,最后淘汰既引用又修改的页面,当页面的引用位和修改位相同时,随机淘汰一页。