*先进先出(First In first Out,FIFO) 页面置换算法的基本思想:

**每次置换最先调入内存的页面,即将内存中等待时间最长的页面进行置换。此算法的适用范围是顺序结构程序。

基本原理

FIFO页面置换算法, 也就是先进先出的意思。这和我们现实生活中的排队方式很相似, 先进队伍的人会先买到票, 然后先从队伍中离开。如果使用FIFO算法作为页面置换算法, 缓存空间大小是三个页面时, 一次进入Page1, Page2, Page3。当Page4要进入缓存时, 操作系统将会把Page1清除出缓存, 将Page4加入至缓存中。如果再有Page5要进入缓存时, 操作系统会将Page2清除出缓存空间, 以此类推。

实现过程

比如有下述页面走向:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6。当内存块数量分别为3时, 我们算一算使有此方法时产生的缺页次情况。 (注意, 所有内存块最初都是空的, 凡第一次用到的页面都产生一次缺页。)
当内存块数量分别为3时, FIFO算法的执行过程如下图所示。
打叉的表示发生了缺页, 共缺页16次。

优点

先进先出页面置换算法的优点是其实现起来比较简单,可以不需要硬件的支持, 因而不需要增加系统的成本。

缺点

先进先出页面置换算法没有考虑到缓存页面被使用的情况。如果一个页面被频繁访问, 我们应该将它保留在缓存中, 这样就能够提高程序的性能。但是使用FIFO算法, 很可能将一个被频繁访问的页面清除出缓存, 所以FIFO算法在实际的应用中是很少被使用到的, 但是这种思想是计算机系统中常常被采用的。
在大数情况下,先进先出页面置换算法缺页率比较低或会产生Belady异常现象。

先进先出页面置换算法详解相关推荐

  1. FIFO页面置换算法详解

    页面置换算法的基本思想: FIFO每次置换最先调入内存的页面,即将内存中等待时间最长的页面进行置换.此算法的适用范围是顺序结构程序. 实现过程 比如有下述页面走向:1, 2, 3, 4, 2, 1, ...

  2. 最佳页面置换算法详解

    最佳置换算法,OPT, 简单说,最佳置换算法选择的是被淘汰的页面以后永不使用,或者是在最长时间内不再访问,以便保证最低的缺页率,,但该算法只存于理论中,无法实现 ,其中置换的关键是,置换后面待用的最远 ...

  3. 操作系统 FIFO 先进先出页面置换算法

    FIFO 先进先出页面置换算法 根据作业序列判断置换,先进先置换的原则. 实现过程: 用vector简单模拟这个过程,不用直接queue模拟,是因为,当判断是否需要置换的时候,queue不好判断在队列 ...

  4. 先进先出页面置换算法的模拟(c++实现)

    实验要求 1)设计模拟实现OPT.FIFO和LRU页面置换算法中的任意一种. OPT算法:需要发生页面置换时,算法总是选择在将来最不可能访问的页面进行置换. FIFO算法:算法总是选择在队列中等待时间 ...

  5. 【操作系统】FIFO先进先出页面置换算法(C语言实现)

    FIFO页面置换算法,计算缺页率,文末附代码,及例题解析 1.内容 在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断.当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系 ...

  6. 【一】先进先出页面置换算法

    地址映射过程中,若在页面中发现所要访问的页面不再内存中,则产生缺页中断.发生当缺页中断时操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间.而用来选择淘汰哪一页的规则叫做页面置换 ...

  7. java实现FIFO先进先出页面置换算法

    import java.util.LinkedList; import java.util.Scanner;public class Demo {public static void main(Str ...

  8. 一文讲懂页面置换算法,带例题详解

    目录 ​什么是页面置换算法? ​缺页中断次数和页面置换次数 ​啥子是缺页? ​啥子是中断? ​啥子是缺页中断? ​缺页中断次数 ​最佳置换算法OPT和先进先出置换算法FIFO ​最佳置换算法OPT ​ ...

  9. 先进先出(FIFO)页面置换算法 C语言实现

    广东工业大学 操作系统实验 实验内容 假设每个页面中可存放10条指令,分配给作业的内存块数为4.用C语言模拟一个作业的执行过程,该作业共有320条指令,即它的地址空间为32页,目前它的所有页都还未调入 ...

最新文章

  1. Swift 使用CoreLocation获取定位与位置信息
  2. 用于3D摄像头的VCSEL技术
  3. 机器学习入门案例简单理解——Tensorflow之MNIST解析
  4. 9、ShardingSphere 之 Sharding-Proxy 读写分离
  5. 组会PPT20200910《大工HPT放电结果错误剖析》
  6. 【Tools】RDB打包工具详解
  7. data-sap-ui-icon-content where does icon content come from
  8. 你真的了解扩展方法吗?
  9. 师从施一公,4年8篇CNS,西湖大学博士后获世界最具潜力女科学家奖
  10. 【Spring】IOC
  11. mysql-cluste多少钱,mysql-cluster集群
  12. BZOJ 3238 【AHOI2013】 差异
  13. PDF/CDF 用matlab计算和绘图1
  14. Android App 安全登录认证解决方案
  15. java中的正则表达式_java中的正则表达式
  16. Mac重装Homebrew
  17. 人工智能对人类的机遇与挑战
  18. 用ruby实现latex自动编译
  19. 利用“WinRAR”创建自解压文件
  20. 半小时漫画中国史 -- 读书摘记

热门文章

  1. 虚拟服务器网址怎样查看,虚拟主机的ip地址怎么查
  2. Matlab一维矩阵无法与三维矩阵进行矩阵乘法?
  3. Qt封装TDMS文件实现动态添加组以及动态写入通道数据
  4. 读 Robert A. Seqal 之 Myth: A Very Short Introduction
  5. 描述一下我的个人经历
  6. 南京金龙上位机,开沃整车上位机,南京金龙电池,上位机
  7. dayjs 常用方法
  8. dayjs 取本周时间段
  9. zenmap扫描ip段_NMAP 常用扫描简介(一)
  10. 关于s19赛季服务器维修,S19赛季已开服,版本重点调整需知熟,想要跟上游戏节奏必了解...