操作系统存储管理之虚拟存储与分页式虚拟存储系统

虚拟存储器基于程序局部性原理,通过部分装入和部分对换实现内存资源的有效利用。分页式虚拟存储系统中,作业信息副本存于辅助存储,仅装入运行所需页面。在缺页时,系统会根据页面替换算法动态装入页面。常见的页面替换算法有随机、FIFO、LRU等,其中LRU效果较好。写时复制技术用于减少内存副本,提高效率。
摘要由CSDN通过智能技术生成

虚拟存储实现思路

在实际运行过程,把有关作业的全部信息都装入主存储器后,作业执行时实际上不是同时使用全部信息的,有些部分运行一遍便再也不用,甚至有些部分在作业执行的整个过程中都不会被使用到(如错误处理部分)。进程在运行时不用的,或暂时不用的,或某种条件下才用的程序和数据,全部驻留于内存中是对宝贵的主存资源的一种浪费,大大降低了主存利用率。
于是,提出了这样的问题:作业提交时,先全部进入辅助存储器,作业投入运行时,能否不把作业的全部信息同时装入主存储器,而是将其中当前使用部分先装入主存储器,其余暂时不用的部分先存放在作为主存扩充的辅助存储器中,待用到这些信息时,再由系统自动把它们装入到主存储器中,这就是虚拟存储器的基本思路。

虚拟存储器定义

具有部分装入和部分对换功能,能从逻辑上对内存容量进行大幅度扩充,使用方便的一种存储器系统。
虚拟存储器是基于程序局部性原理上的一种假想的而不是物理存在的存储器,允许用户程序以逻辑地址来寻址,而不必考虑物理上可获得的内存大小,这种将物理空间和逻辑空间分开编址但又统一管理和使用的技术为用户编程提供了极大方便。此时,用户作业空间称虚拟地址空间,其中的地址称虚地址

分页式虚拟存储系统

基本原理

分页式虚拟存储系统是将作业信息的副本存放在磁盘这一类辅助存储器中,当作业被调度投入运行时,并不把作业的程序和数据全部装入主存,而仅仅装入立即使用的那些页面,至少要将作业的第一页信息装入主存,在执行过程中访问到不在主存的页面时,再把它们动态地装入。用得较多的分页式虚拟存储管理是请页式(demand Paging),当需要执行某条指令或使用某个数据,而发现它们并不在主存时,产生一个缺页中断,系统从辅存中把该指令或数据所在的页面调入内存。
请页式虚拟存储在执行过程中,必然会发生某些页面不在内存中的情况,针对这种情况,处理方法是扩充页表的内容,增加驻留标志位和页面辅存的地址等信息,扩充后的页表如下所示:
这里写图片描述

  • 驻留标志位(又称中断位)用来指出对应页是否已经装入主存,如果某页所对应栏的驻留标志位为1,则表示该页已经在主存;若驻留标志位为 0,此时产生一个缺页中断信号,可以根据辅存地址知道该页在辅助存储器中的位址,将这个页面调入主存。
    在作业执行中访问某页时&#
  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值