页面置换算法及例题

一、页面置换算法

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

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

二、常用的页面置换算法

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 …

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…

在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;计算机内存量直接影响计算机的流畅性. 许多玩家不知道什么时候第一次购买计算机. 小牛会在今天与您讨论要购买多少内存来购买计算机.首先&…

用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窗口…

计算机网络拓跋结构,实战 | 服务端开发与计算机网络结合的完美案例

前言大家好&#xff0c;我是阿秀后端&#xff0c;可以说是仅次于算法岗之外竞争最为激烈的岗位&#xff0c;而其中的服务端开发也是很多人会选择在秋招中投递的一个岗位&#xff0c;我想对于很多人来说&#xff0c;走上服务端开发之路的起点就是一个回声服务器了。今天带大家实…

pcu tps_Mac版Microsoft Office 2011重新定义您的TPS报告体验

pcu tpsOffice 2011 for Mac is going to be released in a couple of days, and we got our hands on the latest version already. Here’s a quick tour of some of the new features in the latest version of Office. Mac版Office 2011将在几天内发布&#xff0c;我们已经…

【转载】intellij idea如何将web项目打成war包

1、点击【File】->【Project Structure】菜单&#xff08;或使用ShiftCtrlAltS快捷键&#xff09;&#xff0c;打开【Project Structure】窗口。如下图&#xff1a; 2、在【ProjectStructure】中选择左侧的【Artifacts】页签。如下图&#xff1a; 3、点击中间上面的&#xf…

形容计算机老师风采的句子,关于老师的句子

Tips&#xff1a;点击图片进入下一页或下一篇图有一种光荣的职业&#xff0c;叫老师;有一种难忘的情结&#xff0c;是老师;有一种最美的祝愿&#xff0c;送老师。以下是关于老师的句子&#xff0c;希望大家能喜欢。1、一只粉笔两袖清风&#xff0c;三尺讲台四季耕耘&#xff0c…

蓝牙 唤醒计算机_如何防止计算机意外唤醒

蓝牙 唤醒计算机Putting your PC to sleep is a great way to save energy while still making sure you can resume work quickly. But what can you do if your PC keeps waking up on its own? Here’s how to figure out what’s waking it up, and how to prevent it. 使…

ppt 计算机图标不见了,我PPT的图标变成这样了,为什么

公告&#xff1a; 为响应国家净网行动&#xff0c;部分内容已经删除&#xff0c;感谢读者理解。话题&#xff1a;我PPT的图标变成这样了,为什么&#xff1f;怎么变回去&#xff1f;回答&#xff1a;软件坏了或者被误删不支持PPT格式了&#xff0c;重装一下就能支持了话题&#…

如何使Flash在Internet Explorer的64位版本中工作

You’re using the 64-bit version of IE 9 Beta and attempt to watch flash videos, and realize they won’t play. Here we look at fixing the problem by installing the new 64-bit version of Adobe Flash. 您正在使用IE 9 Beta的64位版本&#xff0c;并尝试观看Flash视…