置换算法例题分析

225 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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次。

以上就是本次例题分析的全部内容。