首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3.2.8 虚拟内存管理

3.2.8 虚拟内存管理

作者头像
week
发布2018-08-27 09:29:55
5070
发布2018-08-27 09:29:55
举报
文章被收录于专栏:用户画像用户画像

(1)为什么要引入虚拟内存?

多道程序并发执行不仅使进程之间共享了处理器,还同时共享了主存。然而,随着处理器需求的增长,进程的执行速度会以某种合理平滑的方式慢下来。但是,如果同时执行的进程太多,那么就需要很多的内存,当一个程序没有内存空间可用时,那么它甚至无法运行。所以,在物理上扩展内存相对有限的条件下,应当尝试以一些其他可行的方式在逻辑上来扩充内存。

(2)内存空间的大小由什么因素决定?

虚存的大小要同时满足2个条件:

1.虚存的大小<=内存容量和外存容量之和,这是硬件的硬性条件规定的,若虚存大小超过了这个容量则没有相应的空间来供虚存使用。

2.虚存的大小<=计算机的地址位数能容纳的最大容量,比如你的地址是32位的,那么假设按字节编制,一个地址代表1B的存储空间的话,那么虚存的大小<=4GB(2的32次方B).这是因为如果虚存的大小超过4GB,那么32位的地址将无法访问全部虚存,也就是说4GB以后的空间是浪费掉的,相当于没有一样,没有任何意义。

实际虚存的容量是取条件1,2的交集,也就是说,两个条件都要满足,光满足一个是不行的。

(3)虚拟内存是怎么解决问题的?会带来什么问题?

虚拟内存使用了外存上的空间来扩充内存的空间,通过一定的换入换出,使得整个系统在逻辑上能够使用一个远远超过其物理内存大小的内存容量。因为虚拟内存技术调换页面时需要访问外存,会导致平均访存时间下降,如果使用了不合理的替换算法,则会大大降低系统性能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年07月03日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档