当前位置: 首页 > news >正文

操作系统页面置换算法FIFO——Belady异常与一个简单案例

一、引言

       在操作系统中,页面置换是一个重要知识点,是用于解决内存空间有限核心技术。当进程访问的页面不在内存时,发生缺页异常,操作系统会将目标页面从外存调入内存,倘若此时该进程已无空闲块,就需要使用到页面置换技术。

       而FIFO(First In First Out,即先进先出)是页面置换算法中最基础、最容易实现的一个算法。但它存在一个非常严重的违反常识的缺陷:即当增加内存块后,缺页率不降反增!

       本文通过一个简单的案例,简单展示这种现象,即Belady异常。


二、简述FIFO页面置换算法原理

       通过访问时间顺序,每当需要页面置换时,换出那个最早进入的页面。要做到这一点,只需维护一个访问队列,队首位最早当前进入的页面。

三、触发Belady异常的一个经典案例

       如下图、当访问序列编号为1  2  3  4  1  2  5  1  2  3  4  5 时:

        当该进程分配的物理块数为3时,缺页率为70.00%,而当物理块数上升到4时,缺页率不降反增,来到了83.33%

四、为什么FIFO会发生Belady 异常

         FIFO算法 的仅依据页面进入内存的时间排序,不考虑页面的未来访问概率,即不考虑空间局部性设计。

        当物理块数增加时,可能会留下的仅仅是那些未来不再访问的页面,而将即将访问的页面替换出去,导致更多缺页,缺页率不降反增。

http://www.dtcms.com/a/415328.html

相关文章:

  • 网站开发定制方案企业网店推广运营策略
  • 杭州设计企业网站高端公司游戏网站开发试验报告
  • React Native:使用vite创建react项目并熟悉react语法
  • LazyLLM 学习
  • 服饰 公司 网站建设新会网页制作公司
  • 做网站开发的营业执照电商货源网站大全
  • Redis 主从同步:原理、配置与实战优化
  • 什么是网站反链企业建设网站风险
  • 毕业设计开题报告网站开发深圳哪家网站设计比较好
  • 常用的Python项目管理工具
  • 网站建设设计技术方案模板linux 下启动 wordpress
  • 温建设文件发布在哪个网站做网站需要ui设计吗
  • 数字孪生背后的通信协议:MQTT、OPC UA选型指南
  • Nest 身份鉴权与权限控制
  • C#系统日志
  • CMakeLists.txt语法(三)
  • 简单flash个人网站山东省建设教育集团网站首页
  • windows多显示器,独立的虚拟桌面
  • 国外的app设计网站企管宝官网
  • 深入解析 Redis 的两种持久化机制:RDB 与 AOF
  • 爱佳倍 北京网站软件外包公司是什么意思
  • SCNet平台—让AI更简单、更高效、更实用
  • 高流量网站设计菏泽网站开发公司
  • 做一个展示型网站要多少钱自己做本市网站
  • SSRF靶场环境命令执行靶场环境
  • 【数字孪生】02-数字孪生在各个领域的应用(1)
  • 网站字体样式重庆唐卡装饰口碑怎么样
  • wgcna 相关性热图中4个颜色 4个共表达模块 的模块基因是否都要做GO/KEGG分析”,核心取决于你的**研究目标和模块的生物学意义*
  • 什么是网站名称文件夹会展设计需要学什么
  • 第十六届蓝桥杯软件赛C组省赛C++题解(京津冀)