当从辅存调页至主存时,若主存已满时,需要进行主存页面之间的替换,虚拟存储器的替换算法有:FIFO算法、LRU算法、LFU算法等。

FIFO算法:

先进先出调度算法。如果一个数据是最先进入的,那么可能认为它被访问的可能性很小,当空间满的时候,最先进入的数据(队首元素)会被最早淘汰掉,并把新加入的数据插入到队尾。

它的缺点:因为FIFO置换算法与进程访问内存的动态特征是不相容的,被置换的内存页面往往是被频繁访问或者没有给进程分配足够的页面,所以FIFO算法会使得一些页面频繁地被替换和重新申请内存,导致了缺页率增加。

LRU算法:

最近最久未使用调度算法。如果一个数据在最近一段时间没有被访问到,那么可认为它在未来被访问的可能性也很小,当空间满的时候,最久没有访问的数据最先被淘汰。

它的缺点:如果是偶尔的批量访问不同的数据时其命中率就会很低。比如我频繁的访问A,接着访问不同的数据直到A被淘汰,此时我再访问A,则不得不又再次把A加入到Cache中,显然这种方式是不合时宜的,因为A已经访问了很多次了,不应该将其淘汰而把一堆只访问一次的数据加入到Cache中。

LFU算法:

最近最不常用的调度算法。应将这段时间内访问次数最少的数据替换出。为此给每个数据设置一个计数器,每访问一次,计数器的值+1。当发送冲突的时候,就找到当前计数器的值最小的那一个数据,把这个数据替换成新的元素。

例题:某虚拟存储器采用页式存储管理,使用LRU页面替换算法。若每次访问在一个时间单位内完成,页面访问的序列如下:1,8,1,7,8,2,7,2,1,8,3,8,2,1,3,1,7,1,3,7。已知主存只允许存放四个页面初始状态时4个页面是全空的,则页面失效次数是( 6 )。

LRU算法的思想:每页设置一个计数器,每次命中一页,该页对应的计数器清零,其他各页的计数器加1;需要替换时,将计数值最大的页换出,所以,对应的访问过程及相应的计数器的内容、替换结果如下:
(红色标记的个数即为页面失效总次数)

FIFO算法、LRU算法与LFU算法相关推荐

  1. 缓存算法(FIFO 、LRU、LFU三种算法的区别)

    FIFO算法 FIFO 算法是一种比较容易实现的算法.它的思想是先进先出(FIFO,队列),这是最简单.最公平的一种思想,即如果一个数据是最先进入的,那么可以认为在将来它被访问的可能性很小.空间满的时 ...

  2. lru调度算法例题_lru算法(lru算法及例题讲解)

    lru算法参考例子如下: include using namespace std; int ans[1000]://存放原序列 int block[1000]://机器分给程序的内存块 int num ...

  3. 3.2.3 OS之页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法)

    文章目录 0.思维导图 1.最佳置换算法---OPT 2.先进先出置换算法---FIFO 3.最近最久未使用置换算法---LRU 4.时钟置换算法---CLOCK 5.改造型时钟置换算法 0.思维导图 ...

  4. 操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法

    在虚存管理中.当发生缺页中断时,进行页面的换入操作.对于一些不能够被换出的内存,通常采用页面锁定的方式,在页表中添加锁定标志位(lock  bit)以区分该页是否是常驻内存.当内存满需要换出时,为了减 ...

  5. 操作系统:页面置换算法(FIFO算法、LRU算法、LFU算法、NRU算法)实验报告

    操作系统实验报告 一.实验名称 :页面置换算法 二.实验目的: 在实验过程中应用操作系统的理论知识. 三.实验内容: 采用C/C++编程模拟实现:FIFO算法.LRU算法.LFU算法.NRU算法四个页 ...

  6. LRU和LFU算法解析

    文章目录 LRU和LFU算法解析 LRU LRU概念 LRU算法实现 LRU算法描述 LRU算法图示 LRU C++代码 代码测试 LFU LFU概念 LFU算法实现 LFU算法描述 LFU算法图示 ...

  7. 操作系统页面置换算法(最佳置换算法,FIFO,LRU,Clock)

    页面置换算法 为什么要页面置换 最佳置换算法 先进先出页面置换算法 LRU置换算法 Clock置换算法 为什么要页面置换 缺页中断: 在地址映射过程中,若在页表中发现所要访问的页面不在内存,则产生中断 ...

  8. OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc

    实用标准文案 精彩文档 操作系统实验报告 页面置换算法模拟 --OFT.FIFO和LRU算法 班级:2013级软件工程1班 学号:X X X 姓名:萧氏一郎 数据结构说明: Memery[10]物理块 ...

  9. 【南邮操作系统实验】页面置换算法(FIFO、LRU、OPT)图形化界面(JavaFx)

    页面置换算法图形化界面 前言 运行效果 源码 FIFO LRU OPT FXML界面 控制器 启动类 前言 其实以前操作系统实验的时候我写过了三份了:(命令行) 页面置换算法 (FIFO.LRU.OP ...

最新文章

  1. 使用 NSUserDefaults 存储字典的一个坑
  2. SoundPool 音频播放 详解 示例
  3. 定义进项税代码缺省值
  4. 笔记整理-信息系统开发基础-软件测试-模糊测试
  5. 11.10 chkconfig:管理开机服务
  6. [USACO]地震 (二分答案+最优比率生成树详解)
  7. html:(28):后代选择器和通用选择器
  8. 鼠标点击实现花瓣雨_每周实验 | 黄金雨
  9. PHP7数字三角形代码,倒数字三角
  10. c# picturebox控件显示本地图片和显示网上的图片
  11. idea+maven打包Java项目
  12. 宏定义Define的一些用法
  13. 8025枚BTC在未知钱包间转移 价值约3.09亿美元
  14. gis环境设置在哪_GIS局部放电在线监测系统
  15. KATEX公式编辑器符号大全-CSDN的Mardown公式支持
  16. 洛谷P1438 无聊的数列
  17. 街舞中的rolling机器人_这,就是街舞中的那些“Swag”十足的舞蹈类型,你了解吗?...
  18. 解决方案:惠普15-bc012tx笔记本电脑电池掉电快的检测及解决
  19. Win8系统鼠标右键突然失灵怎么办 win8桌面右键菜单失效怎么修复
  20. 深度学习attention机制中的Q,K,V分别是从哪来的?

热门文章

  1. element 表单下拉菜单点击上下箭头失效
  2. 2、 前馈和反馈神经网络
  3. 5D9DVR动感平台常见故障码说明及故障处理
  4. ubuntu关机命令
  5. Java集合类之List的ArrayList之增删改查
  6. mysql数据库连接等待时间修改
  7. php explode txt,使用PHP的explode函数踩过的坑
  8. Web方向学习路线(信息安全)
  9. 华为荣耀5a是android几,华为荣耀5A和荣耀5X有何区别 看了就知道了
  10. vue-element-admin模板,由英文如何改为中文