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


先看一个问题:

如何理解虚拟地址空间?

 

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

 

答:

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

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



一、什么是虚拟存储器

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

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM