【操作系统】几种基本页面置换算法的基本思想和流程图

这篇具有很好参考价值的文章主要介绍了【操作系统】几种基本页面置换算法的基本思想和流程图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

  在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法。下面介绍三种常见的页面置换算法。

二、最佳置换算法(OPT)

  OPT算法是当发生缺页时,选择以后永不使用的页面,或是在最长时间内不再被访问的页面。采用最佳置换算法通常可保证获得最低的缺页率,是一种理想情况下的页面置换算法,但实际上是不可能实现的,因为当缺页发生时,操作系统无法知道各个页面下一次是在什么时候被访问。
  其算法流程图如下图所示,首先判断当前访问的页面数是否小于物理块数,如果是则直接将页号载入内存。否则遍历还未访问过的页号,找到最长时间内不再被访问的页面并移出,移进访问的页号直到页号全部访问完毕。最后输出页面置换后的结果、缺页次数和缺页率。

【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图

三、先进先出置换算法(FIFO)

  OPT算法是当发生缺页时,选择以后永不使用的页面,或是在最长时间内不再被访问的页面。采用最佳置换算法通常可保证获得最低的缺页率,是一种理想情况下的页面置换算法,但实际上是不可能实现的,因为当缺页发生时,操作系统无法知道各个页面下一次是在什么时候被访问。
  其算法流程图如下图所示,首先判断当前访问的页面数是否小于物理块数,如果是则直接将一个页面载入内存,并且标记加一。否则就是物理块已满,然后移除标记数最大的块内页数,并访问下一个页号直到页号全部访问完毕。最后输出页面置换后的结果、缺页次数和缺页率。

【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图

四、最近最久未使用置换算法(LRU)

  当一个缺页中断发生时,LRU算法选择最近最长时间未访问过的页面予以淘汰,它认为过去一段时间内未访问过的页面,在最近的将来可能也不会被访问。该算法为每个页面设置一个访问字段,来记录页面自上次被访问以来所经历的时间,淘汰页面时选择现有页面中值最大的予以淘汰。适用于程序的局部性原理,在这种原理的情况下,如果一个程序经常访问,那么通过这种算法一般情况下就不会将常驻内存中的程序移除内存。
  其算法流程图如下图所示,首先判断当前访问的页面数是否小于物理块数,如果是则直接将一个页面载入内存,并且标记页号访问时间。否则移除时间记录最长的页号,并访问下一个页号直到页号全部访问完毕。最后输出页面置换后的结果、缺页次数和缺页率。

【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图

五、三种页面置换算法优缺点对比

算法 优点 缺点
最佳置换算法 可保证获得最低的缺页率 无法实现
先进先出置换算法 算法实现简单 性能较差,实际应用少
最近最久未使用置换算法 一般有较好的性能,实际应用多 需要寄存器和栈的硬件支持,会增加硬件成本

六、运行结果

(1)运行程序,首先输入物理块数,然后输入页面的个数及一组页号。
【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图
(2)可以看见最佳置换算法结果和缺页次数及缺页率。
【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图
(3)可以看见先进先出置换算法结果和缺页次数及缺页率。
【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图
(4)可以看见最近最久未使用置换算法结果和缺页次数及缺页率。
【操作系统】几种基本页面置换算法的基本思想和流程图,算法,流程图

七、总结

  本次实验学习了几种不同的页面置换算法。最佳置换算法选择以后再也不用的页面,没有的话,选择以后最长时间不用的页面;先进先出置换算法基于程序的顺序执行特点选择到达内存最早的页面淘汰;最近最久未使用置换算法基于程序运行的局部性原理,淘汰最近以来最久未使用的页面。这几种页面置换算法各有优缺点。
  其中最佳置换算法性能最好,是一种理想情况下的页面置换算法,但无法实现;先进先出页面置换算法性能较差,因为它所依据的条件是各个页面调入内存的时间,而页面调入的先后不能反映页面的使用情况;最近最久未使用置换算法性能较好,是对页面调入内存后的使用情况做出决策的,但对硬件要求较高。

源代码下载文章来源地址https://www.toymoban.com/news/detail-569273.html

到了这里,关于【操作系统】几种基本页面置换算法的基本思想和流程图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【操作系统】抖动、缺页中断率、页面置换算法

    对于进程P的一个长度为A的页面访问序列,如果进程P在运行中发生缺页中断的次数为F,则f = F/A称为缺页中断率。 1、进程分得的主存页框数:页框数多则缺页中断率低,页框数少则缺页中断率高。 2、页面大小:页面大则缺页中断率低,页面小则缺页中断率高。 3、页面替换

    2024年01月20日
    浏览(52)
  • 【操作系统】虚拟内存相关&分段分页&页面置换算法

    【进程地址空间=虚拟地址空间=C/C++程序地址空间就是那个4G的空间】 虚拟内存是操作系统内核为了对进程地址空间进行管理,而设计的一个逻辑意义上的内存空间概念。在程序运行过程中,虚拟内存中需要被访问的部分会被映射到物理内存空间中, CPU 通过将虚拟地址翻译成

    2024年02月12日
    浏览(39)
  • 计算机操作系统实验:页面置换算法的实现

    本实验的目的是通过编程模拟不同的页面置换算法,比较它们的缺页率和命中率,加深对操作系统内存管理的理解。本实验采用C语言编写,实现了最佳置换算法(OPT)、先进先出置换算法(FIFO)和最近最久未使用算法(LRU)。实验中,页面号引用串从文本文件中读取,输出

    2024年02月02日
    浏览(39)
  • 页面置换算法模拟实现-操作系统课程设计基于Java

    存储管理的主要功能之一是合理的分配空间,请求页式存储管理是一种常用的虚拟存储管理技术。在地址映射过程中,若在页表中发现所要访问的页面不在内存,则产生中断,当发生中断时,系统必须在内存选择一个页面移出内存,调用页面置换算法,以便为调入新的页面让

    2024年02月07日
    浏览(43)
  • 操作系统实验:页面置换算法——FIFO、LRU 代码实现

            最简单的页面置换算法是FIFO。 在分配内存页面数( AP )小于进程页面数( PP )时,最先运行的 AP个页面放入内存;当内存分配页面被占满时,如果 又需要处理新的页面,则将原来放的内存中的AP个页中 最先进入 的调出(FIFO),再将新页面放入;所使用的内存

    2024年02月08日
    浏览(34)
  • 【操作系统】FIFO先进先出页面置换算法(C语言实现)

    FIFO页面置换算法,计算缺页率,文末附代码,及例题解析 1、内容         在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为

    2024年02月11日
    浏览(37)
  • 【操作系统--页面置换算法】C语言详解--大作业版(附代码)

    1设计和实现FIFO,LRU,OPT和CLOCK算法 2设计和实现一个完整的可供选择不同算法的程序 3通过页面访问序列随机发生器实现对上述算法的测试及性能比较 4领略页面置换背后的资源调配思想,并将其运用到其他的操作系统的知识,以及运用到生活中的资源调配策略以及解决措施 5理

    2024年02月06日
    浏览(40)
  • 操作系统-请求页式存储管理中常用页面置换算法模拟

    (1)先进先出调度算法(FIFO) 先进先出调度算法根据页面进入内存的时间先后选择淘汰页面,先进入内存的页面先淘汰,后进入内存的后淘汰。本算法实现时需要将页面按进入内存的时间先后组成一个队列,每次调度队首页面予以淘汰。 (2)最近最少调度算法(LRU) 先进

    2024年02月06日
    浏览(46)
  • 【操作系统笔记04】操作系统之内存管理方式(分页、分段、段页式)、虚拟存储技术、页面置换算法

    这篇文章,主要介绍操作系统之内存管理方式(分页、分段、段页式)、虚拟存储技术、页面置换算法。 目录 一、操作系统 1.1、基地址变换机构 1.2、具有快表的地址变换机构

    2023年04月21日
    浏览(45)
  • 操作系统实验三虚拟存储器管理之模拟页面置换算法(FIFO&LRU)

    一、概述  (1)置换算法  (2)缺页率与命中率 二、先进先出置换算法(FIFO)    (1)定义    (2)示例  (3)Belady异常  三、最近最久未使用置换算法(LRU) (1)定义 (2)示例 四、FIFOLRU置换算法的模拟    (1)流程图  (2)完整代码  (3)实验结果         进程运行

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包