码迷,mamicode.com
首页 > 其他好文 > 详细

简单理解什么是虚拟存储器

时间:2021-05-24 04:19:40      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:wrap   info   src   text   存在   head   进程   方式   question   

先看一个问题:

如何理解虚拟地址空间?

 

如何理解虚拟地址空间?常说的32位系统中,为每个进程分配4g虚拟地址空间,这4g空间到底是保存在哪里?(个人理解,这4g空间和物理地址做了一个映射,那么问题来了,多个进程就需要多个这样的4g空间,内存够用吗?)

 

答:

所谓地址空间,是地址访问可以达到的所有地址的集合,而不是支持这个地址空间的全部硬件。就好比邮政编码是6位,它的地址空间就是10^6个地址,从0到999999。但不表示你需要有这么多个建筑区支持它。

32位进程可以发出2^32个地址,比如*ptr=0xNNNNNNN,这个被访问的地址不一定有内存存在,只是说它可以发出这个地址而已。而这个地址对应什么物理内存,这是操作系统给的,给了就有,没给就没有。



一、什么是虚拟存储器

物理寻址和虚拟寻址
存放在存储器中每一个字节都有一个地址,这个地址称为物理地址(PA, physical address)。处理器通过物理地址访问数据的方式称为物理寻址。处理器也可以通过虚拟地址(VA, visual address)寻址,称为虚拟寻址。处理器生成一个虚拟地址来访问处理器,在地址到达存储器之前需要先转换为物理地址。存储器管理单元负责将虚拟地址转换为物理地址。
技术图片

 

 

简单理解什么是虚拟存储器

标签:wrap   info   src   text   存在   head   进程   方式   question   

原文地址:https://www.cnblogs.com/suishou/p/14750776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!