虚拟存储技术详解:从覆盖到交换

需积分: 7 0 下载量 152 浏览量 更新于2024-07-20 收藏 1.11MB PPTX 举报
"操作系统课件的第八讲主要讲解了虚拟存储的概念和技术,包括虚拟存储的需求背景、覆盖技术、交换技术、局部性原理以及虚拟页式存储和缺页异常。" 操作系统是计算机系统的核心组件,负责管理硬件资源,特别是内存资源。随着计算机技术的发展,程序的规模越来越大,而内存容量的增长却无法跟上这种步伐。这就提出了虚拟存储的需求。虚拟存储技术允许程序在物理内存不足的情况下仍然能够运行,通过一种称为“虚拟内存”的机制,使得程序可以认为自己拥有比实际物理内存更大的空间。 覆盖技术是一种早期解决内存限制的方法。它基于程序逻辑结构,将程序划分为若干个模块,并根据它们是否能同时执行来分配内存。例如,如果某些模块不会同时运行,那么它们可以共享同一块内存区域。然而,覆盖技术存在不足,如必须预先确定模块的执行顺序,这在现代复杂程序中难以实现。 交换技术则是另一种处理内存限制的策略。操作系统可以将不活跃的进程或其部分数据从内存交换到磁盘,腾出内存空间给其他活跃进程使用。但是,交换过程涉及到选择合适的交换时机、确定交换区的大小以及执行重定位等问题,这些都需要精心设计以优化性能。 局部性原理是虚拟存储系统设计的基础,它指出程序在执行过程中往往呈现出时间局部性和空间局部性。时间局部性意味着最近使用的数据或指令很可能在未来短时间内再次被使用;空间局部性则表明程序通常会连续访问内存中的相邻位置。例如,在处理二维数组时,按照行或列遍历会表现出不同的局部性特征,影响缺页中断的发生次数。 虚拟页式存储是虚拟存储系统的一种实现方式。在这个系统中,程序的地址空间被划分为固定大小的页,而物理内存则由同样大小的页框组成。当程序试图访问一个不在内存中的页时,会发生缺页异常,此时操作系统会将相应的页从磁盘加载到内存,替换掉当前不活跃的页。 虚拟存储技术通过覆盖和交换等策略,结合局部性原理,有效地解决了内存资源有限但程序需求无限增长的矛盾。虚拟页式存储则进一步优化了这一过程,确保了大型程序的运行效率。理解这些概念对于深入学习操作系统和进行系统优化至关重要。