虚拟内存

虚拟内存是一种内存管理技术,虚拟内存技术的核心就是利用了局部性原理,把所要运行的进程中的数据不全部加载到内存中执行,而是加载一部分,当CPU在请求页表时,发现页表中的页表条目中的有效位为0但是被虚拟存储系统分配了的虚拟页时,就会把这个虚拟页从磁盘中调度到内存中。

使用虚拟寻址时(用逻辑地址),CPU会生成一个虚拟地址(逻辑地址),用这个虚拟地址来访问主存时需要经过一个MMU(内存管理单元)来对这个虚拟地址进行翻译,把这个虚拟地址变为真正的物理地址。

虚拟存储器系统把虚拟存储器分割成大小固定的块,这一块一块的存储器中的内容我们称为虚拟页,相对应的实际物理存储分割成物理页。拥有虚拟页地址和物理页地址信息的页表。

页表就是一个存放页表条目的数组

在页面命中时,CPU硬件执行的步骤为: 
第一步:处理器生成一个虚拟地址(VA),并把它传送给MMU(内存管理单元)
第二步:MMU生成页表条目的地址(PTEA),请求内存中的页表,让它给自己返回一个页表条目(PTE) 
第三步:MMU构造物理地址(PA),然后把这这个物理地址传给内存(这时候是真实的物理地址),请求物理内存中的数据 
第四步:内存返回所请求的数据给处理器 

通过操作系统的内存管理和映射技术可建立虚拟内存与实际的物理内存的对应关系,使得程序员或CPU访问的虚拟内存地址会转换为另外一个物理内存地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值