操作系统学习笔记十二(基于分页的虚拟存储系统)
导图
1. 虚拟存储器
1.1 是什么
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
1.2 实质
1)就是说,先将进程的一部分装入内存,其余的部分什么时候需要,什么时候请求系统装入,即请求调入。
2)如果请求调入时,没有足够的内存,则由操作系统选择一部分内存中的进程内容移到外存,以腾出空间把当前需要装入的内存调入,即置换。
1.3 优点
1)提高内存利用率
2)提高多道程序度:在进行进程运行的时候,并不是一口气把一个进程里的所有东西都调入到内存,先放一部分进内存,这样就可以放更多的进程进内存。
3) 把逻辑地址空间和物理地址空间分开:不用考虑物理内存的容量较小了。可以把外存在逻辑上扩充成内存的一部分。
1.4 特征
1) 离散性:实现虚拟存储管理的基础。包括分页、分段。都是不连续的。
2) 多次性:不用一次性的将进程装入内存。一次装一点儿,一个进程可以装多次。
3) 对换性:没用的换去外存,有用的置换进内存。
4) 虚拟性: 实现虚拟存储系统的最重要目标。实质上内存很小,但是通过内外存来回切换,在逻辑上扩充内存。
2. 请求分页系统
2.1 概念
请求分页系统是最基本、最常用的虚拟存储系统的实现方式。
2.2 请求分页中的硬件支持
为了实现请求分页,需要:特殊的页表、缺页异常机构和支持请求分页的地址变换机构
1) 特殊的页表
2) 缺页异常机构
在访问内存过程中发现缺页时产生缺页异常信号,0缺页,1不缺页。
3) 地址变换机构
2.3 页的分配策略
Q1:至少为进程分配多少个页框才能使进程正常运行?
最少页框数:保证进程运正常运行的所需要的最少页框数。最少页框数与进程的大小没有关系,它与计算机的硬件结构有关, 取决于指令的格式、功能和寻址方式。
Q2:内存不够时,从进程本身选择淘汰页,还是从系统中所有进程页中选择?
在基于分页的虚拟存储系统中,常采用两种置换策略,即局部置换和全局置换。
在请求分页系统中,从分配给进程的页框数量上来看,可以采用固定分配和可变分配策略。
1)固定分配局部置换:刚开始分配 10个页,当第11页来了,先置换自己。
2)可变分配全局置换:进程来了,分配了10个页,还预留了5个页作为候补。不够用的时候,先用候补。
3)可变分配局部置换:进程来了,分配了10个页,还预留了5个页作为候补。来一个就先置换自己,当你发现自己来来回回总被换时,就用候补。
Q3:采用什么样的算法为不同进程分配页框?
1)平均分配算法:有5个内存的框,有两个进程,一人分两个,剩一个。剩下的那个放在缓冲池,当候补去。
2)按比例分配算法:大规模的进程分的多,小规模的进程分的少。
3)考虑优先权的分配算法:优先权高的分的多,优先权低的分的少。
2.4 页的置换算法
1)最佳置换算法(主要用于理论研究):选择以后永远不会被访问的页或者在未来最长时间内不再被访问的页作为换出页
例题:
2)先进先出置换算法FIFO(最简单的页置换算法):为每个页记录该页调入内存的时间,选择换出页时,选择进入内存时间最早的页
例题:
3)最近最久未使用置换算法LRU(实现最佳算法的近似算法):选择最近最久未使用的页换出(用一个字段记录一个页自上次被访问以来所经历的时间)
例题:
2.5 其他置换算法
2.6 分析请求分页系统性能
1)缺页率对有效访问时间的影响
P为缺页率,有效访问时间=0.1+24999.9*P 。
有效访问时间与缺页率成正比,缺页率越高,有效访问时间越长,访问效率越低。
2) 工作集
引入工作集目的:降低缺页率,提高访问内存效率
含义:某段时间间隔里,进程实际要访问的页的集合
3) 抖动
运行进程的大部分时间都用于页的换入换出几乎不能完成任何有效果工作的状态
产生原因:进程数量太多、分配页框太少
预防方法:采取局部置换策略、引入工作集、挂起若干进程
总结
以上是生活随笔为你收集整理的操作系统学习笔记十二(基于分页的虚拟存储系统)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: dcn网络与公网_DCN网络安全
- 下一篇: EasyBoot如何使用?EasyBoo