深入理解计算机系统-第九章:虚拟内存(上)

深入理解计算机系统-第九章:虚拟内存(上)

​ 早期的计算机系统直接通过物理地址在内存中寻找到对应数据。

​ 现代处理器使用虚拟寻址的形式,CPU通过虚拟地址来访问主存,这个虚拟地址会被先转换成适当的物理地址。地址的翻译是CPU硬件和操作系统合作完成的。

​ VM系统将虚拟内存分割成虚拟页,对应的物理内存分割为物理页。

​ 虚拟页面的集合分为下列三个不相交子集

  • 未分配页
  • 已经缓存在物理内存的页的页
  • 已经分配但是还没有缓存在物理内存的页

在这里插入图片描述

通过虚拟内存寻址

​ 我们需要一个方法来判定一个虚拟页是否被缓存在某个地方。如果没有命中,我们需要在物理内存中置换一个页,将需要的页换进。

​ 我们需要使用一个叫做页表的数据结构,页表吧虚拟页映射到物理页,操作系统则维护页表内容,以及置换页。页表的结构如下:

在这里插入图片描述

​ 有效位为1则表示,对应的页已经在物理内存中缓存,为0则表示,暂时没有对应的物理缓存。

​ 同时我们还需要一种方法通过虚拟内存找到对应页表,也就是地址翻译。在虚拟地址中会记录着虚拟页号和偏移量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值