页面置换算法及例题

一、页面置换算法

不适当的算法可能会导致进程发生“抖动”:即刚被换出的页很快又要被访问,需要将他重新调入,此时又需要再选一页调出。而此刚被调出的页面很快又被访问,又需将它调入,如此频繁地更换页面,以致一个进程在运行中把大部分时间都花费在页面置换工作上,我们称该进程发生了“抖动”。

一个好的页面置换算法应该具有较低地页面更换频率。从理论上讲,应将哪些以后不再会访问地页面换出,或把那些在较长时间内不会再访问的页面调出。目前已有多种置换算法,他们都试图更接近于理论上的目标。下面介绍几种常用的置换算法。

二、常用的页面置换算法

1.最佳(Optimal)置换算法

其所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,是理想化的算法(因为我们很难预知未来要访问哪些页面),可以用来评测其他实际应用算法的好坏。

2.先进先出(FIFO)置换算法

总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面给予淘汰(由于与页面的使用规律不符,可能是性能最差的算法)。

3.最近最久未使用LRU(Least Recently Used)置换算法

选择最近最久未使用的页面予以淘汰。

4.最少使用LFU(Least Frequently Used)置换算法

选择在最近时期使用最少的页面作为淘汰页(当使用次数相同时,谁最先来淘汰谁)。

5.Clocks置换算法

(1)简单的Clocks置换算法(最近未使用NRU(Not Recently Used)算法)

为每一页设置一个访问位,再将内存中所有页面通过指针链接成一个循环队列。当某页被访问时,其访问位置1。在选择某一页淘汰时,只需检查页的访问位。如果是0,就选择该页换出,若为1,则重新将他置0,暂不换出,给予该页第二次驻留内存的机会,再检查下一个页面。当检查到队列中最后一个页面时,若访问位仍为1,则再返回队首去检查第一个页面。

图为简单Clocks算法的流程示意图

(2)改进型Clocks置换算法

在简单型的基础上再增加一个修改位M,组合成四类页面:

①(A=0,M=0):表明该页最近既未被访问,又未被修改,是最佳淘汰页

②(A=0,M=1):表明该页最近未被访问,但已被修改,并不是很好的淘汰页

③(A=1,M=0):表明该页最近已被访问,但未被修改,该页有可能再被访问

④(A=1,M=1):表明该页最近已被访问且被修改,该页可能再被访问

算法执行过程可以总结如下:

<1>指针从当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A

<2>第一步失败,则进行第二轮扫描,寻找A=0且M=1的第二页页面,将所遇到的第一个这类页面作为淘汰页,在第二轮扫描期间,将所有扫描过的页面的访问位都置0

<3>第二步失败,则指针返回开始位置,并将所有访问位复0,重复第一步,若仍失败,再重复第二步,一定能找到被淘汰的页

三、页面置换算法举例

1.最佳分配置换算法

插入顺序

1

2

3

4

1

2

5

1

2

3

4

5

内存

1

1

1

1

1

1

1

1

1

3

3

3

 

2

2

2

2

2

2

2

2

2

4

4

 

 

3

4

4

4

5

5

5

5

5

5

是否缺页

+

+

+

+

 

 

+

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

理想条件下缺页次数为7次,缺页率为7/12

2.先进先出置换算法

插入顺序

1

2

3

4

1

2

5

1

2

3

4

5

内存

1

1

1

4

4

4

5

5

5

5

5

5

 

2

2

2

1

1

1

1

1

3

3

3

 

 

3

3

3

2

2

2

2

2

4

4

是否缺页

+

+

+

+

+

+

+

 

 

+

+

 

 

 

 

 

 

 

 

 

 

 

 

缺页次数为9次,缺页率为3/4

3.最久未使用置换算法

插入顺序

1

2

3

4

1

2

5

1

2

3

4

5

内存

1

1

1

4

4

4

5

5

5

3

3

3

 

2

2

2

1

1

1

1

1

1

4

4

 

 

3

3

3

2

2

2

2

2

2

5

是否缺页

+

+

+

+

+

+

+

 

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

缺页率次数为10次,缺页率为5/6

4.简单Clocks置换算法

插入顺序

1

2

3

4

1

2

5

1

2

3

4

5

内存

1

A=0

1

A=0

1

A=0

4

A=0

4

A=0

4

A=0

5

A=0

5

A=0

5

A=0

3

A=0

4

A=0

4

A=1

 

A=0

2

A=0

2

A=0

2

A=0

1

A=0

1

A=0

1

A=0

1

A=1

1

A=1

1

A=1

1

A=0

5

A=0

 

A=0

 

A=0

3

A=0

3

A=0

3

A=0

2

A=0

2

A=0

2

A=0

2

A=1

2

A=1

2

A=0

2

A=0

是否缺页

+

+

+

+

+

+

+

 

 

+

+

+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

缺页次数为10次,缺页率为5/6

转载于:https://www.cnblogs.com/RB26DETT/p/10035804.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vista磁盘使用100%_如何在Windows 7或Vista中创建和使用密码重置磁盘

vista磁盘使用100%Forgetting your password can be an extremely frustrating situation, and we’ve already shared how to reset your password with the Ultimate Boot CD as well as the System Rescue CD, but you can prevent the situation entirely by creating a pa…

Nginx服务状态的监控

一、安装Nginx 使用源码编译安装&#xff0c;包括具体的编译参数信息。 正式开始前&#xff0c;编译环境gcc g 开发库之类的需要提前装好。 安装make&#xff1a; yum -y install gcc automake autoconf libtool make 安装g: yum install gcc gcc-c 一般我们都需要先装pcre, zl…

计算机二级高级应用这么难,计算机二级考试越来越难的实锤!真实数据告诉你到底难在哪里?...

今年3月考试成绩暂时未公布(预计在5月中旬发布)&#xff0c;通过率暂时无法得知。但是根据考后后台反馈情况&#xff0c;今年通过率可能再创新低。不管你是不是有感知&#xff0c;计算机二级通过率的确在逐年降低。近3年难度越来越大每次考试结束后后台评论最多的就是“今年的考…

windows 系统监视器_使用Windows 7中的可靠性监视器对计算机问题进行故障排除

windows 系统监视器Windows Vista introduced us to the Reliability and Performance Monitor utility to help keep track of hardware and software crashes. It’s now a stand alone utility in Windows 7 and we will take a look at how to access and use it. Windows …

4-8 string

1、常用的string模块 1 import string2 3 # 26个小写字母4 print(string.ascii_lowercase) 5 # abcdefghijklmnopqrstuvwxyz6 7 # 26个大写字母8 print(string.ascii_uppercase) 9 # ABCDEFGHIJKLMNOPQRSTUVWXYZ 10 11 # 10个数字 12 print(string.digits) # 0123456789 1…

powerpoint预览_如何安排PowerPoint幻灯片的时间以进行更有效的演示

powerpoint预览Delivering a presentation is not just about giving good slides, it is also about making sure that our presentation finishes by the time our audience wants to have their tea break—so practicing how long to speak for each slide is essential fo…

【小程序踩坑系列5】小程序内多重调用原生promise,无返回,无报错,代码卡住...

作者: 蒋欢 问题&#xff1a; 在部分IOS机型上&#xff0c;小程序内使用原生promise实现异步&#xff0c;在嵌套四层后&#xff0c;Promise的resolve和reject均无返回。 环境&#xff1a; 用户机型&#xff1a;iPhone 7 系统版本&#xff1a;IOS 10.3.3 微信版本&#xff1a;6.…

计算机仿真技术的大学,大学计算机仿真技术结课论文

计算机仿真技术是电子与信息专业中重要的专业学科。下面是学习啦小编为大家整理的大学计算机仿真技术结课论文&#xff0c;供大家参考。大学计算机仿真技术结课论文篇一《 复杂系统计算机仿真研究 》现代社会发展中&#xff0c;复杂系统所涉及的领域包括军事、医疗、政治、工程…

统计nginx日志里访问次数最多的前十个IP

awk {print $1} /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10 转载于:https://www.cnblogs.com/new-journey/p/10038056.html

thread线程栈size及局部变量最大可分配size【转】

转自&#xff1a;http://blog.csdn.net/sunny04/article/details/46805261 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 进程是操作系统的最小资源管理单元&#xff0c; 线程是操作系统最小的执行单元。 一个进程可以有多个线程&#xff0c; 也…

在Windows XP中对系统文件(页面文件和注册表)进行碎片整理

In the pursuit for performance, making sure your drive isn’t fragmented is a regular task. The problem is that Windows XP doesn’t allow certain system files to be defragmented without commercial software. What about free solutions? 在追求性能时&#xff…

计算机存有多少游戏,8G和16G的计算机内存之间有很大区别吗?玩游戏需要多少内存?...

大家好&#xff0c;我是Compatible Computer Home的小牛.计算机内存是除CPU外最重要的组件之一. 运行大型软件和多任务处理时&#xff0c;计算机内存量直接影响计算机的流畅性. 许多玩家不知道什么时候第一次购买计算机. 小牛会在今天与您讨论要购买多少内存来购买计算机.首先&…

ubuntu 配置mycat

https://blog.csdn.net/leisure_life/article/details/78611594 这篇博主写的非常好&#xff0c;我找了很久 都解决不了&#xff0c;最后按照他的步骤解决了问题。 其中有几个问题&#xff0c; 运行mycat的时候总是失败&#xff0c;ps不到在运行&#xff0c; 使用sudo ./mycat…

计算机程序设计vb课后题,《VB程序设计》课后题答案

《VB程序设计》课后题答案第二章一、问答题1.叙述建立一个完整的应用程序的过程。答&#xff1a;界面设计编写事件过程代码 运行、调试 保存文件2.当建立好一个简单的应用程序后&#xff0c;假定该工程仅有一个窗体模块。问该工程涉及到几个文件要保存&#xff1f;若要保存该工…

用SmarterFox替换Internet Explorer的“加速器”

If you’ve had to use Internet Explorer 8, you’ll have noticed a couple of things. It’s getting much easier to use due to its growing number of similarities to Firefox, and it uses a clever feature called the “Accelerator” to try and give it a leg up o…

Win7下搭建外网环境的SVN服务器

最近想跟一帮朋友做点东西&#xff0c;由于几个朋友都身处异地&#xff0c;要想实现版本控制&#xff0c;只能自己搭建一个小的服务器&#xff0c;通过互联网环境来实现版本控制了。本来也在网上找了好多资料&#xff0c;但是总是缺少一些必要的信息&#xff0c;导致最后连接不…

如何在VMware Player中设置和安装Windows Home Server“ Vail”

The new Windows Home Server Beta is available to the public for testing, and you might not have an extra machine to install it on. Here we take a look at using the free VMware Player to install it so you can test it out. 新的Windows Home Server Beta可供公众…

第四章作业

1. 贪心算法&#xff1a; 理解&#xff1a;所谓“贪心”&#xff0c;即在每一步的求解中求得问题的最优解&#xff0c;成为当前局部问题的最优解。但与动态规划问题不同的地方在于&#xff0c;动态规划会根据整体最优解的情况与之前的解作比较&#xff0c;并选取整体最优解&…

三年级计算机击键要领教案,闽教版信息技术三上《下行键操作》教案

闽教版信息技术三上《下行键操作》教案教学目标[知识目标]&#xff1a;了解和掌握下行键的键位分布。[技能目标]&#xff1a;正确掌握下行键击键的姿势和指法。[情感目标]&#xff1a;培养学生养成正确的键盘操作习惯。[重点和难点]重点&#xff1a;了解下行键的手指分工 。难点…

tabnavigator_使用TabNavigator在Firefox中享受桌面Alt-Tab样式导航

tabnavigatorDo you use Alt-Tab window switching for your Windows desktop and find yourself wishing for that same functionality in Firefox? Now you can enjoy all that switching goodness in your browser with TabNavigator. 您是否在Windows桌面上使用Alt-Tab窗口…