先进先出算法

  • 1、策略
  • 2、例题
  • 3、先进先出算法的不足
  • 4、练习题

1、策略

将内存中的页按装入内存真的先后顺序排列,淘汰时,选择最先进入内存的页

2、例题

一个进程在运行过程中依次访问的页号(也称进程的引用序列)是:0、2、3、1、4、1、2、3、5、2、3、1、4、5、0、3、6、9、8、3、6、7、3、6、9、8、7。假定分配给该进程4个块,按局部页面调度,采用FIFO算法时,如何计算缺页中断的次数?依次淘汰的页号是哪些?

每个访问页的正下方的列表示该页访问后的内存页的FIFO序列。

如果当前访问的页在内存中,则该页访问后,不影响原来内存中各页的顺序,其正下方的内容直接来自上一次访问页的FIFO序列;

如果当前访问的页不在内存中,则它是最新装人的,这时,将它加入其正下方的FIFO序列中,加人时,对应的序列中原来的各个页依次下移一行,

如果序列中原来的页数已经达到4个,则箭头方向的第一个页是最先装人内存的,将其淘汰并记录在最后一行的相应列的正下方,并把当前页加入FIFO序列末尾

上图中的最后一行给出了进程运行过程依次淘汰的页号: 0、2、3、1、4、5、2、3、1、4、5、0、3、6、9、8、7和3,共18次,另外,加上开始运行时装人的4个页,则共有22次缺页中断,其中18次缺页中断运行了置换算法

3、先进先出算法的不足

FIFO 算法的不足是可能会将经常访问的页淘汰。在很多进程中,最先进入内存的页,在之后的运行过程中,也可能被频繁访问。

4、练习题

1、操作系统实行请求页式存储管理。某作业执行时的页面走向为1、2、3、4、5、2、3、1、2、3、4、5、1、2、3、4,若分配给该作业使用的存储块数是3,并且开始时没有任何页面在内存。试问
(1)、采用FIFO页面淘汰算法,其缺页次数是多少?
(2)、若分配给该作业使用的存储块数是4,并且开始时没有任何页面在内存。这时仍然采用FIFO页面淘汰算法,其缺页次数是多少?
(3)、对于这样的页面走向,FIFO发生异常现象了吗?

2、设系统分配给某作业4个页帧使用,执行时的页面走向为:1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1,采用FIFO页面淘汰算法。试给出
(1)、发生页面淘汰时所淘汰页面的顺序和缺页中断次数
(2)、最后驻留在内存4个页帧里的页的顺序(按照淘汰顺序排列)

3、在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数( )
A、减少 B、增加
C、无影响 D、可能增加也可能减少

4、下述( )页面淘汰算法会产生Belady现象。
A、先进先出 B、最近最少使用
C、最不经常使用 D、最佳

5、在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序为1、2、3、4、1、2、5、1、2、3、4、5、6、时,将产生( )次缺页中断。
A、7 B、8
C、9 D、10

6、假设某程序的页面访问序列为1、2、3、4、5、2、3、4、5、1、2、3、4 、5且开始执行时主存中没有页面,则在分配给该程序的物理块数是3且采用FIFO方式时缺页次数是( ) ;在分配给程序的物理块数是4 且采用FIFO方式时,缺页次数是( )

请求分页置换算法——先进先出算法(FIFO)相关推荐

  1. 操作系统FIFO算法(先进先出算法)

    操作系统FIFO算法(先进先出算法) 简介:本文章是作者学习操作系统期间所创作的FIFO算法. import java.util.*; /** 这是一个分页算法FIFO* */public class ...

  2. 存储管理:先进先出算法和最近最少使用算法

    这个学期学习操作系统,其实主要就是系统对于一些情况的应对算法,我们要做的就是写代码模拟这个情况,来了解操作系统是怎么解决的. 一.简介 提高内存管理的效率始终是操作系统研究的重要课题之一,虚拟存储技术 ...

  3. 【软考学习13】图解页面淘汰算法,先进先出算法、最近最少使用算法

    本文讲解了操作系统中进程读内存时,维护高速缓存的页面淘汰算法,其中重点讲解了先进先出算法和最近最少使用算法,学习高速缓存 Cache 提高程序执行效率的原理. 一.为什么要用页面淘汰算法 在计算机的存 ...

  4. 操作系统之虚拟存储管理 java python 实现 最优(Optimal)置换算法 先进先出(FIFO)页面置换算法 LRU(Least Recently Used)置换算法

    操作系统之虚拟存储管理 实验内容:模拟请求分页虚拟存器管理技术中的硬件地址变换.缺页中断以及页式淘汰算法,处理缺页中断. 实验目的:清楚认识请求分页管理. 最佳(Optimal)置换算法 其所选择的被 ...

  5. 先进先出算法(FIFO)——页面置换

    原创 最近操作系统实习,写了先进先出算法(FIFO)的代码来实现页面置换. 题目阐述如下: 设计四:页面置换 设计目的: 加深对请求页式存储管理实现原理的理解,掌握页面置换算法. 设计内容: 设计一个 ...

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

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

  7. JAVA 页面置换先进先出算法(FIFO)

    设计四:页面置换 设计目的: 加深对请求页式存储管理实现原理的理解,掌握页面置换算法. 设计内容: 设计一个程序,有一个虚拟存储区和内存工作区,实现下述三种算法中的任意两种,计算访问命中率(命中率=1 ...

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

    一.设计目的: 加深对请求页式存储管理实现原理的理解,掌握页面置换算法中的先进先出算法. 二.设计内容 设计一个程序,有一个虚拟存储区和内存工作区,实现下述三种算法中的任意两种,计算访问命中率(命中率 ...

  9. 页面置换算法先进先出java_页面替换算法(FCFS,LRU,OPT三种)

    import java.util.Scanner; import java.util.Arrays; import java.util.LinkedList; class PageReplacemen ...

最新文章

  1. 基于PyGame的乒乓球和滑雪小游戏
  2. 关于 android 环信无法正确获取昵称的问题
  3. hibernate对象管理
  4. 使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行
  5. Dp问题:奶牛的聚会
  6. php流程控制语句,php学习之道:php 流程控制语句
  7. HTML元素title里面如何换行
  8. mysql存储过程返回多个值_数据库mysql存储过程之返回多个值的方法示例
  9. 知乎万赞:人并不是活一辈子,而是活几个瞬间
  10. C++ 命名方式建议
  11. ajax的结果处理,jQuery ajax返回数据的后续处理
  12. java B2B2C Springboot仿淘宝电子商城系统-spring cloud 跨域访问
  13. 微信网页授权(OAuth2.0) PHP 源码简单实现
  14. 原生JS记忆翻牌小游戏
  15. property 理解
  16. 理论上 Android可以处理 多个手指的触摸
  17. 安装oracle gcc版本,安装cx_Oracle时报错:error: command 'gcc' failed with exit status 1
  18. pandas中drop用法_机器学习笔记:Pandas的delete、drop函数的用法
  19. 双子星量子计算机,【前沿】“前途”无量的量子科技
  20. accept()函数

热门文章

  1. 全国主要城市交通卡芯片一览,看看有没有你的家乡……
  2. 过山洞java_山洞历险Java源代码JAVA游戏源码下载
  3. 工作面试:工作交接(5)
  4. Git 提示Your branch is up-to-date with 'origin/master'
  5. ASPM——网络安全的下一个热点
  6. 前端培训——html源码笔记
  7. 乐优商城day13(商品详情页,rabbitMQ安装)
  8. 【多式联运】基于帝企鹅AFO 粒子群PSO 遗传GA算法求解不确定多式联运路径优化问题附matlab代码...
  9. 恭喜ULAM团队在数字版权领域的研究上有了新突破
  10. 在互联网大厂实习之后,我明白了这些事