虚拟存储器:局部性原理与缺页中断

需积分: 0 0 下载量 143 浏览量 更新于2024-07-12 收藏 931KB PPT 举报
"虚拟存储器是操作系统中存储器管理的关键技术,旨在通过请求调入和置换策略,实现逻辑上内存容量的扩展。它基于程序执行的局部性原理,允许程序的一部分在内存中运行,当需要其他部分时再动态调入。这种机制解决了内存不足和并发执行多个作业的问题。 在传统的存储器管理方式中,一次性加载和驻留性是两个主要特征。一次性要求作业在运行前必须全部装入内存,而驻留性则意味着作业一旦装入,会一直留在内存直到完成。然而,这样的方式限制了系统的灵活性和资源利用率。 虚拟存储器的引入基于程序执行的局部性规律,即程序执行时倾向于在有限的时间和空间范围内活动。例如,程序通常以顺序执行为主,循环结构使得同一小部分指令多次执行,而过程调用的嵌套深度有限,导致访问的存储区域相对集中。因此,只需将当前活跃的部分页面或段装入内存,其余部分可以暂存于磁盘。 当程序执行遇到未在内存中的指令或数据(缺页或缺段)时,处理器会触发缺页中断,通知操作系统调入所需页面。同时,操作系统可能会将内存中不常使用的页面替换到外存,以释放空间供其他页面使用。这种动态管理和调度的机制使得虚拟存储器的逻辑容量可以远超实际物理内存,而且由于快速访问内存,其运行速度接近内存。 虚拟存储器的定义包含请求调入和置换两个核心功能。请求调入允许按需加载页面,而置换则负责在内存空间紧张时将页面移出。整个系统在逻辑上看起来比实际内存更大,同时成本接近于低速但大容量的外存。虚拟存储技术通过这些特性,有效地平衡了性能、容量和成本,极大地提高了系统的效率和并发处理能力。" 虚拟存储器的实现通常依赖于硬件的支持,比如页表机制来跟踪内存和外存之间的页面映射,以及硬件中断处理来快速响应缺页事件。此外,操作系统还需要选择合适的页面替换算法,如最近最少使用(LRU)、最不经常使用(LFU)或最佳替换算法(OPT),以优化页面的进出策略。 虚拟存储器是现代操作系统中不可或缺的一部分,它通过利用局部性原理和有效的内存管理策略,使得计算机系统能够高效地运行大内存需求的应用程序,并支持多个作业的并发执行。