什么是虚拟存储器?
虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的,是在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大的多,可寻址的“主存储器”。
为什么要引入虚拟存储器?
1) 能提高操作系统的内存利用率和系统吞吐量
2) 在计算机系统中,主存的容量有一定的限制,不可能大大满足各种用户的需要,而在技术上辅助存储器却可以做的相当大。为了给大作业提供方便,使它们不再承担对主存和辅存的具体分配和管理工作,而由操作系统把主存和辅存统一管理起来。虚拟存储器的特征?
虚拟存储器具有虚拟性、离散性、多次性及强对换性等特征,其中最重要的特征是虚拟性。
1> 虚拟性。虚拟性是指能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际的内存容量,这是虚拟存储器所表现出的最重要的特征,也是虚拟存储器最重要的目标。
2> 离散性。离散性是指内存分配时采用离散分配的方式,没有离散性就不可能实现虚拟存储器。采用连续分配方式,需要将作业装入到连续的内存区域,这样需要连续地一次性申请一部分内存空间,以便将整个作业先后多次装入内存。如果仍然采用连续装入的方式,则无法实现虚拟存储功能,只有采用离散分配方式,才能为它申请内存空间,以避免浪费内存空间。
3> 多次性。多次性是指一个作业被分成多次调入内存运行。作业在运行时,只将当前运行的那部分程序和数据装入内存,以后再陆续从外存将需要的部分调入内存。
4> 对换性。对换性是指允许在作业运行过程中换进换出。允许将暂时不用的程序和数据从内存调至外存的对换区,以后需要时再从外存调入到内存。设置你自己计算机上的虚存,并截图说明设置的过程
1、右键
我的电脑
, 选择属性
2、选择高级系统设置
3、选择高级
, 点性能中的设置
4、选择高级
, 选虚拟内存中的更改
5、选择自定义大小
, 输入初始大小和最大值, 推荐设置自己内存大小的1.5~ 3倍, 在这输入2048, 点击设置
, 根据提示选择确定。虚存可以建立在分区分配管理的基础上吗?为什么?
不可以。在虚拟存储器中,允许将一个作业分多次调入内存。如果采用连续分配方式时,应将作业装入一个连续的内存区域中。为此,需事先为它一次性地申请足够的内存空间,以便将整个作业先后分多次装入内存,这不仅会使相当一部分内存空间都处于暂时或“永久”的空闲状态,造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量。因此,虚拟存储器的实现都是建立在离散分配存储管理方式的基础上。
页面置换算法的应用
题干:在请求分页存储管理系统中,若为进程分配的物理块为4,开始执行时内存中没有装入任何页面,若进程依次访问的页面号为:3,1,2,6,0,7,4,6,7,2,0,4,3,2,0,7,0,2,6,5,1,5,4,3,请按照下面的页面置换算法完成作业(低物理地址优先)
1、OPT页面置换算法
1234567891011 *为发生缺页中断~为发生页面置换页面被置换顺序 1 3 0 6 4 7 2 0 6缺页率13/241、2、3、4内存为空,页面不在内存中发生缺页5 选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,页面1最长时间不被访问,因此被替换6 同理,页面3最长时间不被访问被替换7 同理,页面0最长时间不被访问被替换8 同理,页面6最长时间不被访问被替换9 同理,页面4最长时间不被访问被替换10 页面0,2,6在后续的访问中没有出现以此按照内存块的顺序(从上往下)依次替换
2、FIFO页面置换算法
3、LRU页面置换算法
4、CLOCK页面置换算法
5、CLOCK页面置换算法 第5题中进程依次访问的页面号为:其它条件、要求与前面的题干一样7,1,6,4,6,2,3,0,3,1,0,7,6,0,1,3,6,3,0,7,2,0,5