虚拟存储与地址转换:从逻辑到物理
需积分: 0 180 浏览量
更新于2024-07-11
收藏 6.51MB PPT 举报
"分页Paging是计算机系统中一种重要的内存管理技术,用于将内存划分为固定大小的页框,并将进程分割为同样大小的逻辑页,通过页表进行地址映射。这一技术使得进程可以在不连续的物理内存中分布,提高了内存的利用率。在IA-32/Linux系统中,地址转换涉及逻辑地址到线性地址再到物理地址的过程,其中页表和转换查找缓冲区(TLB)起到关键作用。"
分页Paging是现代操作系统中内存管理的基础,它的基本思想是将内存分割为固定大小的页框,通常这些页框的大小是4KB。同时,进程的地址空间也被分割为相同大小的逻辑页,这样每个逻辑页可以独立地装入内存的任何页框中,无需保持连续性,解决了内存碎片问题。操作系统为每个进程维护一个页表,页表记录了逻辑页与物理页之间的映射关系,实现了逻辑地址到物理地址的转换。
逻辑地址是进程在执行时使用的地址,也称为虚拟地址,它是由进程看到的内存空间。而物理地址则是实际存储在内存中的地址,是硬件直接访问的地址。在IA-32/Linux系统中,地址转换首先将逻辑地址转化为线性地址,然后线性地址再转换为物理地址。这个过程通常涉及到页全局目录(PGD)、页上级目录(PUD)、页中间目录(PMD)和页表项(PTE)等四级页表结构,以及转换查找缓冲区(TLB)来加速地址转换。
虚拟存储器是层次结构存储系统的一个重要组成部分,它通过将主存和磁盘结合起来,使得进程可以拥有比实际物理内存更大的地址空间。当需要访问的页面不在主存中时,会发生缺页异常,此时操作系统会根据页表找到对应的磁盘位置,将所需页面调入内存,同时可能会将其他不常使用的页面换出到磁盘上,这就是所谓的页面调度策略。
高速缓冲存储器(Cache)是位于CPU和主存之间的小容量、快速的存储器,用于缓存最近频繁访问的数据。由于程序的局部性原理,即程序倾向于在一段时间内集中访问同一片区域的数据,Cache能够显著提高系统性能。Cache的工作原理包括替换策略、映射方式(如直接映射、全相联映射、组相联映射)以及命中率计算等。
在层次结构存储系统中,每一层都有其特定的作用。主存作为CPU和磁盘之间的桥梁,负责存储当前正在执行的程序和数据。磁盘存储器提供大量但较慢的长期存储。Cache则通过减少CPU等待数据的时间来提升整体性能。整个系统通过复杂的地址转换和管理机制协同工作,确保了程序的正常运行和高效执行。
理解存储器的工作原理,包括CPU如何与主存交互、Cache如何提升性能、虚拟存储器如何扩展内存空间以及地址转换的详细过程,对于深入理解计算机系统的工作机制至关重要。通过学习这些内容,开发者可以更好地优化程序,利用局部性原则设计高效的算法,以及理解和解决内存相关的性能问题。
2019-12-02 上传
2021-05-18 上传
2021-06-16 上传
127 浏览量
2021-05-20 上传
111 浏览量
2021-05-16 上传
猫腻MX
- 粉丝: 22
- 资源: 2万+
最新资源
- 行业文档-设计装置-集中处理站油田采出液分离装置及油水分离方法.zip
- 01_Homework-Accessibility-Code-Refactor:为了提高Horiseon网站的搜索排名并使更多的用户可以访问它,对现有代码进行了重构
- 小程序预览PDF文件插件Pdf.js
- xue-git:学习git
- eng-hiring:18F工程部候选人选择指南,从简历屏幕到应聘者
- 将base64编码和解码为字节或utf8-Rust开发
- Vector_MATLAB_Simulink_MC_Add_on_15010
- muun::bird:Live Twitter仪表板
- mongoose-flights
- 动态演示nio中的buffer相关操作.zip
- 海吉亚医疗-6078.HK-公司深度研究:复制的确定性缘何而来.rar
- http-请托管这些东西-基本的http服务器,用于快速,简单地托管文件夹-Rust开发
- css3按钮特效制作鼠标悬停按钮动画特效
- Sor:机械鸟游戏
- 非常好的一款多小区物业管理系统
- Stat466:鲍恩施纳普森的统计数据-开源