页面置换算法——最佳置换算法、最近最少使用算法、先进先出算法、时钟置换算法

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

根据中国大学MOOC计算机操作系统(电子科技大学)而写.
如果自己要设计页面置换,要根据什么原则来设计?我们首先想到的是存储器的局部性原理(时间局部性、空间局部性)

Page removed should be the page least likely to be referenced in the future.删除的页面应该是将来最不可能被引用的页面。
Most policies predict the future behavior on the basis of past behavior.大多数原则根据过去的行为来预测未来的行为。

通过运行的历史来预测将来的行为,这也是根据局部性原理得到的。
在最近的将来,最少可能被引用到。(最近的将来不用的页面换出去)根据局部性原理,我们就得到了页面置换算法的设计思想。

一、Optimal Algorithm(最佳置换算法)

拿来用作比较的参考指标,工程上无法实现

  • 置换在将来再也不被访问的页面(预测将来发生的事)
  • 置换在最远的将来才被访问的页面

一般做题或考试的题目:

  • 给出访问页面的流(访问序列)Page Address Stream
  • 给出驻留集(页框数,盛放多少个页面)
  • 给出条件(预调页、请求调页)
  • 给出置换算法
  • 要求计算缺页次数及缺页率

预调页:将预计在不久之后便会被访问的页面预先调入内存。
请求调页:一直推迟到进程要访问的页面不在物理内存时为止,由此引起缺页中断。

在这里插入图片描述

二、Least Recently Used Algorithm(最近最少使用算法)

  • Replaces the page that has not been referenced for the longest time.替换最长时间未被引用的页面。
  • By the principle of locality,this should be the page least likely to be referenced in the near future.根据位置原则,这应该是在不久的将来最不可能被引用的页面。
  • Each page could be tagged with the time of last reference.This would require a great deal of overhead.每页都可以用最后一次引用的时间来标记。这将需要大量的开销。

在这里插入图片描述

  • 从原理上看,LRU算法可以被实现;但是任何一种实现方法都将产生很大的系统开销。因此,许多OS据使用近似LRU算法。
  • 一些应用程序具有很强的非局部性存储引用(比如顺序存储引用)特征。对于此类应用程序,LRU算法就不再由优势。

三、First-in First-out Algorithm(先进先出算法)

  • Treats page frames allocated to a process as a circular buffer.-将分配给进程的页面帧视为循环缓冲区。
  • Pages are removed in round-robin style.-页面以循环方式移除。
  • Simplest replacement policy to implement.-实施最简单的更换政策。
  • Page that has been in memory the longest is replaced.-替换内存中最长的页面。
  • These pages many be needed again very soon.-这些页面可能很快就会被再次使用。
    在这里插入图片描述
  • FIFO算法最简单,最容易实现。
  • 如果应用程序具有顺序存储引用特征,那么使用FIFO算法将获得很好的性能。
  • 但是大多数应用程序具有局部存储引用特征。对于此类的应用程序,FIFO算法的性能是很差的。
  • 容易产生抖动(抖动:即对刚被替换出去的页,立即又要被访问。需要将它调入,因无空闲内存又要替换另一页,而后者又是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重导致系统瘫痪.)
  • 可能存在Belady现象( Belady现象:虚拟存储器系统中的一种异常现象,即增加进程的页框数,缺页率反而上升。)

四、Clock Algorithm(时钟置换算法)

LRU算法的近似,系统开销很大,在现代操作系统中使用很多.

  • Additional bit called a use bit.-使用位的附加位。
  • When a page is first loaded in memory,the use bit is set to 1.-当页面第一次载入内存时,使用位设置为1。
  • When the page is referenced,the use bit is set to 1.-当页面被引用时,使用位被设置为1。
  • When it is time to replace a page,the first frame encountered with the use bit set to 0 is replaced.-当需要替换页面时,使用位设置为0时遇到的第一帧被替换。
  • During the search for replacement,each use bit set to 1 is changed to 0.-在搜索替换的过程中,每个设置为1的使用位都变为0。

CLOCK算法中,系统将置换范围内的所有frame组成一个环形缓冲区,并为其设置一个扫描指针.
没有进行页面置换时,扫描指针总是指向上一次进行页面置换时被置换页面所在位置的下一个位置.

当需要进行页面置换时,系统将移动扫描指针搜索置换范围内的各个frame以便找到一个U位为0的frame.

  • 如果当前扫描指针所指向的frame其U位为1,那么系统将该frame的U位设置为0,扫描指针移到下一个位置,继续搜索.
  • 如果当前扫描指针所指向的frame其U位为0,则系统将该frame中的页面作为被置换页面,同时把扫描指针移到下一个位置,停止搜索.
    在这里插入图片描述
    在这里插入图片描述
    改进后的Clock置换算法:
    (最应该被淘汰的页)1类(A=0,M=0):表示该页最近即未被访问,又未被修改,是最佳淘汰页。
    2类(A=0,M=1):表示该页最近未被访问,但已被修改。
    3类(A=1,M=0):表示该页最近已被访问,但未被修改,该页有可能再被访问。
    (最不应该被淘汰的页)4类(A=1,M=1):表示该页最近已被访问且被修改,该页可能再被访问。

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

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

相关文章

MIT提出Liquid机器学习系统,可像液体一样适应动态变化

作者:Daniel Ackerman机器之心编译编辑:Panda麻省理工学院(MIT)的研究者开发出了一种新型的神经网络,其不仅能在训练阶段学习,而且还能持续不断地适应。他们将这种灵活的算法命名为「Liquid」网络&#xff…

如何理解在数据类型中元素不能修改?

如何理解在数据类型中元素不能修改? 我所理解的元素修改是: 不能对已经赋值或者初始化的数据类型进行元素的修改,这里的修改不是指片面意思上的输错了数值,将光标移到对应位置,按下删除键,再进行数据的修改…

打破 Google 破坏性的搜索垄断

作者:Ryan Cooper译者:Sambodhi策划:刘燕近来,Google 在搜索算法方面的垄断地位,频繁引起美国和欧洲的反垄断关注。Google 在网络搜索方面有绝对的优势。近来,Google 在搜索算法方面的垄断地位,…

计算机网络——时延、时延带宽积、往返时间、利用率

计算机网络——时延、时延带宽积、往返时间、利用率 推荐课程:https://www.bilibili.com/video/BV19E411D78Q/?p4 1.时延 时延(delay或latency)是指数据(报文、分组、比特)从网络(或链路)的…

一文读懂虚拟现实产业最新发展趋势

来源: 中国电子报作者:赛迪智库虚拟现实产业形势分析课题组2020年以来,5G商用化进程的加速和新冠肺炎疫情背景下“非接触式”经济的新需求为虚拟现实产业发展带来了新的机遇。虚拟现实、增强现实技术在支撑服务疫情防控、加快企业复工复产、强…

log4net日志文件的应用

日志作为快速定位程序问题的主要手段,日志几乎是所有程序都必须拥有的一部分,下面我们就看下怎么使用log4net.dll文件: 1.下载log4net.dll文件 2.创建自己的项目 3.在自己项目下的引用log4net.dll文件 4.在app.config配置文件里添加配置信息&…

CSMA/CD协议分析笔记

CSMA/CD协议分析笔记 CSMA/CD(carrier sense multiple access with collision detection) 文章目录CSMA/CD协议分析笔记前言一、解读CS MA / CDCS——“载波监听”MA——“多点接入”CD——“碰撞(冲突)检测”二、传播时延对载波监听的影响为什么先听后发还是会产生冲突&#…

【剑指offer】面试题52:两个链表的第一个公共节点(java)

输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 输出:Reference of the node wit…

城市大脑全球标准研究1:城市大脑产生的时代背景是什么?

来源:城市大脑全球标准研究组20世纪10年代以来,IT科技领域出现了很多“大脑”“神经系统”概念,如互联网大脑、谷歌大脑、百度大脑、360安全大脑、华为城市神经系统等等,城市大脑是其中一个。这是一个有趣的现象,为什么…

李书福:对未来世界及汽车发展的六个洞见(附万字内部讲话全文)

来源:东西智库2月20日,一直被外界誉为缔造汽车行业传奇的吉利控股集团董事长李书福以“守正出奇 实事求是”为主题在集团内部进行了分享交流,在这场万字内部分享中,李书福从国内国际双循环之机遇和挑战,企业治理能力、…

JSP的“三指六动九内”

JavaWeb——JSP的“三指六动九内” JSP的基本使用 1. JSP模板元素 网页的静态内容。如html标签 JSP脚本 2. JSP的脚本 2.1、小脚本<% Java代码%> 2.2、表达式<% 11%>&#xff0c;等价于out.print(11) 2.3、声明<%! 声明变量和方法%> 3. JSP注释 JSP注释…

基于IPP-FFT的线性调频Z(Chirp-Z,CZT)的C++类库封装并导出为dll(固定接口支持更新)

上一篇分析了三种不同导出C++类方法的优缺点,同时也讲了如何基于IPP库将FFT函数封装为C++类库,并导出为支持更新的dll库供他人调用。 在此基础上,结合前面的CZT的原理及代码实现,可以很容易将CZT变换也封装为C++类库并导出为dll,关于CZT的原理和实现,如有问题请参考: …

梦境交互:做个现代灵媒,考虑一下?

来源&#xff1a;脑极体睡眠几乎占据人生的三分之一时间&#xff0c;做梦又是睡眠中必不可少的生理活动。很多人常常把“无梦之眠”看作是一个人精神状态好的标志&#xff0c;但事实上做梦常常发生&#xff0c;只是很多人在醒来后完全忘记自己做过梦而已。研究表明&#xff0c;…

使用浏览器获取网页模板(HTML+CSS)

使用浏览器获取网页模板(HTMLCSS) 一、获取网页的源代码 进入网页&#xff0c;使用快捷键CtrlU查看网页源代码&#xff0c;也可以单击鼠标右键选择查看网页源代码获取。 网页源代码&#xff1a; 将网页源代码CtrlA全选&#xff0c;CtrlC复制 在网页编辑器中新建一个HTML文…

基于MATLAB的Sobel边缘检测算法实现

图像边缘就是图像灰度值突变的地方&#xff0c;也就是图像在该部分的像素值变化速度非常之快&#xff0c;就比如在坐标轴上一条曲线有刚开始的平滑突然来个大转弯&#xff0c;在变化出的导数非常大。 Sobel算子主要用作边缘检测&#xff0c;它是一离散型差分算子&#xff0c;用…

一文读懂人工智能产业最新发展趋势

来源&#xff1a;世界物联网博览会作者&#xff1a;赛迪智库人工智能产业形势分析课题组当前&#xff0c;以新一代人工智能为代表的科技和产业革命正在孕育兴起。数字化、网络化、智能化的信息基础设施加速构建&#xff0c;以信息通信、生命、材料科学等交叉融合为特征的集成化…

半导体的过去、现在和未来

文章来源&#xff1a;中科院半导体所01半导体是信息化的基础上个世纪半导体大规模集成电路、半导体激光器、以及各种半导体器件的发明&#xff0c;对现代信息技术革命起了至关重要的作用&#xff0c;引发了一场新的全球性产业革命。信息化是当今世界经济和社会发展的大趋势&…

计算机网络——奈氏准则(奈奎斯特定理)

奈奎斯特定理——奈氏准则&#xff08;理想状态&#xff09; 奈氏准则&#xff1a;在理想低通&#xff08;没有噪声、带宽有限&#xff09;的信道中&#xff0c;为了避免码间串扰&#xff0c;极限码元传输率为2WBaud。其中W是理想低通信道的带宽&#xff0c;单位为Hz。若用V表…

计算机网络——CSMA/CD最小帧长相关题目

计算机网络——CSMA/CD最小帧长问题 本篇博客主要讲解有关CSMA/CD最小帧长求解相关例题&#xff0c;关于CSMA/CD详细详解请参考博客&#xff1a;CSMA/CD协议分析笔记 例题一、假定1km长的CSMA/CD网络的数据率为1Gbit/s。设信号在网络上的传输速率为200000km/s。求能够使用此协…

AI式剥削:数据标注人员日薪低至51块钱

来源&#xff1a;AI前线编译&#xff1a;核子可乐、钰莹最新论文指出&#xff0c;AI 行业正在残酷压榨刚刚兴起的全球零工经济体系。现代人工智能依赖各种算法处理规模达数百万的示例、图像或文本素材。但在此之前&#xff0c;首先需要由工作人员在图片数据集中手动标记出对象&…