位置: IT常识 - 正文

虚拟存储器是什么(虚拟存储器什么意思)

编辑:rootadmin

推荐整理分享虚拟存储器是什么(虚拟存储器什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:虚拟存储器是什么存储器,虚拟存储器是什么存储器,虚拟存储器是什么存储器,虚拟存储器是什么存储器,虚拟存储器是什么,虚拟存储器是什么上扩充内存容量,虚拟存储器是什么层次,虚拟存储器是什么?为什么要引入虚拟存储器?,内容如对您有帮助,希望把文章链接给更多的朋友!

《内存管理》一节,给大家介绍了操作系统的两种内存分配方式,分别为连续分配方式和离散分配方式:

连续分配:给程序分配一整块连续、完整的内存空间;离散分配:将程序分成若干页或者若干段,然后分散存储到内存的各个区域。

这两种内存分配方式有一个共同的缺陷,即要求将程序全部载入内存。这也就意味着,程序使用的逻辑地址空间不能超过实际的物理内存空间,否则程序将无法全部进入内存,也就无法运行。但实际场景中,很多软件的运行都需要占用大量的内存空间,比如一些大型的游戏软件。

借助虚拟存储器,操作系统可以轻松解决“小内存”和“大作业”之间的矛盾,使大作业也可以在“小内存”的计算机上正常运行。

什么是虚拟存储器?

虚拟存储器是一种以局部性原理为依据实现的内存管理机制。

所谓局部性原理,是指在程序执行过程中,CPU 无论读指令还是数据,常常出现以下两种情况:

CPU 执行完某条指令后,过段时间还会执行该指令;CPU 访问了某个存储单元后,过段时间还会访问此存储空间;CPU 访问了某个存储空间后,接下来的一段时间内,它访问的往往是该存储单元附近的内存空间。虚拟存储器是什么(虚拟存储器什么意思)

因此,一个程序的正常执行,没必要事先将所有代码和数据全部装入内存,内存中只存储 CPU 短时间内执行的指令和所需数据即可。

这也就意味着,整个程序可以采用离散存储的方式,一部分指令存储在内存中,供 CPU 短时间内执行;另一部分则存储在外存中,供 CPU 将来执行。对于存放在外存中的程序段,操作系统需要负责以下 2 项工作:

当 CPU 要执行的指令不在内存中时,操作系统需要将所需指令和数据调入内存;如果内存空间不足,操作系统需要根据既定策略,将内存中暂时不需要执行的指令和数据移到外存,同时将需要的指令和数据移入内存。

这样的内存管理机制,保证程序可以正常执行的同时,有效解决了“小内存”和“大作业”之间的矛盾,常称为虚拟存储管理或者虚拟存储器。虚拟存储器中,将程序执行所占用的内存和一部分外存空间称为虚拟内存。

虚拟存储器具备以下 4 个特征:

离散型:内存分配方式采用的是离散分区分配的方式,而不是连续分配的方式。多次性:一个程序的所有指令和数据,需要分批调入内存。交换性:当内存空间不足时,需要将内存中暂时不用的数据移到外存,同时将需要的数据移入内存。虚拟性:虚拟存储器对内存空间实现了逻辑上的扩充,即用户所能使用的内存容量远大于实际的物理内存容量(因为程序的一部分代码存储在外存中)。虚拟存储器的实现

前面讲过,离散分配的实现方式有 3 种,分别为页式存储、段式存储和段页式存储。相应地,虚拟存储器的实现方式也有 3 种,分别称为页式虚拟存储器、段式虚拟存储器以及段页式虚拟存储器。

页式虚拟存储器是最常见的一种虚拟存储器,简单地理解,页式虚拟存储器就是在页式存储方式的基础上,通过增加请求页面调入功能和页面置换功能实现的一种虚拟存储器。

页式虚拟存储器中,整个程序分页存储在外存中。程序执行开始前,操作系统会将程序的第一个页面加载进内存。执行过程中,操作系统会不断地将 CPU 需要的程序页面加载到内存中,以保证程序的正常执行(请求页面调入功能)。当内存空间不足时,操作系统会根据既定的策略(算法),将暂时不需要的页面移出内存,然后将需要的页面移入内存(页面置换功能)。

页面置换算法

当 CPU 要执行的指令不在内存中时,操作系统负责将所需页面从外存调入内存,整个过程可能发生的意外是:内存的空闲空间太小,无法满足新调入页面的需求。这种情况下,操作系统就需要采用适当的页面置换算法,在内存中找到一些暂时不需要的页面,并将这些页面从内存移至外存,从而为新调入页面腾出足够的内存空间。

不同的页式虚拟存储器,采用的页面置换算法也不相同,常见的置换算法如下表所示。

表 1 页面置换算法置换算法描 述先进先出置换算法(FIFO算法)选择那些最先进入内存的页面作为被置换页面。该算法是一种性能最差的算法。最佳置换算法一种理想化的算法,性能最好,但实际很难实现。该算法选择那些永远不使用的,或者最长时间内不会被使用的页面作为被置换页面。但要确定哪个页面在最长时间内不会被访问,是很难实现的。最近最久未使用页面置换算法(LRU 算法)假设一个页面被访问过,但最近一段时间内没有再被访问过,则根据局部性原理,此页面再次被访问的概率较低。LRU 算法会选择间隔时间最长的页面作为被置换页面。

运行 LRU 算法需要很大的系统开销。最近未用页面置换算法(NUR 算法)将最近一段时间未使用过的页面作为被置换页面。

本文链接地址:https://www.jiuchutong.com/zhishi/277486.html 转载请保留说明!

上一篇:Java开发框架选型对比:ruoyi与yudao框架(java开发主流框架)

下一篇:在win7中,怎么解决无法添加网页到IE收藏夹?(在win7中怎么安转只兼容win10的软件)

  • 手机wifi正常平板不能上网(手机无线连接正常但是无法上网)

    手机wifi正常平板不能上网(手机无线连接正常但是无法上网)

  • 手机字太小了怎么调大(手机字太小了怎么弄)

    手机字太小了怎么调大(手机字太小了怎么弄)

  • 微信被别人登录有提示吗(微信被别人登录怎么查谁登的)

    微信被别人登录有提示吗(微信被别人登录怎么查谁登的)

  • 抖音跟火山小视频怎么同步(抖音跟火山小视频合并了)

    抖音跟火山小视频怎么同步(抖音跟火山小视频合并了)

  • 怎么设置微信收款别人也能收到提示(怎么设置微信收红包提醒)

    怎么设置微信收款别人也能收到提示(怎么设置微信收红包提醒)

  • hd3000相当于什么显卡(hd3000相当于什么n卡)

    hd3000相当于什么显卡(hd3000相当于什么n卡)

  • 我国第一台计算机哪一年研制成功(我国第一台计算机叫什么)

    我国第一台计算机哪一年研制成功(我国第一台计算机叫什么)

  • 苹果公司投诉渠道(中国苹果投诉渠道)

    苹果公司投诉渠道(中国苹果投诉渠道)

  • 红米k20pro支持lhdc吗(红米k20pro支持lhdc协议)

    红米k20pro支持lhdc吗(红米k20pro支持lhdc协议)

  • 微信群主能删除成员发的信息吗(微信群主能删除别人发错的信息吗)

    微信群主能删除成员发的信息吗(微信群主能删除别人发错的信息吗)

  • 苹果电脑刷新键是哪个(苹果电脑刷新按键)

    苹果电脑刷新键是哪个(苹果电脑刷新按键)

  • 为什么小红书下载不了(为什么小红书下载了不在桌面上)

    为什么小红书下载不了(为什么小红书下载了不在桌面上)

  • win10怎么给c盘扩容(win10怎么给c盘扩容如何把d盘空间分给c盘)

    win10怎么给c盘扩容(win10怎么给c盘扩容如何把d盘空间分给c盘)

  • vivo音乐歌词放到桌面(vivo手机音乐怎么显示歌词)

    vivo音乐歌词放到桌面(vivo手机音乐怎么显示歌词)

  • 华为mate304g与5g的区别(mate304g和5g价格差多少)

    华为mate304g与5g的区别(mate304g和5g价格差多少)

  • 荣耀8c什么时候上市的(荣耀8c什么时候可以安装鸿蒙)

    荣耀8c什么时候上市的(荣耀8c什么时候可以安装鸿蒙)

  • 华为在哪儿查碎屏保(华为怎么查询自己的碎屏险)

    华为在哪儿查碎屏保(华为怎么查询自己的碎屏险)

  • 小米便签怎么涂鸦(小米便签涂鸦怎么修正)

    小米便签怎么涂鸦(小米便签涂鸦怎么修正)

  • 三星手机返回键设置(三星手机返回键隐藏了怎样能调出来)

    三星手机返回键设置(三星手机返回键隐藏了怎样能调出来)

  • 为什么我的快手没有浏览设置(为什么我的快手没有赞赏功能)

    为什么我的快手没有浏览设置(为什么我的快手没有赞赏功能)

  • 手机自助冻结怎么解除(手机自助冻结啥意思)

    手机自助冻结怎么解除(手机自助冻结啥意思)

  • Node.js 全网最详细教程 (第一章:Node学习入门必看教程)(nodejs.org)

    Node.js 全网最详细教程 (第一章:Node学习入门必看教程)(nodejs.org)

  • 房地产开发企业销售自行开发的房地产项目
  • 公司购车需要公章吗
  • 影响年度损益的金额有哪些
  • 代扣代缴完税凭证 要勾选吗
  • 汇算清缴退税可以不退吗
  • 无形资产资本化会计处理
  • 合并财务报表内部固定资产交易的抵消
  • 预付房租摊销账务处理
  • 新公司法注册资本认缴制
  • 增值税为什么不重复征税
  • 事业单位支付方式
  • 购进货物用于免征增值税项目
  • 酒店会务费发票税率
  • 个体工商户个人所得税怎么计算
  • 固定资产丢失收入怎么办
  • 营改增后物业管理公司需要交营业税吗
  • 小规模文化交流活动
  • 管理费用纳税调增账务处理
  • 营增改的四大“增效剂”
  • 纳税信用a级纳税人激励措施
  • 工程项目产生的沙石怎么处理
  • 信用证和银行承兑汇票的区别如何做分录
  • 工程款发票备注栏必须填写吗
  • 银行利息现金流量表什么科目
  • 企业为员工购买团体医疗险可以全额税前扣除
  • 贷款利息收到发票怎么办
  • 土地增值税属于什么税类
  • 预计负债账务处理会计分录
  • 销售折让怎么做分录
  • 无线路由器指示灯怎么才是正常
  • php 替换
  • 教程图怎么做
  • nvsvc.exe - nvsvc是什么进程 有什么用
  • 小规模纳税人和一般纳税人哪个好
  • 借条丢了怎么办打电话给家长
  • 公司为员工交的社保比例
  • wrme.exe是什么
  • php简单文件管理
  • 可供出售和交易性金融资产的区别
  • 哪些情况下公司不能辞退员工
  • linux的nano是什么意思
  • 史上伟大电影
  • 金税盘中的发票修复是什么意思
  • 独立核算的分公司责任承担问题
  • 销售收入是不是销售额
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • python3多态
  • 自产货物进项税抵扣
  • 公司转让注册海外公司
  • 投稿网址打不开
  • 客户多付款不要了,多出这部分是哪种收入
  • 销售农产品是否交消费税
  • 企业利润分配项目是什么
  • 关于sql的问题
  • 客户多付的货款 不用退回 进营业外收入吗
  • 垃圾清运费属于什么服务
  • 债券收益可以表现为三种形式
  • 资产减值损失科目借方增加还是减少
  • 冲减当期利润
  • 建筑图纸设计费怎么收费
  • 废品相关内容有哪些
  • mysql 正则表达式分组替换
  • win7下安装ubuntu
  • xp系统可以双屏吗
  • fedora gnome
  • fedora系统怎么样
  • centos5.5加固
  • windows网络诊断在哪
  • 旅游软件页面
  • bat 批处理文件
  • div+css网页布局实例
  • javascript中函数
  • javascript的代码写在哪里
  • node.js 的适用场景?
  • 用javascript
  • js parsefloat parseint 转换函数
  • javascript中math.ceil
  • python list的操作
  • 电子税务局更改密码怎么改
  • 国税局调地方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设