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

【操作系统】虚拟内存以及页面置换算法

起因

为什么需要虚拟内存?
由于程序规模的增长速度远远大于存储器容量的增长速度。
更大、更快、更便宜的非易失性存储器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

覆盖技术

上世纪80年代末90年代初:
在这里插入图片描述
把不会同时执行的模块,共享同一块内存区域。
在这里插入图片描述
通过程序间的逻辑调用关系对程序在内存中进行分区。
调用关系不止一种,另外一种如下图所示:
在这里插入图片描述
在这里插入图片描述

交换技术

将暂时不运行的程序转移到外存中去。
在这里插入图片描述
换出(Swap Out):将进程的整个地址空间的内容保存到外存中。
换入(Swap in):将外存中的进程的地址空间中的内容读入到内存中。
在这里插入图片描述
只在内存不足的时候才做对应的换入换出。
在这里插入图片描述

虚存技术

目标

在这里插入图片描述在这里插入图片描述

程序局部性原理在这里插入图片描述

在这里插入图片描述
C语言中是按照行优先来放置二维数组。在这里插入图片描述

基本概念

在这里插入图片描述

基本特征

在这里插入图片描述
由于换入换出机制,会将连续的逻辑内存变为不连续。

虚拟页式内存管理

在这里插入图片描述
在这里插入图片描述
请求调页:需要用到对应页的时候,才会发出请求。
页面置换:把需要的页换进来把不需要的页换出去。
在这里插入图片描述
在这里插入图片描述
32780对应第八行,驻留位为0,表示缺页,那么此时会触发缺页中断。
在这里插入图片描述
不同的存储形式
在这里插入图片描述
其他段:程序在运行过程中,可能会产生很多数据,并未对应到具体的文件,也就是动态产生的数据,会被映射到Swap文件。
在这里插入图片描述
为什么是1+q?
q表示的对内存页的写操作。并且需要将这个写操作一定换出到外存中,那么换出操作也会做一次写硬盘操作,当前的开销换入和换出的比例就是1+q。

对于EAT公式中,起决定作用的起始是p,如果p足够小,那么对应的开销起始就是10,也就是对应的访问时间。如果程序具有局部性的特点,那么产生的缺页就会很少,那么效率就会很高。

页面置换算法

功能目标

当缺页中断发生时,需要调入新的页面而内存已满时,选择内存当中的那个物理页面被置换。
目标:尽可能地减少页面的换入换出的次数。具体来说,把未来不再使用的或者短期内较少的页面换出。通常只能在局部性原理指导下依据过去的统计数据来进行预测。
页面锁定(frame lock):用户描述必须常驻内存的操作系统的关键部分或时间关键(time critical)的应用进程。常用的方法是:在页面中添加锁定标志位(lock bit)
在这里插入图片描述
在这里插入图片描述

最优页面置换算法

在这里插入图片描述

在这里插入图片描述
在替换e的,应该是离下一次访问最远的页。
在这里插入图片描述
所以最远的是d,故替换d。

先进先出算法

先进先出算法:淘汰内存中驻留最久的。
在这里插入图片描述
Belady现象:给的物理页帧越多,反而越容易出现缺页中断。
在这里插入图片描述

最近最久未使用算法(LRU)

Least Recently Used
原理:程序的时间和空间的局部性。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
使用链表或者是使用栈来实现。
在这里插入图片描述

时钟页面置换算法

在这里插入图片描述
依据是页表中accessbit(Used bit)来看。
在这里插入图片描述
指针指向过的区域如果为1,那么会清为0,直到找到初始为0的。
在这里插入图片描述
贴近LRU效果,但比LRU算法略差。

二次机会法

将used bit 和 dirty bit 结合起来,来淘汰对应的页。
在这里插入图片描述
指针每指一次,那么对应的标志位被降级,降级的路径如黄色表中所示。
在这里插入图片描述

最不常用算法(LFU)

Least Frequently Used
在这里插入图片描述
把时间因素也考虑进去,可以一段时间后把频度给左移一位。相当于每隔一段时间除2。

belady现象

在采用FIFO现象时,有时会出现分配的物理页面数增加,缺页率反而提高的异常现象。
在这里插入图片描述
在这里插入图片描述
对比LRU算法
在这里插入图片描述
LRU算法满足栈算法特点,但是FIFO不满足栈算法特点。
在这里插入图片描述
在这里插入图片描述

工作集模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
上图中的window Size指的是缺页时刻,而不是工作集大小。

抖动问题

在这里插入图片描述在这里插入图片描述

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

相关文章:

  • 搜索引擎是软件还是网站大连装修公司哪家好
  • dw做的网站要多大网站充值怎么做分录
  • UE4做购物网站手机网站怎么做seo
  • 网站怎么快速排名专注网站基础优化
  • 订房网站开发太原seo软件
  • 国内网站没备案网址导航浏览器
  • 网站建设中故障分类和排除方法网站后台登录地址修改
  • 网站域名使用费徐州哪家公司做网站水平好
  • 百日挑战——单词篇(第十六天)
  • 浙江网站开发学影视后期大概多少钱
  • wordpress本站导航在哪里电商学校学费多少钱
  • 嘉兴住房和城乡建设厅网站wordpress图片主题演示
  • 滨海新区商城网站建设四川seo技术培训
  • 有哪些网站可以做设计挣钱室内设计网上教学
  • 上海建设厅是哪个网站中国交通建设集团有限公司董事长
  • 网站建设 天津湖北交投建设集团网站
  • 东莞网站推广运营公司iis部署网站提示建设中
  • 做盗版网站引流门户网站对应序号是什么
  • 深圳高端网站建设多少钱如何给自己做的网站留后门
  • 1999年怎样建立企业网站公司网站建设中心
  • 电商网站会员体制怎么做组建做网站的团队
  • 如何制作自己的网站在里面卖东西在哪里建立个人网站
  • 网站建设需要的软件是什么wordpress 女尊
  • 网站版块模板如何做地方门户网站
  • 同一个公司可以做几个网站吗网站建设需要什么岗位的人
  • 响应式网站咨询电子商务网站建设类论文
  • 德阳市网站建设小程序建设
  • 苏州 做网站有口碑的网站建设
  • 上海网站建设口碑好网站开发工程师需要会写什么区别
  • 太原制作网站的公司哪家好网店推广新趋势