虚拟存储器ppt
合集下载
第6章虚拟存储管理精品PPT课件
7 0 1 2 03 0 4 2 3 0 32
7
7
72
2
2
2
0
00
0
4
0
11
3
3
3
12
2 0 1
0 17 0 1
7 0 1
仅仅是一个理论算法而已。因为在实际应用 中,我们无法判断哪一页是以后不再访问的 页或距离现在最长时间以后再访问的页
共发生几次 缺页中断?
9次。页面换出6次, 这是最理想的情况, 置换的次数最少
M=1该页调入内存后被修改过; M=0该页调入内存后未被修改过。
●外存地址: 该页在外存的地址。
缺页中断机构
……
inc ax mov ax,[2500]
……
主要表现在:
●在指令执行期间产生和处理中断信号。
而普通中断是在每条指令结束后去检查是否有中断 到达。
●一条指令执行期间,可能产生多次缺页中断。
●时间局限性
–程序中的的某条指令一旦执行,不 久后会再次执行。
●空间局限性
–程序一旦访问某存储单元,不久后 会访问其附近的存储单元。
虚拟存储器的定义
所谓虚拟存储器是指具有请求调入功能和置换 功能,能从逻辑上对内存容量进行扩充的一种 存储器系统。
虚拟存储器的特征 ●离散性
作业不装入连续的存储空间,内存分配采用离散分配方式。
为此需要对页表进行改造。首先应在页表中指出 哪些页已在主存储器中,哪些页还没装入主存储 器,并且指出每一页副本在磁盘上的位置。
● 6.2请求页式存储管理
页表的扩充
页号 存储块号 状态位P 访问字段A 修改位M 外存地址
●状态位P:记录该页是否在内存。P=1该页在内存;
计算机操作系统第7章虚拟存储器管理PPT课件
三 请在这里输入您的主要叙述内容
本章目录
7.1 虚拟存储器的基本概念 7.2 请求分页虚拟存储管理 7.3 页面置换算法 7.4 页面调度性能 7.5 请求分段存储管理方式 7.6 Windows 2000/XP系统存储器管理实例
28.07.2020
《计算机操作系统》- 第7章
3
本章目录
28.07.2020
《计算机操作系统》- 第7章
17
内存分配策略和分配算法
固定与可变:
指为进程分配的物理块数是固定的还是变化 的
局部与全局:
指因内存不够需要置换时,换出的页面是该 进程的页面,还是内存中所有进程的某一页面。
28.07.2020
《计算机操作系统》- 第7章
18
内存分配策略和分配算法
13
请求分页中的硬件支持 页表机制
状态位P:
访用问于字指段示该A:页是否已调入内存,供程序访问时 参修用考改于。位记M录:本页在一段时间内被访问的次数,或 记外表录存示本地该页址页最:在近调已入有内多存长后时是间否未被被修访改问过,,供供选置择换
换页用出面于页时指面参出时考该参。页考在。外存上的地址,通常是物理块 号,供调入该页时参考。
以页为单位转换 需硬件:
(1)请求分页的页表机制 (2)缺页中断 (3)地址变换机构
需实现请求分页机制的软件(置换软件等)
28.07.2020
《计算机操作系统》- 第7章
9
虚拟存储器的实现方式
请求分段系统
以段为单位转换:
(1)请求分段的段表结构 (2)缺段中断 (3)地址变换机构
需实现请求分段机制的软件(置换软件等)
独立性
围内。
局部性原理
第5章-虚拟存储器ppt课件
(2)有大量作业要求运行,但由于内存容量不足以容纳所 有这些作业,只能将少数作业装入内存让它们先运行,而 将其它大量的作业留在外存上等待。
.
5.1.1 常规存储器管理方式的特征和局部性原理 1.常规存储器管理方式的特征 (1)一次性
作业在运行前需一次性地全部装入内存,如果一次 性地装入其全部程序,也是一种对内存空间的浪费。
.
5.1.2 虚拟存储器的特征
虚拟存储器具有以下主要特征:
1.多次性 一个作业被分成多次调入内存运行,在作业
运行时只需将当前要运行的那部分程序和数据装 入内存即可;当要运行时尚未调入的那部分程序 时,再将它调入。
2.对换性 作业的运行过程中进行换进、换出,换进和
换出能有效地提高内存利用率。
3.虚拟性 虚拟性是指能够从逻辑上扩充内存容量,使
(2)驻留性
作业装入内存后,便一直驻留在内存中,直至作业 运行结束。尽管运行中的进程会因I/O而长期等待, 仍将继续占用宝贵的内存资源。
.
2.局部性原理
(1)程序执行时,除了少部分的转移和过程调用 指令外,在大多数情况下仍是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部分区 域转至另一部分区域,但经研究看出,过程调用 的深度在大多数情况下都不超过5层。这就是说, 程序将会在一段时间内都局限在这些过程的范围 内运行。
.
3.虚拟存储器定义
基于局部性原理,应用程序在运行之前,没有必 要全部装入内存,仅须将那些当前要运行的部分 页面或段先装入内存便可运行,其余部分暂留在 盘上。
所谓虚拟存储器:是指具有请求调入功能和置换 功能,能从逻辑上对内存容量加以扩充的一种存 储器系统,其逻辑容量由内存容量和外存容量之 和所决定,其运行速度接近于内存速度,而每位 的成本却又接近于外存。
.
5.1.1 常规存储器管理方式的特征和局部性原理 1.常规存储器管理方式的特征 (1)一次性
作业在运行前需一次性地全部装入内存,如果一次 性地装入其全部程序,也是一种对内存空间的浪费。
.
5.1.2 虚拟存储器的特征
虚拟存储器具有以下主要特征:
1.多次性 一个作业被分成多次调入内存运行,在作业
运行时只需将当前要运行的那部分程序和数据装 入内存即可;当要运行时尚未调入的那部分程序 时,再将它调入。
2.对换性 作业的运行过程中进行换进、换出,换进和
换出能有效地提高内存利用率。
3.虚拟性 虚拟性是指能够从逻辑上扩充内存容量,使
(2)驻留性
作业装入内存后,便一直驻留在内存中,直至作业 运行结束。尽管运行中的进程会因I/O而长期等待, 仍将继续占用宝贵的内存资源。
.
2.局部性原理
(1)程序执行时,除了少部分的转移和过程调用 指令外,在大多数情况下仍是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部分区 域转至另一部分区域,但经研究看出,过程调用 的深度在大多数情况下都不超过5层。这就是说, 程序将会在一段时间内都局限在这些过程的范围 内运行。
.
3.虚拟存储器定义
基于局部性原理,应用程序在运行之前,没有必 要全部装入内存,仅须将那些当前要运行的部分 页面或段先装入内存便可运行,其余部分暂留在 盘上。
所谓虚拟存储器:是指具有请求调入功能和置换 功能,能从逻辑上对内存容量加以扩充的一种存 储器系统,其逻辑容量由内存容量和外存容量之 和所决定,其运行速度接近于内存速度,而每位 的成本却又接近于外存。
虚拟存储器培训课件(ppt 91页)
典型的有:键盘、鼠标、语音的输入/输出等。 中速设备:传输速率仅为每秒钟数千个字节至数数万个字节的
设备。典型的有:打印机等。 高速设备:传输速率仅为每秒钟数百千个字节至数十兆字节的
设备。典型的有:磁盘机、磁带机、光盘机等。
块设备 4)按信息交换的单位分类 字符设备 块设备:信息交换的基本单位为字符块,属于有结构设备, 块大小一般为512B---4KB,典型的有:磁盘、磁带等。 字符设备:信息交换的基本单位为字符,典型的有:键盘、 打印机和显示器等。 2、设备与控制器之间的接口 (P145 图5-1) 三种信号线
操作系统
当C>T :C+M即MAX(C,T)+M 当C<T : MAX(C,T) 图5-12
循环缓冲
在设备和处理机之间设置多个大小相等的缓冲区,这些缓 冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区, 最后一个指向第一个缓冲区,同时还含有2个用于输入/输出的 指针IN和OUT。
特点:缓冲区数有多个;设备与处理机对缓冲区的操作可并 行,进一步提高了设备与处理机并行操作的程度。
3、DMA方式
1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、 传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。
2)该进程放弃处理机等待输入完成,处理机被其它进程占据。 3)DMA控制器采用挪用CPU周期,将一批数据写入内存中。 4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服
3、缓冲实现方法两种: 1)采用硬件缓冲器实现 2)用软件缓冲区来实现
5.3 缓冲管理
缓冲就是用来对数据传送速度不同的设备的传送速度进
行匹配/缓冲的一种常用手段。其实现方法除在关键
设备。典型的有:打印机等。 高速设备:传输速率仅为每秒钟数百千个字节至数十兆字节的
设备。典型的有:磁盘机、磁带机、光盘机等。
块设备 4)按信息交换的单位分类 字符设备 块设备:信息交换的基本单位为字符块,属于有结构设备, 块大小一般为512B---4KB,典型的有:磁盘、磁带等。 字符设备:信息交换的基本单位为字符,典型的有:键盘、 打印机和显示器等。 2、设备与控制器之间的接口 (P145 图5-1) 三种信号线
操作系统
当C>T :C+M即MAX(C,T)+M 当C<T : MAX(C,T) 图5-12
循环缓冲
在设备和处理机之间设置多个大小相等的缓冲区,这些缓 冲区构成环形,每一个缓冲区中含一指针指向下一个缓冲区, 最后一个指向第一个缓冲区,同时还含有2个用于输入/输出的 指针IN和OUT。
特点:缓冲区数有多个;设备与处理机对缓冲区的操作可并 行,进一步提高了设备与处理机并行操作的程度。
3、DMA方式
1)需数据的进程向CPU发出指令,向DMA控制器写入数据存放的内存始址、 传送的字节数,并置中断位和启动位,启动I/O设备输入数据并允许中断。
2)该进程放弃处理机等待输入完成,处理机被其它进程占据。 3)DMA控制器采用挪用CPU周期,将一批数据写入内存中。 4)DMA控制器传送完数据后,向CPU发中断请求,CPU响应后转向中断服
3、缓冲实现方法两种: 1)采用硬件缓冲器实现 2)用软件缓冲区来实现
5.3 缓冲管理
缓冲就是用来对数据传送速度不同的设备的传送速度进
行匹配/缓冲的一种常用手段。其实现方法除在关键
操作系统原理课件-第十四讲虚拟存储器(VIRTUAL MEMORY)
虚拟存储器的实现方式
❖ 请求分页系统 (demand paging)
❖ 请求分段系统 (demand segmentation)
4.8.2 请求分页存储管理方式 (虚拟页式(virtual paging))
在简单页式存储管理的基础上,增加请求调页和页面置换功能。
请求分页的实现 请求分页的策略
请求分页的实现——硬件支持
1)内存分配问题: 不必一次装入作业的所有页面,究竟装入时分配多少个内存块?
2)调页问题: 不是所有的页面都在内存中,哪些页面应该在内存中? 剩下的页面何时调入?从何处调入?如何调入?
3)页面置换问题: 当没有空闲内存块,又需要调入新的页面时,要将已装入内 存的页面置换出去,如何选取页面置换?
1.内存分配策略 P147
例:UNIX方式
4.8.3 Page Replacement Algorithms (中级调度算 法)
功能:需要调入页面时,选择内存中哪个物理页面被置换。称 为replacement policy。
目标:把未来不再使用的或短期内较少使用的页面调出, 通常只能在局部性原理指导下依据过去的统计数据进行预 测;
对换技术(置换) ——Swapping P129
什么是对换技术? 为什么要对换?
早期的对换技术:解决由于内存不足而无法同时容纳 多个用户程序的问题。
多道程序环境下的对换技术:把内存中暂时不能运行 的进程,或暂时不用的程序和数据,换出到外存上, 以腾出足够的内存,把具备运行条件的进程,或所需 要的程序和数据,换入内存。
2、问题产生的原因 作业装入的“一次性” 作业装入后的“驻留性”
3、解决方法的探索 不需一次全部装入作业 装入内存的程序可在不需要访问时暂时退出内存
虚拟存储器课件
• 配备了联想寄存器的系统在每次地址变换时,根据页式地址中的页面号同时查 找主存页表和联想寄存器(转换后备缓冲区TLB)。若TLB中存在相匹配的页号, 系统可以直接从TLB中读出页框号送MAR以形成物理地址。否则,系统等待主 存页表的查询结果(页框号);形成物理地址的同时将页框号送TLB(若TLB已 满,需首先运行置换算法淘汰某个页面)。
页面走 1 2 3 4 1 2 5 1 2 3 4 5 向
物理块1 1 1 1 1
555544
物理块2
2 22
211115
物理块3
33
332222
物理块4
4
444333
缺页 缺 缺 缺 缺
缺缺缺缺缺缺
学习交流PPT
27
先进先出置换算法_注:
1、该算法的出发点是最早调入内存的页面,其不再被访问的可能性会大一些。 2、该算法实现比较简单,对具有线性顺序访问的程序比较合适,而对其他情 况效率低。
学习交流PPT
15
内存访问时间加倍问题的解决
• 转换后备缓冲区(TLB):CPU和主存之间的联想 寄存器。作为高速cache,存放CPU在最近一段时 间内经常访问的页表表项。
学习交流PPT
16
• TLB高速缓存的硬件特性:按内容查表,并发地用 待查找的内容与每个表项匹配。
若命中,一个访问周期内就可以得到逻辑页面在主存中 的地址
9
学习交流PPT
10
页表内存消耗巨大问题的解决方案之二
——Power PC’s Solution
• 反向页表(Inverted Page Table)
• 反向页表中每一项对应于一个主存页而不是虚页。
学习交流PPT
11
组成原理课件 - 虚拟存储器
速4.度在虚拟存储器中,当程序正在执行时,由( )完成地址映
射A、程序员
B、编译器
D.装入程序
D.操作系统
5.若某单片机的系统程序不允用户在执行时改变,则可以选用
( )作为存储芯片。
A、SRAM
B、flash
C.Cache
Memory D.辅助
存储器
6.程序访问的局限性是使用(
)依据。
A、缓冲
B、
3.段页式虚拟存储器
它是将存储空间按逻辑模块分成段,每段以分成若干个页,这 种访问通过一段表和若干个页表进行。段的长度必须是页长的 数倍,段的起点必须是某一页的起点。在段页式虚拟存储器中 ,拟地址被分为基号、段号、页号、页内地址在进行地址映象 时:先根据基号查找段基址表,从表中查出段表的起始地址, 然后用号从段表中查找该 段的页表的起始地址,然后根据段内 页号在页中查找该页在内存中的起始地址(实页号),同时判 断该段是否入内存,如果该段已装入内存,则从段表中取出实 页号,与页内址字段拼成被访问数据的物理地址。
谢谢
一、填空
1、Cache是指(
)。
2.虚拟存储器是建立在( )结构上, 用来解决( )的问题
3.将辅助存储器当作主存来使用,从而扩大程序可访问的存储空 间,这样的存储结构称为( )。
4、地址映象(射)用来确定( )地址和( )地址之间的逻辑 关系。
5.常用的地址映射方法有( )、( )、组相联映射三种。
2、在主存和CPU之间增加Cache的目的是
)。
(A、增加内存容量
B、解决CPU与内存之间的速度匹配问
C.提高内存的可靠性 题 D.增加内存空量,同时加快存取速
3.采用虚拟存储器的主要度目的是(
计算机操作系统--虚拟存储器 ppt课件
pp6t课拟存储器的定义和特征 1. 虚拟存储器的定义 当用户看到自己的程序能在系统中正常运行时,他会认
为,该系统所具有的内存容量一定比自己的程序大,或者说, 用户所感觉到的内存容量会比实际内存容量大得多。但用户 所看到的大容量只是一种错觉,是虚的,故人们把这样的存 储器称为虚拟存储器。
统存储器管理方式,它们全都具有如下两个共同的特征: (1) 一次性 (2) 驻留性
pp3t课件
第五章 虚 拟 存 储 器
2. 局部性原理 程序运行时存在的局部性现象,很早就已被人发现,但 直到1968年,P.Denning才真正指出:程序在执行时将呈现出 局部性规律,即在一较短的时间内,程序的执行仅局限于某 个部分,相应地,它所访问的存储空间也局限于某个区域。
算机系统除了要求一定容量的内存和外存外,还需要有请求 页表机制、缺页中断机构以及地址变换机构。
pp1t1课件
第五章 虚 拟 存 储 器
1. 请求页表机制 在请求分页系统中需要的主要数据结构是请求页表,其 基本作用仍然是将用户地址空间中的逻辑地址映射为内存空 间中的物理地址。为了满足页面换进换出的需要,在请求页 表中又增加了四个字段。这样,在请求分页系统中的每个页 表应含以下诸项:
pp1t8课件
第五章 虚 拟 存 储 器
3. 物理块分配算法 在采用固定分配策略时,如何将系统中可供分配的所有 物理块分配给各个进程,可采用下述几种算法: (1) 平均分配算法,即将系统中所有可供分配的物理块 平均分配给各个进程。 (2) 按比例分配算法,即根据进程的大小按比例分配物 理块。如果系统中共有n个进程,每个进程的页面数为Si, 则系统中各进程页面数的总和为:
pp9t课件
第五章 虚 拟 存 储 器
2. 请求分段系统 1) 硬件支持 主要的硬件支持有: (1) 请求分段的段表机制。 (2) 缺页中断机构。 (3) 地址变换机构。 2) 软件支持
为,该系统所具有的内存容量一定比自己的程序大,或者说, 用户所感觉到的内存容量会比实际内存容量大得多。但用户 所看到的大容量只是一种错觉,是虚的,故人们把这样的存 储器称为虚拟存储器。
统存储器管理方式,它们全都具有如下两个共同的特征: (1) 一次性 (2) 驻留性
pp3t课件
第五章 虚 拟 存 储 器
2. 局部性原理 程序运行时存在的局部性现象,很早就已被人发现,但 直到1968年,P.Denning才真正指出:程序在执行时将呈现出 局部性规律,即在一较短的时间内,程序的执行仅局限于某 个部分,相应地,它所访问的存储空间也局限于某个区域。
算机系统除了要求一定容量的内存和外存外,还需要有请求 页表机制、缺页中断机构以及地址变换机构。
pp1t1课件
第五章 虚 拟 存 储 器
1. 请求页表机制 在请求分页系统中需要的主要数据结构是请求页表,其 基本作用仍然是将用户地址空间中的逻辑地址映射为内存空 间中的物理地址。为了满足页面换进换出的需要,在请求页 表中又增加了四个字段。这样,在请求分页系统中的每个页 表应含以下诸项:
pp1t8课件
第五章 虚 拟 存 储 器
3. 物理块分配算法 在采用固定分配策略时,如何将系统中可供分配的所有 物理块分配给各个进程,可采用下述几种算法: (1) 平均分配算法,即将系统中所有可供分配的物理块 平均分配给各个进程。 (2) 按比例分配算法,即根据进程的大小按比例分配物 理块。如果系统中共有n个进程,每个进程的页面数为Si, 则系统中各进程页面数的总和为:
pp9t课件
第五章 虚 拟 存 储 器
2. 请求分段系统 1) 硬件支持 主要的硬件支持有: (1) 请求分段的段表机制。 (2) 缺页中断机构。 (3) 地址变换机构。 2) 软件支持
《操作系统》课件05 虚拟存储器
有效访问时间=(1-p)*0.1(μs)+p*25000(μs)
=0.1+24999.9*p
如果缺页率p=0.001(即在1000次的页面访问中,仅发生一 次缺页)
则 有 效 访 问 时 间 约 为 25μs , 与 无 缺 页 相 比 , 速 度 降 低 至 1/250。
第五章 虚拟存储器
如果希望在缺页时有效访问时间延长不超过10%,则有 0.11>0.1+24999.9*p
(1)CPU利用率为13%,盘利用率为3%;
第五章 虚拟存储器
答:
(1)此时发生抖动现象。增加多道程序度会进一步增加缺页 率,使系统性能进一步恶化,所以不能用增加多道程序度数来 增加CPU的利用率。
(2)CPU利用率已经相当高,盘利用率却相当低,即进程的 缺页率很低,此时应适当增加多道程序度数来增加CPU的利用 率。
第五章 虚拟存储器
图 4-28 某进程具有8个页面时的LRU访问情况
第五章 虚拟存储器
2) 栈
47 0 7 1 01 2 1 2 6 2126
1 01 1 2 1 2 0 7 7 10 0 0 0 1 7 7 0 0 77 7 7 7 0 44 4 4 4 44 4 4 4 7
图 4-29 用栈保存当前使用页面时栈的变化情况
第五章 虚拟存储器
例:考虑一个请求分页系统,它采用全局置换策略和平均分配 内存块的算法(即若有m个内存块和n个进程,则每个进程分得 m/n个内存块)。如果该系统测得如下CPU和对换盘利用率, 请问能否用增加多道程序度数来增加CPU的利用率?为什么?
(1)CPU利用率为13%,盘利用率为97%;
(2)CPU利用率为87%,盘利用率为3%;
=0.1+24999.9*p
如果缺页率p=0.001(即在1000次的页面访问中,仅发生一 次缺页)
则 有 效 访 问 时 间 约 为 25μs , 与 无 缺 页 相 比 , 速 度 降 低 至 1/250。
第五章 虚拟存储器
如果希望在缺页时有效访问时间延长不超过10%,则有 0.11>0.1+24999.9*p
(1)CPU利用率为13%,盘利用率为3%;
第五章 虚拟存储器
答:
(1)此时发生抖动现象。增加多道程序度会进一步增加缺页 率,使系统性能进一步恶化,所以不能用增加多道程序度数来 增加CPU的利用率。
(2)CPU利用率已经相当高,盘利用率却相当低,即进程的 缺页率很低,此时应适当增加多道程序度数来增加CPU的利用 率。
第五章 虚拟存储器
图 4-28 某进程具有8个页面时的LRU访问情况
第五章 虚拟存储器
2) 栈
47 0 7 1 01 2 1 2 6 2126
1 01 1 2 1 2 0 7 7 10 0 0 0 1 7 7 0 0 77 7 7 7 0 44 4 4 4 44 4 4 4 7
图 4-29 用栈保存当前使用页面时栈的变化情况
第五章 虚拟存储器
例:考虑一个请求分页系统,它采用全局置换策略和平均分配 内存块的算法(即若有m个内存块和n个进程,则每个进程分得 m/n个内存块)。如果该系统测得如下CPU和对换盘利用率, 请问能否用增加多道程序度数来增加CPU的利用率?为什么?
(1)CPU利用率为13%,盘利用率为97%;
(2)CPU利用率为87%,盘利用率为3%;
现代操作系统课件-第五章 虚拟存储器
2023年11月2日星期四
Page 17
程序请求访问一页 缺页中断处理 保留CPU现场
从外存中找到缺页
开始
页号>页表长 度? 否
CPU检索快表
是 越界中断
请 求 分
内存满否? 否
是 选择一页换出
页表项在快表中? 是
否 访问页表
页
中 的 地
否 该页被修改否?
是 将该页写回外存
❖运行速度接近于内存速度 ❖而每位的成本却又接近于外存
Operating System
2023年11月2日星期四
Page 7
虚拟存储器的基本概念
虚拟存储器的引入 虚拟存储器的实现方法 虚拟存储器的特征
Operating System
2023年11月2日星期四
Page 8
虚拟存储器的实现方法
适用的策略 ➢ 固定分配局部置换(Fixed Allocation, Local Replacement) ➢ 可变分配全局置换(Variable Allocation, Global Replacement) ➢ 可变分配局部置换(Variable Allocation, Local Replacemen
第五章 虚拟存储器
虚拟存储器的基本概念
请求分页存储管理方式 页面置换算法 请求分段存储管理方式
Operating System
2023年11月2日星期四
Page 1
虚拟存储器的基本概念
虚拟存储器的引入 虚拟存储器的实现方法 虚拟存储器的特征
Operating System
2023年11月2日星期四
❖ 每当发生缺页请求时,系统应从何处将缺页调入内存, 可分成如下三种情况
➢ 系统拥有足够的对换区空间,全部从对换区调入 ➢ 对换区空间不足,这时凡是不会被修改的文件,都直接从文
《虚拟存储管理》PPT课件
●外存地址: 该页在外存的地址。
9
缺页中断机构
主要表现在(与一般中断的主要区别): ●在指令执行期间产生和处理中断信号。
通常CPU外部中断,是在每条指令执行完毕后去 检查是否有中断请求到达。而缺页中断是在指令 执行期间,发现所要访问的指令或数据不在内存 时产生和处理。
10
缺页中断机构
主要表现在(与一般中断的主要区别): ●一条指令执行期间,可能产生多次缺页中 断。
70 1 20304 2 3 0 3 2 1 2 0 1 7 0 1
777 2 00 0 11
22 4 4 4 0 33 3 2 2 2 10 0 0 3 3
00 11 32
777 100 221
FIFO思想——淘汰最先进入内存的页。
OPT与FIFO的比较结果: OPT页面换出6次,缺页9次。 FIFO页面换出12次,缺页15次。
12
地址变换机构
缺页中断处理
保留CPU现场
从外存找到缺页 N
内存满否? Y
选择一页换出 N
该页修改过吗? Y
将该页写回外存
从外存读入缺页 修改页表
开始
页号>页表长度 N
查快表
Y 越界中断
Y 页在快表中?
N 查页表
N
页在内存?
Y
修改快表
修改访问字段和修改位 形成物理地址 结束 13
请求页式存储管理驻留集管理
3. 系统在采取可变分配策略时,尽可能采取局部置换。到 某进程发生缺页时,仅在进程自己的页面内进行置换, 不影响其他进程分配的存储块数。这样即使出现了抖动, 也局限在较小的范围内。
4. 当多道程序的道数出现偏高的情况时,简单而有效的方 法是挂起一些进程,以便腾出内存空间分配给出现抖动 的进程。
9
缺页中断机构
主要表现在(与一般中断的主要区别): ●在指令执行期间产生和处理中断信号。
通常CPU外部中断,是在每条指令执行完毕后去 检查是否有中断请求到达。而缺页中断是在指令 执行期间,发现所要访问的指令或数据不在内存 时产生和处理。
10
缺页中断机构
主要表现在(与一般中断的主要区别): ●一条指令执行期间,可能产生多次缺页中 断。
70 1 20304 2 3 0 3 2 1 2 0 1 7 0 1
777 2 00 0 11
22 4 4 4 0 33 3 2 2 2 10 0 0 3 3
00 11 32
777 100 221
FIFO思想——淘汰最先进入内存的页。
OPT与FIFO的比较结果: OPT页面换出6次,缺页9次。 FIFO页面换出12次,缺页15次。
12
地址变换机构
缺页中断处理
保留CPU现场
从外存找到缺页 N
内存满否? Y
选择一页换出 N
该页修改过吗? Y
将该页写回外存
从外存读入缺页 修改页表
开始
页号>页表长度 N
查快表
Y 越界中断
Y 页在快表中?
N 查页表
N
页在内存?
Y
修改快表
修改访问字段和修改位 形成物理地址 结束 13
请求页式存储管理驻留集管理
3. 系统在采取可变分配策略时,尽可能采取局部置换。到 某进程发生缺页时,仅在进程自己的页面内进行置换, 不影响其他进程分配的存储块数。这样即使出现了抖动, 也局限在较小的范围内。
4. 当多道程序的道数出现偏高的情况时,简单而有效的方 法是挂起一些进程,以便腾出内存空间分配给出现抖动 的进程。
第4章虚拟存储器.ppt
4.6 虚拟存储器的基本概念
4.6.1 问题的提出
• 程序大于总内存 •多个程序要运行内存只能容纳部分作业
虚拟存储器的基本思想是: 程序、数据、堆 栈的大小可以超过内存的大小, 操作系统把程序 当前使用的部分保留在内存, 而把 其它部分存在磁盘上, 需要时在内存和磁盘之间 动态对换。
虚拟存储器支持多道程序设计技术。
以CPU时间和外存空间换取昂贵内存空 间, 这是操作系统中的资源转换技术。
虚存: 把内存与外存有机的结合起来使用, 从 而得到一个容量很大的“虚内存”。
实现思想: 当进程运行时, 先将一部分程序装 入内存, 另一部分暂时留在外存, 当要执行的 指令不在内存时, 由系统自动将它们从外存调 换到内存。即具有请求调入和置换功能。
当又有其它进程要访问该共享段时, 只需在访问进 程的段表中增加一表项, 填入该共享段的物理地址; 并 在共享段表的对应表项中, 填写调用进程名和存取控制 等, 再执行count:= count+1 操作。
共享段的回收
取消该进程的段表中共享段所对应的表项,并执行 count:= count-1, 结果为0则回收共享段的内存并取消该 进程在共享段表中对应的表项; 否则仅取消该进程在共 享段表中对应的纪录。
• 直接寻址方式最少块数为2
• 间接寻址方式最少块数为3
• 功能较强的机器最少块数为6
2. 页面分配和置换策略(固定分配、可变分配)
1) 固定分配局部置换
• 系统中驻留的进程数与分配给进程的页数是什么 关系?(正比?反比?) • 块数太多会出现什么问题? • 块数太少会出现什么问题?
2) 可变分配全局置换
(1) 寻找A=0且M=0, 找到则淘汰该页, 此遍不修改A。
4.6.1 问题的提出
• 程序大于总内存 •多个程序要运行内存只能容纳部分作业
虚拟存储器的基本思想是: 程序、数据、堆 栈的大小可以超过内存的大小, 操作系统把程序 当前使用的部分保留在内存, 而把 其它部分存在磁盘上, 需要时在内存和磁盘之间 动态对换。
虚拟存储器支持多道程序设计技术。
以CPU时间和外存空间换取昂贵内存空 间, 这是操作系统中的资源转换技术。
虚存: 把内存与外存有机的结合起来使用, 从 而得到一个容量很大的“虚内存”。
实现思想: 当进程运行时, 先将一部分程序装 入内存, 另一部分暂时留在外存, 当要执行的 指令不在内存时, 由系统自动将它们从外存调 换到内存。即具有请求调入和置换功能。
当又有其它进程要访问该共享段时, 只需在访问进 程的段表中增加一表项, 填入该共享段的物理地址; 并 在共享段表的对应表项中, 填写调用进程名和存取控制 等, 再执行count:= count+1 操作。
共享段的回收
取消该进程的段表中共享段所对应的表项,并执行 count:= count-1, 结果为0则回收共享段的内存并取消该 进程在共享段表中对应的表项; 否则仅取消该进程在共 享段表中对应的纪录。
• 直接寻址方式最少块数为2
• 间接寻址方式最少块数为3
• 功能较强的机器最少块数为6
2. 页面分配和置换策略(固定分配、可变分配)
1) 固定分配局部置换
• 系统中驻留的进程数与分配给进程的页数是什么 关系?(正比?反比?) • 块数太多会出现什么问题? • 块数太少会出现什么问题?
2) 可变分配全局置换
(1) 寻找A=0且M=0, 找到则淘汰该页, 此遍不修改A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缺点:
(1)地址变换所花费的时间比较长。 (2)主存储器的利用率往往比较低。 (3)对辅存(磁盘存储器)的管理比较困难。
-
3.页式虚拟存储器
页式存储器把虚拟地址空间划分成一个个固定大小的块,每块称为 一页,把主存储器的地址空间同样的大小划分成为页。页是一种逻辑 上的划分,它可以由系统管理软件任意指定。一般的大小通常为1KB 至16KB。
-
段页式虚拟存储器的地址映象
0段(12K) 1段(10K)
每页4KB
页表长度 页表地址
3 3 2
段表
2段(5K)
用户程序
0段0页 0段1页 0段2页
1段0页 1段1页 1段2页
2段0页 2段1页 页表
主存储器
-
优点:缩短页表的存储容量,加快地址映象和变换的速度,因为主存 实地址只需要把页表中的实页号虚拟地址中的业内偏移拼接起来即可, 不必进行任何计算。
常用的页面替换算法有如下几种:
-
(1)随机算法(RAND算法) 利用软件或硬件的随机数发生器来确定主存储器中被替换的页面。
这种算法最简单,而且容易实现。但是这种算法完全没有利用主存储 器中页面调度情况的历史信息,也没有反应程序的局部性,所以命中 率比较低。
(2)先进先出算法(FIFO算法) 这种算法选择最先调入主存储器的页面作为被替换的页面。它的
优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息, 但是,没有反应程序的局部性。因为最先调入主存的页面,很可能也 是经常要使用的页面。
-
FIFO算法的图表说明:
访问 页面
7
0
1
2
0
3
0
4
2
3
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
224440
00
777
块2
00 0
333222
11
100
根据所采用的地址映像和地址变换方法不同,虚拟存储 器一般分为页式虚拟存储器、段式虚拟存储器和段页式虚拟 存储器三种。
-
2.段式虚拟存储器
段式虚拟存储器的基本思想是:按照程序的逻辑结构划分段,主存以段为
单位进行分配。由于段是按照程序的自然边界划分的,因此每个段的长度各
不相同,并且程序员通常还会把不同类型的数据划分到不同的段中。
缺点:
(1)程序的模块化性能不好。 (2)页表很长,需要占用很大的存储空间。
-
4.段页式虚拟存储器 基本思想:对用户用来编写程序的虚拟存储空间采用分
段的方法管理,而对主存储器的物理空间采用分页的方法管 理。段页式虚拟存储器一方面具有段式虚拟存储器的主要优 点,另一方面也具有页式虚拟存储器的主要优点。
-
但是,这种算法实现起来非常的困难。它要为每个页面设置一个很长的计数
器,并且要选择一个固定的时钟为每个计数器定时计数。在选择被替换页面
时,要从所有计数器中找出一个计数值最大的计数器。
访问 页面
7
0
1
2
0
3Leabharlann 0423
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
2
4440
1
1
1
块2
000
0
0033
3
0
0
块3
在虚拟存储器中,虚拟地址空间中的页称为虚页,主存地址空间的 页称为实页。
-
页式虚拟存储器的地址映像
0页 1页 2页 3页 … 用户程序
页号 主存页号 0 1 2 3 页表
主存储器
-
页式虚拟器的地址变换
-
优点:
(1)主存储器的利用率比较高。 (2)页表相对比较简单。 (3)地址映像和变换的速度比较快。 (4)对辅存(磁盘存储器)的管理比较容易。
11
3
3222
2
2
7
是否
√
√
√√√√
√
√
√
缺页
(4)最久没有使用算法(LFU算法)
这种算法把近期最久没有被访问过的页面作为被替换的页面。它把LRU 算法中要记录数量上的“多”与“少”简化成判断“有”与“无”,因此,
-
实现起来比较容易。
(5)最优替换算法(OPT算法)
上面介绍的几种页面替换算法主要是以主存储器中页面调度情况 的历史信息为依据的,它假设将来主存储器中页面调度情况与过去一 段时间内的情况是相同的,这种替换算法的命中率是最高的。要实现 OPT算法,唯一的办法是让程序先执行一遍,记录下实际的页地址流 情况。根据这个页地址流才能找出当前要被替换的页面。OPT算法是 一种理想化的算法,经常把这种算法用来作为评价其他页面替换算法 好坏的标准。
-
地址映像是把虚拟地址空间映像到主存地址空间,具体 地说,就是把用户用虚拟地址编写的程序按照某种规则装入 到主存储器中,并建立多用户虚地址与主存实地址之间的对 应关系。而地址变换则是在程序被装入主存储器之后,在实 际运行时,把多用户虚地址变换成主存实地址(内部地址变 换)或磁盘存储器地址(外部地址变换)。
块3
11
100033
32
221
是否
√
√√√√√√
√√
√√√
缺页
(3)近期最少使用算法(LRU算法)
这种算法选择近期最少访问的页面作为被替换的页面。这是一种很合理的算 法,因为到目前为止最少使用的页面,很可能也是将来最少访问的页面。该算法 既充分利用了主存中页面调度算法情况的历史信息,又正确反映了程序的局部性。
0
0
主主程程序序((00段段))
段号
段长 起始地址
1K
0
1K
8K
8K
0
01
510K0
186KK
9K
11段段 500
2
200
9K
16K
0 22段段
200
0 33段段
200
程序空间
3
200
30K
段表
30K
主存储器
段式虚拟存储器的地址映像
-
段式虚拟存储器的地址变换
-
优点:
(1)程序的模块化性能好。 (2)便于程序和数据的共享。 (3)程序的动态链接和调度比较容易。 (4)便于实现信息保护。
段页式虚拟存储器中,要从主存储器中访问一个数据,需要查两次 表,一次是页表,另一次是段表。如果段表和页表都在主存储器中的, 则要访问主存储器三次。
-
5.页面替换算法及其实现
在虚拟存储器中,当发生页面失效时,需要从磁盘存储器中调入 一页(或一段)到主存储器中。由于主存空间的局限性,必然会出现 当主存中所有页面都已经被占用,或者所有主存空间都已经被占用, 而又要从磁盘存储器中调入新页(或新段)的情况。这时,必然从主 存储器中淘汰掉一个不常用的页面(或程序段),以便腾出主存空间 来存放新调入的页面(或程序段)。那么,按照什么样的规则替换主 存储器中的页面(或程序段)呢?这就是页面替换算法要解决的问题。
-
3.2 虚拟存储器
虚拟存储器又称虚拟存储系统,或虚拟存储体系等。虚 拟存储器是由主存储器和联机工作的外部存储器共同组成。 联机工作的外部存储器通常为磁盘存储器,它的存储容量很 大,与主存储器相比,速度很低,单位容量的价格很便宜。 1.地址的映像与变换
在虚拟存储器中有三种地址空间:虚拟地址空间、主存 地址空间、辅存地址空间。
(1)地址变换所花费的时间比较长。 (2)主存储器的利用率往往比较低。 (3)对辅存(磁盘存储器)的管理比较困难。
-
3.页式虚拟存储器
页式存储器把虚拟地址空间划分成一个个固定大小的块,每块称为 一页,把主存储器的地址空间同样的大小划分成为页。页是一种逻辑 上的划分,它可以由系统管理软件任意指定。一般的大小通常为1KB 至16KB。
-
段页式虚拟存储器的地址映象
0段(12K) 1段(10K)
每页4KB
页表长度 页表地址
3 3 2
段表
2段(5K)
用户程序
0段0页 0段1页 0段2页
1段0页 1段1页 1段2页
2段0页 2段1页 页表
主存储器
-
优点:缩短页表的存储容量,加快地址映象和变换的速度,因为主存 实地址只需要把页表中的实页号虚拟地址中的业内偏移拼接起来即可, 不必进行任何计算。
常用的页面替换算法有如下几种:
-
(1)随机算法(RAND算法) 利用软件或硬件的随机数发生器来确定主存储器中被替换的页面。
这种算法最简单,而且容易实现。但是这种算法完全没有利用主存储 器中页面调度情况的历史信息,也没有反应程序的局部性,所以命中 率比较低。
(2)先进先出算法(FIFO算法) 这种算法选择最先调入主存储器的页面作为被替换的页面。它的
优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息, 但是,没有反应程序的局部性。因为最先调入主存的页面,很可能也 是经常要使用的页面。
-
FIFO算法的图表说明:
访问 页面
7
0
1
2
0
3
0
4
2
3
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
224440
00
777
块2
00 0
333222
11
100
根据所采用的地址映像和地址变换方法不同,虚拟存储 器一般分为页式虚拟存储器、段式虚拟存储器和段页式虚拟 存储器三种。
-
2.段式虚拟存储器
段式虚拟存储器的基本思想是:按照程序的逻辑结构划分段,主存以段为
单位进行分配。由于段是按照程序的自然边界划分的,因此每个段的长度各
不相同,并且程序员通常还会把不同类型的数据划分到不同的段中。
缺点:
(1)程序的模块化性能不好。 (2)页表很长,需要占用很大的存储空间。
-
4.段页式虚拟存储器 基本思想:对用户用来编写程序的虚拟存储空间采用分
段的方法管理,而对主存储器的物理空间采用分页的方法管 理。段页式虚拟存储器一方面具有段式虚拟存储器的主要优 点,另一方面也具有页式虚拟存储器的主要优点。
-
但是,这种算法实现起来非常的困难。它要为每个页面设置一个很长的计数
器,并且要选择一个固定的时钟为每个计数器定时计数。在选择被替换页面
时,要从所有计数器中找出一个计数值最大的计数器。
访问 页面
7
0
1
2
0
3Leabharlann 0423
0
3
2
1
2
0
1
7
0
1
块1 7 7 7 2
2
4440
1
1
1
块2
000
0
0033
3
0
0
块3
在虚拟存储器中,虚拟地址空间中的页称为虚页,主存地址空间的 页称为实页。
-
页式虚拟存储器的地址映像
0页 1页 2页 3页 … 用户程序
页号 主存页号 0 1 2 3 页表
主存储器
-
页式虚拟器的地址变换
-
优点:
(1)主存储器的利用率比较高。 (2)页表相对比较简单。 (3)地址映像和变换的速度比较快。 (4)对辅存(磁盘存储器)的管理比较容易。
11
3
3222
2
2
7
是否
√
√
√√√√
√
√
√
缺页
(4)最久没有使用算法(LFU算法)
这种算法把近期最久没有被访问过的页面作为被替换的页面。它把LRU 算法中要记录数量上的“多”与“少”简化成判断“有”与“无”,因此,
-
实现起来比较容易。
(5)最优替换算法(OPT算法)
上面介绍的几种页面替换算法主要是以主存储器中页面调度情况 的历史信息为依据的,它假设将来主存储器中页面调度情况与过去一 段时间内的情况是相同的,这种替换算法的命中率是最高的。要实现 OPT算法,唯一的办法是让程序先执行一遍,记录下实际的页地址流 情况。根据这个页地址流才能找出当前要被替换的页面。OPT算法是 一种理想化的算法,经常把这种算法用来作为评价其他页面替换算法 好坏的标准。
-
地址映像是把虚拟地址空间映像到主存地址空间,具体 地说,就是把用户用虚拟地址编写的程序按照某种规则装入 到主存储器中,并建立多用户虚地址与主存实地址之间的对 应关系。而地址变换则是在程序被装入主存储器之后,在实 际运行时,把多用户虚地址变换成主存实地址(内部地址变 换)或磁盘存储器地址(外部地址变换)。
块3
11
100033
32
221
是否
√
√√√√√√
√√
√√√
缺页
(3)近期最少使用算法(LRU算法)
这种算法选择近期最少访问的页面作为被替换的页面。这是一种很合理的算 法,因为到目前为止最少使用的页面,很可能也是将来最少访问的页面。该算法 既充分利用了主存中页面调度算法情况的历史信息,又正确反映了程序的局部性。
0
0
主主程程序序((00段段))
段号
段长 起始地址
1K
0
1K
8K
8K
0
01
510K0
186KK
9K
11段段 500
2
200
9K
16K
0 22段段
200
0 33段段
200
程序空间
3
200
30K
段表
30K
主存储器
段式虚拟存储器的地址映像
-
段式虚拟存储器的地址变换
-
优点:
(1)程序的模块化性能好。 (2)便于程序和数据的共享。 (3)程序的动态链接和调度比较容易。 (4)便于实现信息保护。
段页式虚拟存储器中,要从主存储器中访问一个数据,需要查两次 表,一次是页表,另一次是段表。如果段表和页表都在主存储器中的, 则要访问主存储器三次。
-
5.页面替换算法及其实现
在虚拟存储器中,当发生页面失效时,需要从磁盘存储器中调入 一页(或一段)到主存储器中。由于主存空间的局限性,必然会出现 当主存中所有页面都已经被占用,或者所有主存空间都已经被占用, 而又要从磁盘存储器中调入新页(或新段)的情况。这时,必然从主 存储器中淘汰掉一个不常用的页面(或程序段),以便腾出主存空间 来存放新调入的页面(或程序段)。那么,按照什么样的规则替换主 存储器中的页面(或程序段)呢?这就是页面替换算法要解决的问题。
-
3.2 虚拟存储器
虚拟存储器又称虚拟存储系统,或虚拟存储体系等。虚 拟存储器是由主存储器和联机工作的外部存储器共同组成。 联机工作的外部存储器通常为磁盘存储器,它的存储容量很 大,与主存储器相比,速度很低,单位容量的价格很便宜。 1.地址的映像与变换
在虚拟存储器中有三种地址空间:虚拟地址空间、主存 地址空间、辅存地址空间。