理解虚拟内存与TLB:分页、页表、抖动及转移后备缓冲器的作用
需积分: 50 159 浏览量
更新于2024-08-07
收藏 1.18MB PDF 举报
本篇文章主要围绕操作系统中的几个核心概念和技术展开讨论,涉及到了虚拟内存管理、内存碎片、地址映射以及分页与分段的区别。以下是关键知识点的详细解析:
1. **内存碎片与页表**:
- **内部碎片**:由于数据块大小小于分区大小导致的可用空间浪费,主要出现在固定大小的分区中。
- **外部碎片**:动态分区中,随着数据的增加和删除,剩余的非连续空间形成外部碎片。
- **页和帧**:在分页系统中,页是进程和磁盘上的固定大小块,而帧是主存中用于存放页的相同大小区域。
2. **地址和映射**:
- **逻辑地址**:与内存物理位置无关的地址,访问前需转换为物理地址。
- **相对地址**:特定于程序起始点的地址,是逻辑地址的一个特例。
- **页表项**:包括帧号、存在位(标识页面是否在内存)、修改位(标记页面是否被修改),用于主存中页的管理和查找。
3. **虚拟内存与分页策略**:
- **简单分页**:所有页必须在内存中才能运行,使用覆盖技术。
- **虚拟分页**:非所有页都必须预加载,按需读取,减少内存压力。
- **抖动(Thrashing)**:虚拟内存可能导致频繁的页面交换,影响性能,局部性原理有助于减轻这个问题。
4. **虚拟内存管理**:
- **转移后备缓冲器(TLB)**:高速缓存,存储最近常用页表项,减少磁盘访问时间。
- **页读取策略**:请求式分页仅在访问时加载,预约式分页预先加载可能未被访问的页。
- **驻留集管理和页替换策略**:前者关注进程的页帧分配及替换范围,后者关注具体替换哪一页。
5. **中断处理**:
- **中断**:中断处理机制,允许非处理器模块中断程序执行。
- **多中断处理**:可能采用禁中断或优先级排序的方式。
6. **内存层次结构**:
- 高速缓冲存储器(Cache):协调主存和处理器速度,减少访问延迟。
7. **I/O操作技术**:
- 可编程I/O:处理器控制I/O模块,执行指令后等待完成。
- 中断驱动I/O:处理器发布命令后继续执行,由I/O完成后再中断。
- DMA:直接存储器访问,由DMA模块控制数据传输,无需CPU介入。
通过这篇文章,读者可以深入了解操作系统内存管理和虚拟内存技术,理解如何有效管理内存资源以提高系统性能,并掌握基本的中断处理和I/O操作机制。
2020-10-19 上传
2020-10-19 上传
2022-05-01 上传
点击了解资源详情
点击了解资源详情
2021-06-06 上传
点击了解资源详情
点击了解资源详情
2024-02-06 上传
羊牮
- 粉丝: 41
- 资源: 3855
最新资源
- N10SG模块opencpu固件.zip
- 回收站变变变.zip易语言项目例子源码下载
- ARLAS-wui-builder:ARLAS-Wui的制造商
- ys-park-2
- electronic-ftrouter:用于运行电子的模板存储库,其中有运行路径的routex
- KottuRoti:Ant214项目游戏文件
- 前端开发css+html灯笼动画插件源代码
- pyg_lib-0.2.0+pt20-cp38-cp38-macosx_10_15_x86_64whl.zip
- tele_sign:Node.js库通过http发送消息
- CMPE:CMPE 安卓
- check-api-playground
- 判决matlab代码-self_other_moral:自我和他人道德判断的神经/行为基础项目
- 094. 2019年中国洗碗机市场年度总结报告.rar
- cornflux:用于React应用程序的调度库,可促进数据封装
- AndroidVision:在您的手机上学习图像处理
- forten:Monorepo for Overmind模块