操作系统基础:存储管理 - 页面置换算法(页号、物理块号)

1 概述

1.1 页式存储

  • 页式存储:将 程序内存 划分为 同样大小的块,以 为单位将 程序 调入 内存
  • 地址区分:程序中使用逻辑地址,内存中使用物理地址,参考下图
    • 逻辑地址 = 页号 + 页内地址
    • 物理地址 = 页帧号(物理块号) + 页内地址

在这里插入图片描述

【例题1】若页面大小是 4k,逻辑地址是 2d16h,页表如下图所示,问页号是多少?对应的物理地址是多少?

在这里插入图片描述

解析:
1、根据页面大小为 4 k = ( 2 12 ) 4k =(2^{12}) 4k=212 可知,后 12 位为 页内地址
2、根据逻辑地址为 2 d 16 h = 16 进制数 2d16h = 16进制数 2d16h=16进制数 可知,前 4 位为 页号
3、将 2d16h 转为二进制是 0010 1101 0001 0110,可知,0010 为页号,对应十进制数 2,此为第一个问答案
4、根据页表可知,页号 2 对应块号 6 = 0110,故对应物理地址为 0110 1101 0001 0110

2 页面置换算法

2.1 先进先出 FIFO

  • FIFO:First In First Out(先进先出)

  • 原理:最先进入内存的页面,最先退出内存(向前看)

  • 效率:FIFO 算法只是在按线性顺序访问地址空间时,才是最理想的,否则效率不高。因为那些常被访问的页,往往在内存中也停留得最久,结果它们因变 “老” 而不得不被置换出去。

  • 举例:考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当内存块数量为 3 时,问先进先出置换算法(FIFO)的缺页次数是多少?(所有内存块最初都是空的,凡是第一次用到的页面都产生一次缺页)

    在这里插入图片描述

    • 缺页:在块中找不到对应的页面(写入块中,缺页为 ×);反之,可以找到(块内容保持不变,缺页为 √)
    • 红色字体:置换的部分(下同);蓝色背景:该页面可以在块中的位置

2.2 最佳置换法 OPT

  • OPT:optimum(最佳的)
  • 原理:置换最长时间不需要访问的页面(向后看)
  • 理论:这是一种理想情况下的页面置换算法,但实际上不可能实现。因为无法预测之后出现的是哪个页面。
    在这里插入图片描述

2.3 最近最少使用 LRU

  • LRU:Least Recently Used(最近最少使用)
  • 原理:置换最近最少使用的页面(向前看)

在这里插入图片描述

3 扩展

3.1 网工软考真题

【2017上半年 - 8】某计算机系统页面大小为 4K,进程的页面变换表如下所示。若进程的逻辑地址为 2D16H。该地址经过变换后,其物理地址应为()
A.2048 H
B.4096
C.4D16H
D.6D16H

页号物理块号
01
13
24
36

参考答案:C
确认页内地址长度。页面大小 4 k = 2 12 b 4k = 2^{12}b 4k=212b,则说明 页内地址长度为 12
将逻辑地址转为二进制。逻辑地址是 2D16H,转为二进制是:0010 1101 0001 0110
划分 页内地址 和 页号。页内地址(后 12 位):1101 0001 0110。页号(余下部分,不足补 0):0010
页号 和 物理块号 转换。页号 0010,对应十进制数:2,根据对照转换表可知,对应 物理块号为 4
得出转换后的物理地址。物理块号 4 + 页内地址 D16 = 4D16H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼丸丶粗面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值