导图社区 第五章虚拟存储器
十分详细的虚拟存储器思维导图,包括:虚拟内存的基本概念、请求分页管理方式、请求分段存储管理方式。
这是一篇关于第五章虚拟存储器的思维导图,包括:虚拟内存的基本概念、请求分页管理方式、请求分段存储管理方式。
由于共享系统资源,并发执行的程序之间形成相互制约的关系、进程为完成同一项任务而相互合作、进程在进入临界区之前,对欲访问的临界资源进行检查的代码。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
虚拟存储器
虚拟内存的基本概念
传统存储管理的特征、缺点
一次性:作业数据必须一次全部调入内存
驻留性:作业数据在整个运行期间都会常驻内存
局部性原理
时间局部性:现在访问的指令、数据在不久后可能会被在次访问
空间局部性:现在访问的内存单元周围的内存空间,很可能在不久后会被访问
高速缓存技术:使用频繁的数据放到更高速的存储器中
虚拟内存的定义和特征
程序不需要全部装入即可运行,运行时根据需要动态调入数据,若内存不够,还需要换出一些数据
特征
多次性:无需在作业运行时一次全部装入内存,而是允许被分成多次调入内存
对换性:无需在作业运行时一直常驻内存,而是允许在作业运行过程中,将作业换入、换出
虚拟性:从逻辑上扩充了内存的容量,使用户看到内存容量远大于实际的容量,其逻辑容量由内存容量和外存容量之和所决定,运行速度接近内存速度
虚拟内存技术的实现
访问的信息不再内存时,由操作系统负责将所需信息从外存调入内存(请求调页功能)
内存空间不足时,将内存中暂时用不到的信息换出到外存(页面置换功能)
虚拟内存实现方法
请求分页存储管理
请求分段存储管理
请求段页存储管理
请求分页管理方式
页表机制
在基本分页的基础上增加了几个表项
状态位:表示页面是否已在内存中
访问字段:记录最近被访问的次数,或记录本页最近有多长时间未被访问,供置换算法选择换出页面时参考
修改位:表示页面调入内存后是否被修改过,只有修改过的页面才需在置换时写回内存
外存地址:页面在外存中存放的地址
缺页中断机构
找到页表项后检查页表是否已在内存,若没在内存,产生缺页中断
缺页中断处理中,需要将目标页面调入内存,有必要时还需要换出页面
与一般中断的区别
在指令执行期间产生和处理中断信号;一般CPU是在一条指令执行完后,才检查是否有中断请求到达,若有,便去响应,否则继续执行下一条指令
一条指令在执行期间可能产生多次缺页中断
地址变换机构
找到页表项检查页面是否在内存
若不在,需要请求页面
若内存空间不够,还需换出页面
换入内存修改相应页表项
页面分配策略
驻留集
指请求分页存储管理中给进程分配的内存块的集合
固定分配VS可变分配:区别在于进程运行期间驻留集的大小是可变
局部分配VS全局分配:区别在于发生缺页时是否只能从进程自己的页面选择一个换出
固定分配局部置换:进程运行前就分配一定数量物理块,缺页时只能换出进程自己的某一页
可变分配全局置换:只要缺页就分配新物理块,可能来自空闲物理块,也可能需换出别的进程页面
可变分配局部置换:频繁缺页的进程,多分配物理块,缺页率低的进程回收一些物理块
何时调入页面
预调入策略:一次性调入若干个相邻的页
请求调入策略:进程运行时,发现缺页再调入
从何处调页
对换区:采用连续存储方式,速度快;文件区:采用离散存储方式,速度慢
对换区足够大:运行将数据从文件区复制到对换区,之后所有的页面调入、调出都是在内存与对换区之间进行
对换区不够大:不会修改的数据每次都从文件区调入;会修改的数据调出到对换区,需要时再从对换区调入
UNIX方式:第一次使用的页面都从文件区调入;调出的页面都写到对换区,再次使用时从对换区调入
抖动现象
页面频繁换入换出的现象,主要原因是分配给进程的物理块不够
工作集
在某段时间间隔里,进程实际访问页面的集合。驻留集大小一般不能小于工作集
页面置换算法
最佳置换算法OPT
每次选择淘汰的页面将是以后永不使用,或者在长时间内不再被访问,以保证最低缺页率
缺陷:算法性能最好但实际上系统无法提前预判页面访问序列,因此该算法是无法实现
先进先出置换算法FIFO
每次选择淘汰的页面是最早进入内存的页面
缺陷:该算法与进程实际运行规律不适应,因为最先进入的页面也可能最常访问,算法性能差
最近最久未使用置换算法LRU
每次淘汰的页面是最近最久未使用的页面
硬件支持
寄存器
栈
缺陷:虽性能好但实现困难,开销大
时钟置换算法CLOCK
为每页面设置一个访问位,内存页面通过链接指针链接成循环队列,当需要淘汰一个页面时,访问位若为0,则选择该页换出,若1,则将它置为0后,再进行第二轮扫描(最多经过两轮扫描)
性能开销较均匀的算法
改进型时钟置换算法
只有被淘汰的页面被修改过时才需要写回外存,因此在其他条件相同时,应优先淘汰没有被修改的页面
算法规则(最多四次)
第一轮:从当前位置开始扫描到第一个(0,0)的页面用于替换。本轮扫描不修改任何标志位
第二轮:若第一轮失败,则重新扫描,查找第一个(0,1)页面用于替换,并把所有扫描过的页面访问位置为0
第三轮:若失败,重新扫描,查找第一个(0,0)用于替换,不修改任何标志位
第四轮:若失败,重新扫描,查找第一个(0,1)用于替换
请求分段存储管理方式
请求段表机制
段名、段长、段基址、存取方式、访问字段、修改位、存在位、增补位、外存始址
缺段中断机构
由于分段是信息的逻辑单位,因而不可能出现一条指令被分割在两个分段中,和一组信息分割在两个分段中的情况
由于段是不定长的,这使得缺段中断的处理要比缺页中断的处理复杂
要注意
分段越界中断处理
分段保护中断处理
缺段中断处理