页面置换算法(局部、全局)-局部性很关键
功能与目标:
页面锁定!
更少的缺页中断,更优的性能
最优页面置换算法:理想情况,作为评价标准
最长占用时间:
维护了一个链表,要注意
最久未被使用:
程序的局部性原理
每次访问,都需要查找栈,比较费时的
找一个方法,效果又好,效率又高
SX-BYTE,操作系统定期清零该位
二次机会法:
访问:读操作还是写操作,若是读操作的话,换页直接释放,写操作的话,需要实际交换
减少硬盘读取的消耗!
有什么数据结构的方式来减小消耗?计数器?硬件?
有动态信息没有表达出来
面临具有局部性的访问序列时,LRU和clock才会发挥效果
页面置换算法有效且存在的前提是局部性,若程序不具备局部性,那么页面置换算法则不具有任何意义
经典:最长占有,最久未被使用(LRU),时钟页面置换
全局页置换算法:
在局部算法里面并没有考虑各个进程之间的访存差异,全局置换算法为进程分配可变数目的物理页面。常驻集是指进程在运行时,当前时刻实际驻留在内存当中的页面集合。而工作集是进程在运行过程所固有的特征。置换算法的工作就是在进程的工作集的前提下,确定常驻集的大小以及相应页面。
理想情况下:期望工作集与常驻集相等
在整个系统的层面来看,整个系统的缺页率是比较低的?
维护一个范围内的页情况,超出页范围的,不再记录,如果此时需要,且页范围内不存在的页种类,则需要置换上来(跟谁置换?)
工作集是逻辑上的,常驻集是实际情况的,单位是进程
操作系统balance
基于工作集的置换算法
超出工作集的,就要给换出去!
基于缺页率的置换算法
工作集实际是虚拟的内存空间么?针对于单个进程来说?
belady现象是物理内存增多,但缺页中断也增多!
抖动是进程发生频繁的缺页中断!
CPU时间,用来处理缺页中断?
抖动问题:内存不够,需要大量的页置换
平均页缺失时间=页缺失服务时间?????
置换有两种操作:1.只读页,直接释放就可以 2.只写页,需要置换回硬盘
页面置换算法(局部、全局)-局部性很关键相关推荐
- 内存管理之页面置换算法
前面我们提到了关于内存管理的一些知识,交换技术和虚拟内存是两种常用的处理内存过载的办法.对于虚拟内存,进行换入换出的基本单位是页面.当进程访问的页面没有被映射到内存时,操作系统必须在内存中选择一个页面 ...
- 【清华大学】操作系统 陈渝——Part6 全局页面置换算法
[清华大学]操作系统 陈渝--Part6 局部页面置换算法 6.8 局部页面替换算法的问题,工作集模型 局部页面替换算法的问题 工作集模型 6.9 全局页面置换算法 1. 工作集页置换算法 2. 可变 ...
- 操作系统中的全局页面置换算法
1 全局页面置换算法 以上页面置换算法都是针对单一的应用程序的页面置换算法, 且有一个前提, 就是给单一应用程序分配的物理页帧数量是一定的. 现实中, 给一个应用程序分配的物理页帧数, 该程序产生的缺 ...
- 操作系统原理:全局页面置换算法、工作集页置换、常驻集页置换、抖动问题
程序在运行过程中具有阶段性,可能刚开始的时候需要访问的内存很多,之后访问的内存可能会很少.如果操作系统给每个程序分配固定的物理页那么就显得不灵活,有没有办法动态地给程序分配页帧呢,在需要访问很多内存的 ...
- 虚拟内存,分页与分段的区别、页面置换算法,颠簸,局部性原理
什么是虚拟内存? 虚拟内存允许执行进程不必完全在内存中.虚拟内存的基本思想是:每个进程拥有独立的地址空间,这个空间被分为大小相等的多个块,称为页(Page),每个页都是一段连续的地址.这些页被映射到物 ...
- 8虚拟内存9页面置换算法
8.1虚拟存储的需求背景 虚拟内存是非连续内存分配的一个延续,非连续内存分配在存储空间内可以连续也可以不连续.虚拟内存是在非连续内存分配基础上,可以把一部分内容放到外存中去,让应用程序有更大的空间使用 ...
- 一文看懂页面置换算法
页面置换算法分为两类 1.局部页面置换算法 最优页面置换算法(OPT.optimal) 先进先出算法(FIFO) 最近最久未使用算法(LRU,Least Recently Used) 时钟页面置换算法 ...
- 清华向勇《操作系统 》学习笔记6:页面置换算法
文章目录 6.1 页面置换算法概念 6.2 局部页面置换算法 6.2.1 最优置换算法(OPT) 6.2.2 先进先出算法(FIFO) 6.2.3 最近最久未使用算法(LRU) 6.2.4 时钟算法( ...
- 2020-11-22(操作系统——页面置换算法)
当内存中的页面满了之后,需要的数据又在磁盘虚拟内存中,可以使用页面置换算法将需要的页置换到物理内存中.下面先介绍几种局部页面置换算法,其针对一个进程而言的页面置换. 一.局部页面置换算法 1.最优页面 ...
最新文章
- zend怎么保存php,Zend Framework页面缓存实例
- CF1030F Putting Boxes Together
- android设备获取wifi和蓝牙状态并进行打开或关闭操作
- 安装SAP Kyma由于网络原因导致的pod无法启动的截图
- 公司java框架让程序员变笨_框架会使程序员变笨吗?
- vue 运行报错Module build failed: Error: Node Sass does not yet support your current environment: Windows
- php post请求超时,php用curl提交post数据,本地测试服务器OK,线上超时,需要如何排除问题?...
- windows下使用批处理设置环境变量
- Feign 集成 Hystrix实现不同的调用接口不同的设置
- Web端高保真动态交互Axure元件库
- Unity配置JAVA环境变量
- java车牌识别字符分割_【车牌识别】-车牌中字符分割代码详解
- Windows系统使用SSH连接远程服务器
- JS格式化输出常用格式
- 应对不断变化的世界秩序:自治资本主义
- 昨晚,谷歌发布了一个可怕的人工智能!
- [内网渗透]—NetLogon 域内提权漏洞(CVE-2020-1472)
- 7.24[C语言零基础 知识点总结]
- simpread-PCB 基本布线规范与设计原则
- java:下拉列表框组件