浙江大学:《操作系统教程》第六课 虚拟存储器

第六课虚拟存储器 (Virtual Memory) 教学目的: 为了在内存空间运行超过内存总容量的大作业,或 者同时运行大量作业,解决的方法是从逻辑上扩充 内存容量,这正是虚拟存储技术所要解决的主要问 题。本课要介绍虚拟存储技术实现的各种方案,每 种方案所需的硬件和软件支持
第六课 虚拟存储器 (Virtual Memory) 教学目的: 为了在内存空间运行超过内存总容量的大作业,或 者同时运行大量作业,解决的方法是从逻辑上扩充 内存容量,这正是虚拟存储技术所要解决的主要问 题。本课要介绍虚拟存储技术实现的各种方案,每 种方案所需的硬件和软件支持

教学要求: 掌握虚拟存储器的理论基础和定义,熟悉虚拟存 储器实现方式和特征。 掌握请求分页的页表机制、缺页中断机构和地址 变换机构,熟悉页面的分配和置换策略、页面的 分配的算法。 熟练掌握最佳置换算法、先进先出(FIFO)置换 算法、最近最久未使用置换算法LRU,掌握 Clock 置换算法和页面缓冲算法;掌握有效访问时间计 算,熟悉工作集概念。 掌握请求分段的段表机制、缺段中断机构和地址 变换机构,熟悉分段的共享和保护
教学要求: • 掌握虚拟存储器的理论基础和定义,熟悉虚拟存 储器实现方式和特征。 • 掌握请求分页的页表机制、缺页中断机构和地址 变换机构,熟悉页面的分配和置换策略、页面的 分配的算法。 • 熟练掌握最佳置换算法、先进先出(FIFO)置换 算法、最近最久未使用置换算法LRU,掌握Clock 置换算法和页面缓冲算法;掌握有效访问时间计 算,熟悉工作集概念。 • 掌握请求分段的段表机制、缺段中断机构和地址 变换机构,熟悉分段的共享和保护

(一)虚拟存储器的基本概念 (1)虚拟存储器的引入 1.局部性原理 早在1968年P. Denning就指出过,程序在执行时将呈现出局 部性规律,即在一段时间内,程序的执行仅局限于某个部分; 相应地,它所访问的存储空间也局限于某个区域内。那么程 序为什么会出现局部性规律呢?原因可以归结为以下几点: °程序在执行时,除了少部分的转移和过程调用指令外,大多 数仍是顺序执行的 子程序调用将会使程序的执行由一部分内存区域转至另一部 分区域。但在大多数情况下,过程调用的深度都不超过5。 程序中存在许多循环结构,循环体中的指令被多次执行。 程序中还包括许多对数据结构的处理,如对连续的存储空 间——数组的访问,往往局限于很小的范围内
(一)虚拟存储器的基本概念 (1)虚拟存储器的引入 1.局部性原理 早在1968年P.Denning就指出过,程序在执行时将呈现出局 部性规律,即在一段时间内,程序的执行仅局限于某个部分; 相应地,它所访问的存储空间也局限于某个区域内。那么程 序为什么会出现局部性规律呢?原因可以归结为以下几点: • 程序在执行时,除了少部分的转移和过程调用指令外,大多 数仍是顺序执行的。 • 子程序调用将会使程序的执行由一部分内存区域转至另一部 分区域。但在大多数情况下,过程调用的深度都不超过5。 • 程序中存在许多循环结构,循环体中的指令被多次执行。 • 程序中还包括许多对数据结构的处理,如对连续的存储空 间——数组的访问,往往局限于很小的范围内

虚拟存储器的引入-1 所以局限性表现为: 时间局限性:如果程序中的某条指令一旦执行,则不久的 将来该指令可能再次被执行;如果某个存储单元被访问,则 不久以后该存储单元可能再次被访问。产生时间局限性的典 型原因是在程序中存在着大量的循环操作 空间局限性:一且程序访问了某个存储单元,则在不久的 将来,其附近的存储单元也最有可能被访问。即程序在 段时间内所访问的地址,可能集中在一定的范围内,其典型 原因是程序是顺序执行的 2。虚拟存储器的定义 根据局部性原理,一个作业在运行之前,没有必要把全部作 业装入内存,而仅将那些当前要运行的那部分页面或段,先 装入内存便可启动运行,其余部分暂时留在磁盘上
虚拟存储器的引入-1 所以局限性表现为: 时间局限性:如果程序中的某条指令一旦执行,则不久的 将来该指令可能再次被执行;如果某个存储单元被访问,则 不久以后该存储单元可能再次被访问。产生时间局限性的典 型原因是在程序中存在着大量的循环操作。 空间局限性:一旦程序访问了某个存储单元,则在不久的 将来,其附近的存储单元也最有可能被访问。 即程序在一 段时间内所访问的地址,可能集中在一定的范围内,其典型 原因是程序是顺序执行的。 2。虚拟存储器的定义 根据局部性原理,一个作业在运行之前,没有必要把全部作 业装入内存,而仅将那些当前要运行的那部分页面或段,先 装入内存便可启动运行,其余部分暂时留在磁盘上

虚拟存储器的引入-2 程序在运行时如果它所要访问的页(段)已调入内存,便可 继续执行下去;但如果程序所要访问的页(段)尚未调入内 存(称为缺页或缺段),此时程序应利用0S所提供的请求调 页(段)功能,将它们调入内存,以使进程能继续执行下去。 如果此时内存已满,无法再装入新的页(段),则还须再利 用页(段)的置换功能,将内存中暂时不用的页(段)调出 至磁盘上,腾出足够的内存空间后,再将所要访问的页(段) 调入内存,使程序继续执行下去。这样,便可使一个大的用 户程序在较小的内存空间中运行;也可使内存中同时装入更 多的进程并发执行。从用户角度看,该系统所具有的内存容 量,将比实际内存容量大得多,人们把这样的存储器称为虚 拟存储器
虚拟存储器的引入-2 程序在运行时如果它所要访问的页(段)已调入内存,便可 继续执行下去;但如果程序所要访问的页(段)尚未调入内 存(称为缺页或缺段),此时程序应利用OS所提供的请求调 页(段)功能,将它们调入内存,以使进程能继续执行下去。 • 如果此时内存已满,无法再装入新的页(段),则还须再利 用页(段)的置换功能,将内存中暂时不用的页(段)调出 至磁盘上,腾出足够的内存空间后,再将所要访问的页(段) 调入内存,使程序继续执行下去。这样,便可使一个大的用 户程序在较小的内存空间中运行;也可使内存中同时装入更 多的进程并发执行。从用户角度看,该系统所具有的内存容 量,将比实际内存容量大得多,人们把这样的存储器称为虚 拟存储器

虚拟存储器的引入-3 虚拟存储器是采用请求调入和置换功能,将内存和 外存统一管理,把作业的一部分装入内存便可运行, 从逻辑上对内存容量进行扩充的一种虚拟的存储器 系统。其逻辑容量由内存和外存容量之和、计算机的地址 结构二者所决定,其运行速度接近于内存速度,而每位的成 本却又接近于外存。可见,虚拟存储技术是一种性能非常优 越的存储器管理技术,故被广泛地应用于大、中、小型机器 和微型机中 虚拟存储器 逻辑地址 内存 外存
虚拟存储器的引入-3 • 虚拟存储器是采用请求调入和置换功能,将内存和 外存统一管理,把作业的一部分装入内存便可运行, 从逻辑上对内存容量进行扩充的一种虚拟的存储器 系统。其逻辑容量由内存和外存容量之和、计算机的地址 结构二者所决定,其运行速度接近于内存速度,而每位的成 本却又接近于外存。可见,虚拟存储技术是一种性能非常优 越的存储器管理技术,故被广泛地应用于大、中、小型机器 外 存 内 存 逻 虚拟存储器 辑 地 址

(2)虚拟存储器实现方式 1。请求分页系统: 它是在分页系统的基础上,增加了请求调页功能和页面置换 功能所形成的页式虚拟存储系统。它允许只装入若干页(而 非全部程序)的用户程序和数据,就可以启动运行,以后再 通过调页功能和页面置换功能,陆续把将要运行的页面调入 内存,同时把暂不运行的页面置换到外存上,置换时以页面 为单位。 2。请求分段系统: 它是在分段系统的基础上,增加了请求调段和分段置换功能 所形成的段式虚拟存储系统。它允许只装入若干段(而非全 部段)的用户程序和数据,就可以启动运行,以后再通过调 段功能和置换功能将不运行的段调出,同时调入将要运行的 段,置换以段为单位。 3。请求段页式系统:它是在段页式系统的基础上,增加了请求 调页和页面置换功能所形成的段页式虚拟存储系统
(2)虚拟存储器实现方式 1。请求分页系统: 它是在分页系统的基础上,增加了请求调页功能和页面置换 功能所形成的页式虚拟存储系统。它允许只装入若干页(而 非全部程序)的用户程序和数据,就可以启动运行,以后再 通过调页功能和页面置换功能,陆续把将要运行的页面调入 内存,同时把暂不运行的页面置换到外存上,置换时以页面 为单位。 2。请求分段系统: 它是在分段系统的基础上,增加了请求调段和分段置换功能 所形成的段式虚拟存储系统。它允许只装入若干段(而非全 部段)的用户程序和数据,就可以启动运行,以后再通过调 段功能和置换功能将不运行的段调出,同时调入将要运行的 段,置换以段为单位。 3。请求段页式系统:它是在段页式系统的基础上,增加了请求 调页和页面置换功能所形成的段页式虚拟存储系统

虚拟存储器实现方式-1 (3)虚拟存储器的特征 离散性:指在内存分配时采用离散的分配方式,它是虚拟存 储器的最基本的特征。 多次性:指一个作业被分成多次调入内存运行,即在作业运 行时没有必要将其全部装入,只须将当前要运行的那部分程 序和数据装入内存即可。多次性是虚拟存储器最重要的特征。 对换性:指允许在作业的运行过程中在内存和外存的对换区 之间换进、换出。 虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内 存容量远大于实际内存容量
虚拟存储器实现方式-1 (3)虚拟存储器的特征 • 离散性:指在内存分配时采用离散的分配方式,它是虚拟存 储器的最基本的特征。 • 多次性:指一个作业被分成多次调入内存运行,即在作业运 行时没有必要将其全部装入,只须将当前要运行的那部分程 序和数据装入内存即可。多次性是虚拟存储器最重要的特征。 • 对换性:指允许在作业的运行过程中在内存和外存的对换区 之间换进、换出。 • 虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内 存容量远大于实际内存容量

(二)请求分页存储管理方式 (1)请求分页中的硬件支持 它是在纯分页系统的基础上,增加了请求调页功能、页面置 换功能所形成的页式虚拟存储系统,它是目前常用的一种虚 拟存储器的方式。 1.请求分页的页表机制 它是在纯分页的页表机制上形成的,由于只将应用程序的 部分调入内存,还有一部分仍在磁盘上,故需在页表中再增 加若干项,供程序(数据)在换进、换出时参考。在请求分页 系统中的每个页表项如图所示。 页号物理块号状态位P访间字段A修改位M外存地址
(二)请求分页存储管理方式 (1)请求分页中的硬件支持 它是在纯分页系统的基础上,增加了请求调页功能、页面置 换功能所形成的页式虚拟存储系统,它是目前常用的一种虚 拟存储器的方式。 1.请求分页的页表机制 它是在纯分页的页表机制上形成的,由于只将应用程序的一 部分调入内存,还有一部分仍在磁盘上,故需在页表中再增 加若干项,供程序(数据)在换进、换出时参考。在请求分页 系统中的每个页表项如图所示。 页号 物理块号 状态位P 访问字段A 修改位M 外存地址

请求分页中的硬件支持-1 其中各字段说明如下: 状态位(存在位P):用于指示该页是否已调入内存,供程 序访问时参考。 访问字段A:用于记录本页在一段时间内被访问的次数,或 最近已有多长时间未被访问,提供给置换算法选择换出页面 时参考。 修改位M:表示该页在调入内存后是否被修改过。由于内存 中的每一页都在外存上保留一份副本,因此,若未被修改, 在置换该页时就不需将该页写回到外存上,以减少系统的开 销和启动磁盘的次数;若已被修改,则必须将该页重写到外 存上,以保证外存中所保留的始终是最新副本。 外存地址:用于指出该页在外存上的地址,通常是物理块号, 供调入该页时使用
请求分页中的硬件支持-1 其中各字段说明如下: • 状态位(存在位P):用于指示该页是否已调入内存,供程 序访问时参考。 • 访问字段A:用于记录本页在一段时间内被访问的次数,或 最近已有多长时间未被访问,提供给置换算法选择换出页面 时参考。 • 修改位M:表示该页在调入内存后是否被修改过。由于内存 中的每一页都在外存上保留一份副本,因此,若未被修改, 在置换该页时就不需将该页写回到外存上,以减少系统的开 销和启动磁盘的次数;若已被修改,则必须将该页重写到外 存上,以保证外存中所保留的始终是最新副本。 • 外存地址:用于指出该页在外存上的地址,通常是物理块号, 供调入该页时使用
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《操作系统教程》第四课 调度和死锁.ppt
- 浙江大学:《操作系统教程》第三课 进程的同步和通讯.ppt
- 浙江大学:《操作系统教程》第一课 操作系统引论.ppt
- 浙江大学:《操作系统教程》第二课 操作系统结构续.ppt
- 浙江大学:《操作系统教程》第二课 进程的描述和控制.ppt
- 浙江大学:《操作系统教程》第十一课 UNX磁盘文件卷结构.ppt
- 浙江大学:《操作系统教程》第十课 操作系统接口.ppt
- 北京邮电大学:《C++大学基础教程》第9章 继承与派生.pdf
- 北京邮电大学:《C++大学基础教程》第7章 其它自定义数据类型.pdf
- 北京邮电大学:《C++大学基础教程》第8章 类与对象.pdf
- 北京邮电大学:《C++大学基础教程》第5章 数组.pdf
- 北京邮电大学:《C++大学基础教程》第6章 指针和引用.pdf
- 北京邮电大学:《C++大学基础教程》第4章 函数.pdf
- 北京邮电大学:《C++大学基础教程》第2章 基本数据类型与表达式.pdf
- 北京邮电大学:《C++大学基础教程》第3章 过程化语句.pdf
- 北京邮电大学:《C++大学基础教程》第10章 运算符重载.pdf
- 北京邮电大学:《C++大学基础教程》第十二章 I/0流及输入输出.pdf
- 北京邮电大学:《C++大学基础教程》第十一章 多态性.pdf
- 北京邮电大学:《C++大学基础教程》第十三章 异常处理.pdf
- 北京邮电大学:《C++大学基础教程》第1章 C++初步.pdf
- 浙江大学:《操作系统教程》第七课 设备管理.ppt
- 浙江大学:《操作系统教程》第五课 存储器管理.ppt
- 浙江大学:《操作系统教程》第八课 文件系统(File System).ppt
- 浙江大学:《操作系统教程》第九课 磁盘存储器管理.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)目录.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第1章 概述.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第2章 微处理器.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第3章 总线和主板.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第4章 存储器.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第5章 中断系统.ppt
- 《微型计算机原理及应用》课程资源(PPT教学课件)第6章 微型计算机的接口技术.ppt
- 《硬盘维修》参考资料:第一讲 硬盘维修彻底揭密.doc
- 《硬盘维修》参考资料:第二讲 硬盘维修恢复说明1(一).doc
- 《硬盘维修》参考资料:第三讲 硬盘维修恢复说明(一).doc
- 《硬盘维修》参考资料:第四讲 硬盘维修入门教材.doc
- 《硬盘维修》参考资料:第五讲 硬盘维修原理.doc
- 《硬盘维修》参考资料:第六讲 硬盘引导型故障.rtf
- 《硬盘维修》参考资料:第七讲 硬盘引导型故障分析及排除.doc
- 《硬盘维修》参考资料:第八讲 硬盘诊断要领.doc
- 《硬盘维修》参考资料:第九讲 钻石硬盘维修实战手册(1).doc