《深入理解计算机系统》读书笔记-11(第9章 虚拟内存)

《深入理解计算机系统》读书笔记-11(第9章 虚拟内存)

在实际应用中,我们将虚拟地址空间、物理地址空间均按统一的大小划分为“页面”;“页面”本质上就是一个存储单元的集合。

在将虚拟地址翻译为物理地址的时候,我们需要用到一个由操作系统维护、称为“页表”的数据结构;与虚拟地址空间一样,页表也是进程独立的,即每个进程均各自维护着一个独立的页表。

操作系统将CPU要处理的虚拟地址按预先定义好的规则,划分为几个特定的位段,这几个位段分别具有不同的含义。其中高位的位段用于把虚拟地址空间中的元素再划分为多个层次的集合,越高位的位段指示的集合越大(多级页表)。举例来讲,一个虚拟地址的划分就类似于现实生活中的”地址“,越在前面的内容指示的范围越大,逐步缩小范围(按中国的地址书写习惯):”中国四川省成都市青羊区青羊宫商圈草堂路28号“这样一个地址,首先规定了是在”中国“,而不是”美国“,也不是”法国“;其次”四川省“就表明了这个地方不可能在”重庆市“,也不可能在”北京市“……以此类推,这样我们就可以最终确定这个地址的所在,找到这么一个与之对应的实体——杜甫草堂。

假如有一个虚拟地址[01010011],多级页表总共又是 3 级、每级 4 个页表条目,那么就可以认为翻译过程应该是这样:先在一级页表0x01条目找到对应的二级页表;再在这个二级页表0x01条目找到对应的三级页表;再在这个三级页表中找到00条目对应的物理页号(PPN);将这个 PPN 与 剩下的 VPO 组合起来,就可以得到虚拟地址对应的物理地址了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值