在操作系统中,当程序在运行过程中,若其所要访问的页面不再内存中而需要把他们调入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必须从内存调出一页程序或数据送磁盘的兑换区中。但哪一个页面调出,须根据一定的算法确定。通常,把选择换出页面的算法称为页面置换算法(Page-Replacement

Algorithms).置换算法的好坏将直接影响到系统的性能。

1) 先进先出(FIFO)页面置换算法

该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程调入内存,按先后顺序排成一个队列,并设置一个指针,称为替换指针,使他总能指向最老的页面。但该算法与进程与实际运行的规律不相适应,效率最差。

2) 最近最久为使用(LRU)算法

LRU算法是根据页面调入内存后的使用情况进行决策的。就是利用“最近的过去”作为“最近的将来”的近似,因此是将最近最久未使用的页面予以淘汰。该算法赋予每一个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当淘汰一个页面时,选择现有页面中t值最大的,及最近最久为使用的页面予以淘汰。

原文:http://www.cnblogs.com/duchuan/p/3724308.html

c语言实现FIFO算法和LRU算法,C语言实现FIFO算法与LRU算法相关推荐

  1. 操作系统之存储管理——FIFO算法和LRU算法

    操作系统之进程调度--优先权法和轮转法(附上样例讲解) 操作系统之银行家算法-详解流程及案例数据 操作系统之多线程编程-读者优先/写者优先详解 操作系统之存储管理--FIFO算法和LRU算法 操作系统 ...

  2. 操作系统之FIFO算法和LRU算法

    首先在做题前,我们要简单理解FIFO算法和LRU算法的本质意思,英文全拼一般在教材上基本都会有,这里简述为FIFO算法即为先进先出算法,计算表格多以从下往上写的顺序来看,LRU算法大致为近期最少未使用 ...

  3. FIFO算法和LRU算法以及缺页

    FIFO算法和LRU算法以及缺页 缺页: ​ 缺页是引入了虚拟内存后的一个概念.操作系统启动后,在内存中维护着一个虚拟地址表,进程需要的虚拟地址在虚拟地址表中记录.一个程序被加载运行时,只是加载了很少 ...

  4. FIFO算法和LRU算法-C程序实现

    实验3.实验4 FIFO算法和LRU算法-C程序实现 简要的说一下我的思路 题目要求为4个物理块,给出8个数, 这就涉及一个内存命中和替换的操作了. FIFO算法 先是定义一个内存大小为4的数组. 每 ...

  5. c语言中减号算一个字符吗,C语言中指针的加减运算

    char arr[3]; printf("arr:\n%d\n%d\n%d\n", arr, arr + 1, arr + 2); char *parr[3]; printf(&q ...

  6. c语言根据日期算星期几入门,c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便...

    /* 蔡勒(Zeller)公式计算某一天是星期几 w:星期:c:(年份前两位):y:年(年份后两位):m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月 来计 ...

  7. lru调度算法例题_FIFO调度算法和LRU算法

    微信公众号关注我,更多计算机知识告诉你! 一.理论 FIFO:先进先出调度算法 LRU:最近最久未使用调度算法 两者都是缓存调度算法,经常用作内存的页面置换算法. 打一个比方,帮助你理解.你有很多的书 ...

  8. fifo算法c语言程序代码,c语言实现fifo算法及代码

    C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供了许多低级处理的功 ...

  9. WPTools改进了光标定位算法和RTF编写器

    WPTools改进了光标定位算法和RTF编写器 改进的光标定位算法. 优化的RTF编写器. 结合wPDF v5改进了PDF/标签创建. 改进了WPReporter. 整体性能增强. WPTools是一 ...

最新文章

  1. 负载均衡算法-权重随机均衡
  2. 从CSDN泄密看数据安全
  3. MAX3232EUE小知识
  4. js 浅拷贝直接赋值_第二十二篇 JS中浅拷贝的方法有哪些?
  5. Tencent JDK 国产化CPU架构支持分享
  6. R语言入门2---R语言基础绘图
  7. Unusual Competitions CodeForces - 1323C(思维)
  8. 跨浏览器兼容的HTML5视频音频播放器
  9. 将任意图像转成 HTML5 Canvas
  10. DB2 常用SQL语法
  11. Qt qlabel 设置字体、大小、加粗等
  12. Hbase教程(一) Hbase入门教程
  13. Lyapunov稳定性分析3(离散时间系统)
  14. 简单说说Java SE、Java EE、Java ME三者之间的区别
  15. 20201031B组 T3 生命之树
  16. CCS之最少拍控制器设计
  17. 计算机毕业设计java+SSM学生兼职工作网站(源码+系统+mysql数据库+Lw文档)
  18. CET-6--2018.12--1
  19. 如何做一个基于微信失物招领小程序毕业设计毕设作品
  20. Oracle觸發器調用procedure寄信

热门文章

  1. 大数据专题(一)- 简介
  2. 微信小程序中使用vant框架
  3. 深度学习Deep Learning 中文版下载
  4. python爬取中国银行当日外汇牌价
  5. 关于JsBarcode.all.js
  6. 今天我是如何10分钟完成30万售后单问题分类的
  7. 群晖室开虚拟机安装于服务器,如何在虚拟机上安装黑群晖?
  8. Java IO流 - 字节流的使用详细介绍
  9. 虚电路服务与数据报服务的对比
  10. jquery-ui如何引入