李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 第 14 讲 存储器管理(3) 李元金 计算机与信息工程学院 E-mail: liyuanjin10@126.com 1/
教学目标与内容 教学目标 教学内容 理解虚拟存储器的实现方法及其特征 掌握请求分页存储管理实现思想 虚拟存储器的基本概念 请求分页存储管理方式 计算机科学与技术系 信息与教育技术中心 2/
复习 基本分页存储管理方式 基本分段存储管理方式 3/
虚拟存储器的基本概念 虚拟存储器的引入 常规存储器管理方式的特征 一次性 驻留性 带来问题 大作业无法运行 少量作业运行 4/
虚拟存储器的基本概念 局部性原理 1968年, Denning.P就曾指出:程序在执行时将呈现出局部性规律。 程序执行时, 除了少部分的转移和过程调用指令外, 在大多数情况下仍是顺序执行的。 过程调用将会使程序的执行轨迹由一部分区域转至另一部分区域, 但经研究看出,过程调用的深度在大多数情况下都不超过5。 程序中存在许多循环结构, 这些虽然只由少数指令构成, 但是它们将多次执行。 程序中还包括许多对数据结构的处理, 如对数组进行操作, 它们往往都局限于很小的范围内。 5/
虚拟存储器的基本概念 局限性又表现在下述两个方面 时间局限性。如果程序中的某条指令一旦执行, 则不久以后该指令可能再次执行;如果某数据被访问过, 则不久以后该数据可能再次被访问。产生时间局限性的典型原因,是由于在程序中存在着大量的循环操作。 空间局限性。一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围之内,其典型情况便是程序的顺序执行。 6/
虚拟存储器的基本概念 虚拟存储器定义 所谓虚拟存储器, 是指具有请求调入功能和置换功能, 能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。 虚拟存储技术是一种性能非常优越的存储器管理技术,故被广泛地应用于大、 中、 小型机器和微型机中。 7/
虚拟存储器的基本概念 虚拟存储器的实现方法 分页请求系统 分段请求系统 硬件支持 实现请求分页的软件 请求分页的页表机制,它是在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构; 缺页中断机构,即每当用户程序要访问的页面尚未调入内存时便产生一缺页中断,以请求OS将所缺的页调入内存; 地址变换机构, 它同样是在纯分页地址变换机构的基础上发展形成的。 实现请求分页的软件 分段请求系统 8/
虚拟存储器的基本概念 虚拟存储器的特征 多次性 对换性 虚拟性 9/
请求分页存储管理方式 请求分页系统是建立在基本分页基础上的,为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能。 调入和调出的基本单位是长度固定的页面。 请求分页成为目前最常用的一种实现虚拟存储器的方式。 10/
请求分页中的硬件支持 页表机制 页号 物理块号 状态位P 访问字段A 修改位M 外存地址 11/
请求分页中的硬件支持 缺页中断机构 与一般中断的区别 在指令执行期间产生和处理中断信号 一条指令在执行期间,可能产生多次缺页中断。 图 4-24 涉及6次缺页中断的指令 12/
请求分页中的硬件支持 图 4-24 请求分页中的地址变换过程 地址变换机构 13/
内存分配策略和分配算法 最小物理块数的确定 能保证进程正常运行所需的最小物理块数。当系统为进程分配的物理块数少于此值时,进程将无法运行。 进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、 功能和寻址方式。 14/
内存分配策略和分配算法 物理块的分配策略 在请求分页系统中,可采取两种内存分配策略,即固定和可变分配策略。 在进行置换时, 也可采取两种策略,即全局置换和局部置换。 可组合出以下三种适用的策略 固定分配局部置换 可变分配全局置换 可变分配局部置换 15/
内存分配策略和分配算法 物理块分配算法 平均分配算法 将系统中所有可供分配的物理块,平均分配给各个进程。 例如,当系统中有100个物理块,有5个进程在运行时,每个进程可分得20个物理块。 16/
内存分配策略和分配算法 按比例分配算法 根据进程的大小按比例分配物理块的算法。如果系统中共有n个进程,每个进程的页面数为Si,则系统中各进程页面数的总和为: 又假定系统中可用的物理块总数为m,则每个进程所能分到的物理块数为bi,将有: b应该取整,它必须大于最小物理块数。 17/
内存分配策略和分配算法 考虑优先权的分配算法 在实际应用中,为了照顾到重要的、紧迫的作业能尽快地完成, 应为它分配较多的内存空间。 采取的方法是把内存中可供分配的所有物理块分成两部分:一部分按比例地分配给各进程;另一部分则根据各进程的优先权,适当地增加其相应份额后,分配给各进程。 在有的系统中,如重要的实时控制系统,则可能是完全按优先权来为各进程分配其物理块的。 18/
内存分配策略和分配算法 调页策略 何时调入页面 预调页策略 请求调页策略 从何处调入页面 19/
内存分配策略和分配算法 在请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。通常,由于对换区是采用连续分配方式,而文件区是采用离散分配方式,故对换区的磁盘I/O速度比文件区的高。 每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三种情况: 20/
内存分配策略和分配算法 系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高调页速度。为此,在进程运行前, 便须将与该进程有关的文件,从文件区拷贝到对换区。 系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们换出,以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出时,便须调到对换区,以后需要时,再从对换区调入。 21/
内存分配策略和分配算法 UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过但又被换出的页面,由于是被放在对换区,因此在下次调入时,应从对换区调入。由于UNIX系统允许页面共享,因此, 某进程所请求的页面有可能已被其它进程调入内存,此时也就无须再从对换区调入。 22/
内存分配策略和分配算法 页面调入过程 每当程序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后, 转入缺页中断处理程序。该程序通过查找页表,得到该页在外存的物理块后, 如果此时内存能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。 如果内存已满,则须先按照某种置换算法从内存中选出一页准备换出; 23/
内存分配策略和分配算法 如果该页未被修改过,可不必将该页写回磁盘;但如果此页已被修改, 则必须将它写回磁盘,然后再把所缺的页调入内存, 并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表中。在缺页调入内存后,利用修改后的页表, 去形成所要访问数据的物理地址,再去访问内存数据。 24/
小结 虚拟存储器的基本概念 请求分页存储管理方式 25/
作业 P177 1-12 26/