页面置换算法

  • 知识回顾
  • 练习
    • 习题一
    • 习题二

知识回顾

练习

习题一

内容:

某页式虚拟存储管理系统中,页面大小为1KB。给某一进程分配的内存块数为3 ,并按下列地址顺序引用内存单元:
3635、3632、1140、3584、2892、3640、0040、2148、1700、2145、3209、0000、1102、1100。
如果上述数字均为十进制数,而内存中尚未装入任何页。

(1) 给出使用LRU算法时的缺页次数。
(2)用流程图的方式解释地址变换的过程。(缺页时只需指出产生缺页中断以请求调页,具体的中断处理流程不需画出)

解答
(1)根据题意,页面的引用次序为3、3、1、3、2、3、0、2、1、2、3、0、1、1,则根据LRU算法依次访问各页,各内存块中的页面置换情况为(加粗页面表示刚调入内存):

访问页面 3 3 1 3 2 3 0 2 1 2 3 0 1 1
内存块1 3 3 3 3 3 3 3 3 1 1 1 0 0 0
内存块2 1 1 1 1 0 0 0 0 3 3 3 3
内存块3 2 2 2 2 2 2 2 2 1 1
是否缺页

故可以看出,LRU算法时的缺页次数为8次。


PS:解题过程中需要进行淘汰页面的选择时,可以通过逆向检查此时在内存中的几个页面号,在逆向扫描过程中最后一个出现的页面就是要淘汰的页面。

例如此时分析到需要页面0,而此时内存已满,需要选一个页面淘汰,进行页面置换:那此时内存中的页面是3、1、2,然后逆向扫描之前访问的页面,三个页面当中1是最早访问的,也是最近最久未使用的页面,故将页面1淘汰,将需要的页面0调入。

页面置换之后:

其他分析过程类似。


(2)假设没有快表机构,其地址变换过程为:

Created with Raphaël 2.2.0开始页号 > 页表长度?越界中断访问页表页在内存?修改访问位和修改位形成物理地址地址变换结束产生缺页中断请求调页yesnoyesno

习题二

题目内容:
在一个请求分页系统中,假定分配给一个进程的物理块数为3,并且此进程的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。
试用FIFO、LRU和OPT三种算法分别计算出在访问过程所发生的缺页次数。

解答:
FIFO算法:优先淘汰最早进入内存的页面,可以把进入内存的页面根据调入顺序形成一个队列,需要置换页面时将队列头淘汰

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 3 2 2
内存块2 3 3 3
内存块3 1
是否缺页
2
3
1

所以把2淘汰,页面5调入:

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 3 2 2 5
内存块2 3 3 3 3
内存块3 1 1
是否缺页
3
1
5

此时应该淘汰页面3,调入2:

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 3 2 2 5 5
内存块2 3 3 3 3 2
内存块3 1 1 1
是否缺页
1
5
2

分析过程就是这样,所以最后的结果:

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 3 2 2 5 5 5 5 3 3 3 3
内存块2 3 3 3 3 2 2 2 2 2 5 5
内存块3 1 1 1 4 4 4 4 4 2
是否缺页

故使用FIFO算法在访问过程中所发生的缺页次数为9次。


LRU算法:

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 2 2 2 2 2 2 2 3 3 3 3
内存块2 3 3 3 5 5 5 5 5 5 5 5
内存块3 1 1 1 4 4 4 2 2 2
是否缺页

故使用LRU算法在访问过程中所发生的缺页次数为7次。


OPT算法:

访问页面 2 3 2 1 5 2 4 5 3 2 5 2
内存块1 2 2 2 2 2 2 4 4 4 2 2 2
内存块2 3 3 3 3 3 3 3 3 3 3 3
内存块3 1 5 5 5 5 5 5 5 5
是否缺页

(倒数第三列,后面只会用到页面5,所以既可以用4号,也可以用3号页面进行替换,置换为页面2。)

故可以看出,使用OPT算法在访问过程中所发生的缺页次数为6次。

PS:OPT算法淘汰那些永不使用,或者在最长时间内不再被访问的页面(预知未来),所以在选择淘汰哪个页面时,和LRU算法刚好相反,可以使用前向扫描方法,在前向扫描过程中最后一个出现的页面就是要淘汰的页面。

比如此时内存已满,存放了2、3、1号页面,要将5号页面置换进来,淘汰页面可以从当前页面开始前向扫描,发现1是后面不会在访问的(1号是永不再使用的),所以淘汰1。

替换之后,变为:

个人理解,有误请指正~

页面置换算法知识回顾和习题相关推荐

  1. 请求分页管理方式页面置换算法

    大勇若怯,大智若愚 文章目录 请求分页管理方式 知识总览思维导图 页表机制 缺页中断机构 地址变换机构 总结思维导图 页面置换算法 知识总览思维导图 最佳置换算法(OPT) 先进先出置换算法 (FIF ...

  2. 三十七、页面置换算法

    一.知识总览 请求分页存储管理与基本分页存储管理的主要区别: 在程序执行的过程中,当所访问的信息不再内存中时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序. 若内存空间不够,由操作系统负责 ...

  3. 操作系统:基于页面置换算法的缓存原理详解(下)

    概述: 在上一篇<操作系统:基于页面置换算法的缓存原理详解(上)>中,我们主要阐述了FIFO.LRU和Clock页面置换算法.接着上一篇说到的,本文也有三个核心算法要讲解.分别是LFU(L ...

  4. 计算机操作系统——页面置换算法

    声明:本篇博客参考书籍<计算机操作系统>(西安电子科技大学出版社) 文章目录 一.最佳页面置换算法 1.基本知识 2.算法思想 二.先进先出(FIFO)页面置换算法 1.基本知识 2.算法 ...

  5. 存储管理的页面置换算法

    存储管理的页面置换算法 存储管理的页面置换算法在考试中常常会考到,操作系统教材中主要介绍了3种常用的页面置换算法,分别是:先进先出法(FIFO).最佳置换法(OPT)和最近最少使用置换法(LRU).大 ...

  6. 13 操作系统第三章 内存管理 虚拟内存 请求分页管理方式 页面置换算法 页面分配策略

    文章目录 1 虚拟内存 1.1 传统存储管理方式的特征.缺点 1.2 局部性原理 1.3 虚拟内存主要特征 1.4 如何实现虚拟内存技术 1.5 虚拟内存的基本概念小结 2 请求分页管理方式 2.1 ...

  7. 操作系统课设之虚拟内存页面置换算法的模拟与实现

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  8. 页面置换算法-LRU

    页面置换算法-LRU实验报告 目录 原创性声明 1 项目描述 2 系统结构分析 3 系统详细设计 4 系统主要算法 5 系统程序实现 6课程设计总结 附录:源程序 原创性声明 参考文献 <面向对 ...

  9. 页面置换算法相关概念和计算

    页面置换算法相关概念和计算(含例题详解) 注:本文只适用于做题,想更详细了解调度算法相关的知识可以参考这篇文章

最新文章

  1. Js Array数组ES5/ES6常用方法
  2. Ubuntu 默认输入法切换(更改)--- 解决中文输入问题
  3. 一文盘点数据行业的动态演变
  4. eclipse出现updating error reports database一直运行解决方案
  5. 移动端阻止body左右偏移
  6. mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等...
  7. 用TensorFlow的Linear/DNNRegrressor预测数据
  8. Django contenttypes组件
  9. About_php_封装函数
  10. Evolved Transformer
  11. 我的世界Java版最大村庄_《我的世界》MC中最大的村庄种子,PC和PE都可以用
  12. 004C语言 实现小世界网络
  13. 【实践与问题解决30】苹果手机如何取消使用切换控制时候弹出的重要通知
  14. CAD高版本窗体阵列LISP_如何把CAD高版本阵列对话框在低版本调出来?
  15. 达人评测 r7 7730u和i7 12700h差距 锐龙r77730u和酷睿i712700h对比
  16. UEstudio 17打开中文乱码的处理解决
  17. 计算机的最新应用有哪些内容是什么,善用Wink,将电脑操作录屏为flash (更新图片)...
  18. mysql投影和选择区别_关系运算里面,“选择”和“投影”区分?
  19. 面向对象设计的23种设计模式
  20. 学习笔记:MOOC 文献管理与信息分析

热门文章

  1. 视频云技术系列 - 5G 700MHz关键技术,大塔小塔模式和无线上行增强技术原理
  2. ug10许可证错误一8_申请流程企业排污许可证申请常见问题解答连载(一)
  3. 【100%通过率 】【华为OD机试c++/python】攻城战【 2023 Q1考试题 A卷 |200分】
  4. 51单片机学习 串行口通信实验
  5. Gmail POP3设定
  6. 华为鸿蒙电视什么屏幕,华为“屏”什么?
  7. [自动化-脚本]001.自动领淘金币:Anyweb模拟操作
  8. taggd-master和百度图钉的几个坑
  9. Chrome 浏览器安装Vue2、Vue3插件方法 (详细有效)
  10. 2014年4月7日 再次深入激辩余额宝