第六章虚拟存储器( Virtual Memory) 教学目的: 为了在内存空间运行超过内存总容量的大作业,或者同时运 行大量作业,解决的方法是从逻辑上扩充内存容量,这正是 虚拟存储技术所要解决的主要问题。本课要介绍虚拟存储技 术实现的各种方案,每种方案所需的硬件和软件支持
第六章 虚拟存储器(Virtual Memory) 教学目的: 为了在内存空间运行超过内存总容量的大作业,或者同时运 行大量作业,解决的方法是从逻辑上扩充内存容量,这正是 虚拟存储技术所要解决的主要问题。本课要介绍虚拟存储技 术实现的各种方案,每种方案所需的硬件和软件支持
教学要求: ·掌握虚拟存储器的理论基础和定乂,熟悉虚拟存储器实现 方式和特征。 掌握请求分页的页表机制、缺页中断机构和地址变换机构 熟悉页面的分配和置换策略、页面的分配的算法 熟练掌握最佳置换算法、先进先岀(FIFO)置换算法、最 近最久未使用置换算法LRU,掌握 Clock置换算法和页面缓 冲算法;掌握有效访问时间计算,熟悉工作集概念。 掌握请求分段的段表机制、缺段中断机构和地址变换机构, 熟悉分段的共享和保护
教学要求: • 掌握虚拟存储器的理论基础和定义,熟悉虚拟存储器实现 方式和特征。 • 掌握请求分页的页表机制、缺页中断机构和地址变换机构, 熟悉页面的分配和置换策略、页面的分配的算法。 • 熟练掌握最佳置换算法、先进先出(FIFO)置换算法、最 近最久未使用置换算法LRU,掌握Clock置换算法和页面缓 冲算法;掌握有效访问时间计算,熟悉工作集概念。 • 掌握请求分段的段表机制、缺段中断机构和地址变换机构, 熟悉分段的共享和保护
61虚拟存储器( Virtual memory)的基本概念 问题的提出 物理存储器的结构是个一维的线性空间,容量是有限的。 用户程序结构 维空间 个用户程序就是一个程序,并且程序和数据是不分离的 二维空间程序由主程序和若千个子程序(或函数)组成,并且程序与数 据是分离的; n维空间即一个大型程序,由一个主模块和多个子模块组成,其中,各子 模块又由主程序和子程序(或函数)组成 用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大 得多。 如何将大于物理内存容量的用户程序装入运行?这就是提出研究虚拟存储 器的原因,或称为虚拟存储技术发展的原动力。 虚拟存储器的基本思想:程序、数据、堆栈的大小可以超过内存的大小, OS把程序当前使用的部分保留在内存,而把其它部分保留在磁盘上,并在 需要时在内存和磁盘之间动态交换。同时支持多道程序设计技术
6.1 虚拟存储器(Virtual Memory)的基本概念 问题的提出 物理存储器的结构是个一维的线性空间,容量是有限的。 用户程序结构: 一维空间 一个用户程序就是一个程序,并且程序和数据是不分离的; 二维空间 程序由主程序和若干个子程序(或函数)组成,并且程序 与数 据是分离的; n维空间 即一个大型程序,由一个主模块和多个子模块组成,其中 ,各子 模块又由主程序和子程序(或函数)组成。 用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大 得多。 如何将大于物理内存容量的用户程序装入运行?这就是提出研究虚拟存储 器的原因,或称为虚拟存储技术发展的原动力。 虚拟存储器的基本思想:程序、数据、堆栈的大小可以超过内存的大小, OS把程序当前使用的部分保留在内存,而把其它部分保留在磁盘上,并在 需要时在内存和磁盘之间动态交换。同时支持多道程序设计技术
61虚拟存储器的基本概念 次性及驻留性的必要性? 611虚拟存储器的引入 1.局部性原理 早在1968年P. Denning就指出过,程序在执行时在时间和空 间上将呈现出局部性规律,即在一段时间内,程序的执行仅 局限于某个部分;相应地,它所访问的存储空间也局限于某 个区域内。那么程序为什么会出现局部性规律呢?原因可以 归结为以下4点: 程序在执行时,除了少部分的转移和过程调用指令外,大多 数仍是顺序执行的 子程序调用将会使程序的执行由一部分内存区域转至另一部 分区域。但在大多数情况下,过程调用的深度都不超过5. ·程序中存在许多循环结构,循环体中的指令被多次执行。 程序中还包括许多对数据结构的处理,如对连续的存储空 间—数组的访问,往往局限于很小的范围内
6.1 虚拟存储器的基本概念 一次性及驻留性的必要性? 6.1.1 虚拟存储器的引入 1.局部性原理 早在1968年P.Denning就指出过,程序在执行时在时间和空 间上将呈现出局部性规律,即在一段时间内,程序的执行仅 局限于某个部分;相应地,它所访问的存储空间也局限于某 个区域内。那么程序为什么会出现局部性规律呢?原因可以 归结为以下4点: • 程序在执行时,除了少部分的转移和过程调用指令外,大多 数仍是顺序执行的。 • 子程序调用将会使程序的执行由一部分内存区域转至另一部 分区域。但在大多数情况下,过程调用的深度都不超过5。 • 程序中存在许多循环结构,循环体中的指令被多次执行。 • 程序中还包括许多对数据结构的处理,如对连续的存储空 间——数组的访问,往往局限于很小的范围内
虚拟存储器的引入-1 所以局限性表现为: 时间局限性:如果程序中的某条指令一旦执行,则不久的将 来该指令可能再次被执行;如果某个存储单元被访问,则不 久以后该存储单元可能再次被访问。产生时间局限性的典型 原因是在程序中存在着大量的循环操作 空间局限性:一旦程序访问了某个存储单元,则在不久的将 来,其附近的存储单元也最有可能被访问。即程序在一段时 间内所访问的地址,可能集中在一定的范围内,其典型原因 是程序是顺序执行的 2。虚拟存储技术 虚存:把内存与外存结合起来使用,从而得到一个容量很大 的内存,这就是虚存。其逻辑容量由内存和外存容量之和决 定
虚拟存储器的引入-1 所以局限性表现为: 时间局限性:如果程序中的某条指令一旦执行,则不久的将 来该指令可能再次被执行;如果某个存储单元被访问,则不 久以后该存储单元可能再次被访问。产生时间局限性的典型 原因是在程序中存在着大量的循环操作。 空间局限性:一旦程序访问了某个存储单元,则在不久的将 来,其附近的存储单元也最有可能被访问。 即程序在一段时 间内所访问的地址,可能集中在一定的范围内,其典型原因 是程序是顺序执行的。 2。虚拟存储技术 虚存:把内存与外存结合起来使用,从而得到一个容量很大 的内存,这就是虚存。其逻辑容量由内存和外存容量之和决 定