开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第26天,点击查看活动详情
本次我们通过一个例题分析,来学习置换算法。
在请求分页存储管理中,页面长度为4K,没有快表。现开始执行一进程,进程的3号和7号逻辑页面依次已经在内存,连续访问5E5F、3E5F、8F11、3EA4、7E41、6B41、431A、3E40、7D88逻辑地址上的数据。假设:一个进程最多可保留4个页面在内存;如分别采用FIFO、LFU和OPT(最优)页面置换算法,试求:
(1)页内地址有几位
由题意知,页面长度是4K,即2的12次方,所以页内地址有12位。
(2)这个进程依次访问了哪些逻辑页面?
5E5F、3E5F、8F11、3EA4、7E41、6B41、431A、3E40、7D88逻辑地址上的数据都是十六进制,而页内地址占低12位,所以高4位是页号,所以这些逻辑地址上的数据对应的逻辑页面分别是5、3、8、3、7、6、4、3、7,即也是这个进程依次访问的逻辑页面。
(3)每种算法访问哪些地址发生了缺页中断?共发生几次?
由题意知,最多可保留4个页面在内存,进程的3号和7号逻辑页面依次已经在内存。
FIFO算法:
3 3 3 3 3 6 6 6 6
7 7 7 7 7 7 4 4 4
5 5 5 5 5 5 5 3 3
8 8 8 8 8 8 7
缺 不缺 缺 不缺 不缺 缺 缺 缺 缺
····
FIFO算法访问5E5F、8F11、6B41、431A、3E40、7D88这些地址发生了缺页中断,共发生了6次。
LFU算法:
3 3 3 3 3 3 3 3 7
7 7 7 7 7 6 4 4 4
5 5 5 5 5 5 5 5 5
8 8 8 8 8 8 8
缺 不缺 缺 不缺 不缺 缺 缺 不缺 缺
····
LFU算法访问5E5F、8F11、6B41、431A、7D88这些地址时发生了缺页中断,共发生了5次。
OPT(最优)页面置换算法:
3 3 3 3 3 3 4 3 7
7 7 7 7 7 6 6 6 6
5 5 5 5 5 5 5 5 5
8 8 8 8 8 8 8
缺 不缺 缺 不缺 不缺 缺 缺 缺 缺
···
OPT(最优)页面置换算法访问5E5F、8F11、6B41、431A、3E40、7D88这些地址时发生了缺页中断,共发生了6次。
以上就是本次例题分析的全部内容。