虚拟存储器是现代计算机系统中实现内存扩展的关键技术。它基于程序局部性原理,即程序在执行时往往在一段时间内集中访问某一部分代码和数据,表现为时间局部性和空间局部性。时间局部性意味着如果一条指令或数据被访问,不久之后可能会再次被访问,常见于循环结构。空间局部性则是指程序连续访问的存储位置通常相距不远,反映了代码的顺序执行和数据的聚集特性。 虚拟存储器的主要特征包括: 1. 多次性:作业的程序和数据可以分批调入内存,无需一次性全部载入。 2. 对换性:在运行过程中,内存中的部分程序和数据可以根据需要与外存进行交换。 3. 虚拟性:用户感受到的内存容量超过实际物理内存,因为外存被逻辑上扩展为内存的一部分。 在请求分页系统中,页表包含页号、物理块号、状态位P、访问字段A、修改位M和外存地址。页号对应逻辑地址的页号,物理块号指示页在内存中的位置,状态位P表示页是否在内存中,访问字段A记录页的访问频率,用于优化替换策略,修改位M标识页是否被修改,外存地址则用于页的换入换出操作。 请求分页系统中,缺页时页面可以从对换区(如磁盘)调入内存,也可能直接从文件区调入,具体取决于系统资源和页面的状态。例如,如果页面未被修改且系统有足够的对换空间,可以从文件区直接调入,以提高效率。在预防“抖动”现象时,可以采取局部置换策略,即优先替换工作集外的页面;结合处理机调度,确保进程有足够的物理页面;通过“L=S”准则调整缺页率;或者暂停可能导致频繁缺页的进程。 在虚拟地址转换中,如给定的示例,虚拟地址由页号和页内偏移组成,通过页表映射到物理地址。例如,虚拟地址0AC5H对应2号页,根据页号和页长找到对应的物理块号,将页内偏移拼接到物理块号上得到物理地址。如果页不在内存中,会发生缺页异常,无法完成转换。 对于页面替换算法,例如OPT(最佳算法)、FIFO(先进先出算法)、LRU(最近最少使用算法)和CLOCK(时钟算法),它们在不同的页面走向下会导致不同的缺页次数和缺页率。如上述示例所示,OPT算法尝试预测未来的访问模式以最小化缺页,而FIFO简单地按页面进入内存的顺序替换,LRU基于页面的历史使用频率,CLOCK算法则基于页面的“最近”访问状态。不同算法在面对特定页面走向时的性能表现会有所差异。 虚拟存储器通过程序局部性原理和各种页面管理策略,实现了内存的高效利用和逻辑容量的扩展,是现代操作系统的重要组成部分。它涉及到的内容广泛,包括页表机制、页面替换算法等,对于理解和优化系统的性能至关重要。
- 粉丝: 32
- 资源: 327
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0