请求分页存储管理,页面分配策略,页面置换算法等内容讲解
树图思维导图提供 虚拟内存思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 虚拟内存思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:238fd49c365785e667fb2e4639a13294
虚拟内存思维导图模板大纲
传统存储管理
一次性:作业数据必须一次调入内存
驻留性:作业数据在整个运行期间常驻内存
虚拟内存
多次性
对换性
程序不需要全部装入
虚拟性
数组在虚拟内存是连续存储的,在物理内存未必是连续存储
虚拟存储和覆盖技术、交换技术的相同和不同
相同点
都是把暂时用不到的数据调出外存,用得到的数据调入内存
不同点
覆盖
对程序员不透明,程序员控制
以程序段为单位
交换
对程序员透明,操作系统控制
以进程为单位,PCB常驻内存
虚拟存储
对程序员透明
以页或段为单位
时间局部性
不久后会再访问
空间局部性
现在访问的内存附近的内存不久后会再次访问
请求调页
访问信息不在内存,操作系统会从外存调页到内存
页面置换
实现
请求分页存储管理
请求分段存储管理
请求段页式存储管理
页表
新增 状态位:页面是否在内存中
新增 访问字段:最近访问几次或上次访问时间
新增 修改位:是否修改过
新增 外存地址
缺页中断
一条指令执行过程中可能产生多次缺页中断
找到页表项后检查页面是否在内存中,若不在则产生缺页中断
缺页中断处理时,操作系统会做
修改页表
分配页框
从外存读入内存,磁盘I/O
地址变换
在查页表发现未调入内存后,要调页
调入页面对应表项加入页表以及快表
然后再查快表,得到结果后访问目标
由于缺页中断结束会返回被中断的那一条指令,因此会再次访问地址,按照地址变换过程会先访问快表!
见笔记表格
LRU算法开销大的原因是要对所有的页排队
LRU算法只为了做题可以采用便捷法
从页号序列从后往前数,直到数到驻留集 个不同的数为止
当不连续的页号均不相同时,FIFO和LRU算法替换页面和缺页情况一样
无论哪种置换算法,第一次访问每种页面都不可能在内存中,必缺页
故缺页次数 ≥ 页数n
长度为p的引用串,说明有p个页面访问请求,(p≥n),缺页次数最多p次
页面置换到底做了什么,见笔记的图
驻留集
请求分页存储管理中给进程分配的内存块的集合
页面分配、置换策略
固定分配 vs 可变分配
驻留集大小不可变/可变
局部置换 vs 全局置换
缺页只能换进程自己的内存块 / 缺页可以分配OS保存的空闲块或者抢外存中其他进程持有的物理块
固定分配局部置换:进程运行前就分配一定数量物理块,缺页只换进程自己
大部分题都是这个条件,就正常做就行
可变分配全局置换:只要缺页就分配新物理块,来源可能来自进程本身可能来自其他
可变分配局部置换:根据缺页频率,频繁缺页多分配
何时调入页面
预调页:进程运行前
请求调页:缺页再调页
何处调页
对换区:连续存储方式
文件区:离散存储方式,速度慢
对换区够大:数据从文件区复制到对换区,在对换区调入调出
对换区不够大:不修改数据则在文件区,会修改数据则在对换区
当CPU利用率不高但是磁盘对换区利用率很高,说明交换操作非常频繁
物理内存严重短缺,可以加内存条增加内存容量
抖动(颠簸)现象
页面频繁换入换出
原因:分配给进程的物理块不够
工作集
某段时间间隔内,进程实际访问页面的集合,驻留集大小≥工作集大小
求法:向前看,找不同;见笔记例题
树图思维导图提供 1107文家市玉萍思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 1107文家市玉萍思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:ed943ef641f6dc874860eb6095857ed6
树图思维导图提供 种子思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 种子思维脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:86f8307a40ea24607c6c79354e09377f