标签:内核 其他 位置 之间 支持 技术分享 重要 处理器 没有
计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组,每字节都有一个唯一的物理地址。CPU根据物理地址访问存储器的方式是物理寻址。
现代处理器使用的是一种称为虚拟寻址的寻址形式,参见图:
同任何缓存一样,虚拟存储器系统必须有某种方法来判定一个虚拟页是否存放在DRAM中的某个地方。如果是,系统还必须确定这个虚拟页存放在哪个物理页中。如果不命中,系统必须判断这个虚拟页存放在磁盘的哪个位置,在物理存储器中选择一个牺牲页,并将虚拟页从磁盘拷贝到DRAM中,替换这个牺牲页。
? 这些功能是由许多软硬件联合提供的,包括操作系统软件、MMU(存储器管理单元)中的地址翻译硬件和一个存放在物理存储器中叫做页表的数据结构,页表将虚拟页映射到物理页。每次地址翻译硬件将一个虚拟地址转换为物理地址时都会读取页表。操作系统负责维护页表的内容,以及在磁盘与DRAM之间来回传送页。
接下来,内核从磁盘拷贝VP3到存储器中的PP3,更新PTE3,随后返回。当异常处理程序返回时,它会重新启动导致缺页的指令,该指令会把导致缺页的虚拟地址重发送到地址翻译硬件。但是现在,VP3已经缓存在主存中了,那么页命中也能由地址翻译硬件正翻译硬件正常处理了。图4展示了在缺页之后我们的示例页表的状态:
下图展示了当操作系统分配一个新的虚拟存储器页时对我们示例页表的影响,例如调用malloc的结果。
简化存储器分配
2018-2019-1 20165321《信息安全系统设计基础》第九周学习总结
标签:内核 其他 位置 之间 支持 技术分享 重要 处理器 没有
原文地址:https://www.cnblogs.com/xpl20165321/p/10055787.html