【思维导图】第五章 虚拟存储器-
第5章-虚拟存储器ppt课件
.
5.1.1 常规存储器管理方式的特征和局部性原理 1.常规存储器管理方式的特征 (1)一次性
作业在运行前需一次性地全部装入内存,如果一次 性地装入其全部程序,也是一种对内存空间的浪费。
.
5.1.2 虚拟存储器的特征
虚拟存储器具有以下主要特征:
1.多次性 一个作业被分成多次调入内存运行,在作业
运行时只需将当前要运行的那部分程序和数据装 入内存即可;当要运行时尚未调入的那部分程序 时,再将它调入。
2.对换性 作业的运行过程中进行换进、换出,换进和
换出能有效地提高内存利用率。
3.虚拟性 虚拟性是指能够从逻辑上扩充内存容量,使
(2)驻留性
作业装入内存后,便一直驻留在内存中,直至作业 运行结束。尽管运行中的进程会因I/O而长期等待, 仍将继续占用宝贵的内存资源。
.
2.局部性原理
(1)程序执行时,除了少部分的转移和过程调用 指令外,在大多数情况下仍是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部分区 域转至另一部分区域,但经研究看出,过程调用 的深度在大多数情况下都不超过5层。这就是说, 程序将会在一段时间内都局限在这些过程的范围 内运行。
.
3.虚拟存储器定义
基于局部性原理,应用程序在运行之前,没有必 要全部装入内存,仅须将那些当前要运行的部分 页面或段先装入内存便可运行,其余部分暂留在 盘上。
所谓虚拟存储器:是指具有请求调入功能和置换 功能,能从逻辑上对内存容量加以扩充的一种存 储器系统,其逻辑容量由内存容量和外存容量之 和所决定,其运行速度接近于内存速度,而每位 的成本却又接近于外存。
计算机虚拟存储器思维导图
改进型——增加对修改位M思维判断
lo 置换算法(对访问位A的判断)
空闲页面链表
页面缓冲算法( A,pa
n
修改页面链表
lg i )
页面置换算法
格式:页号+物理块号+状态位P+访问字段A+修 改位M+外存地址
请求页表机制 缺页中断机构
硬件
地址变换机构(过程图很关键)
即能保证进程正常运行所需的最小物理块数
离散性
指在内存分配时采用离散的分配方式,它是虚拟 存储器的实现的基础
多次性
指一个作业被分成多次调入内存运行,即在作业 运行时没有必要将其全部装入,只须将当前要运 行的那部分程序和数据装入内存即可。多次性是 虚拟存储器最重要的特征
对换性 虚ቤተ መጻሕፍቲ ባይዱ性
指允许在作业的运行过程中在内存和外存的对换 区之间换进、换出。
即刚被换出的页很快又要被访问,需要将它重新 调入,此时又需要再选一页调出
抖动的概念
最佳置换算法(需要预知后面进程,所以不能实 现)
选择在内存中驻留时间最久的页面予以淘汰
先进先出页面置换算法( I O)
寄存器支持 特殊的栈结构
最近最久未使用置换算法(L U)Re n
最少使用置换算法(L U)F e n
系统应该从何处调入这些页面
页面调入策略
页面调入过程
缺页率(出计算题)
请求分段的段表机构
缺段中断机构
硬件
请求分段系统
地址变换机构
虚拟存储器的实现方式
第五章:虚拟存储器
常规存储管理方式的特征
一次性 驻留性
局部性原理
计算机操作系统课件:第5章存储器管理03-虚拟存储器
景
雨 换进和换出能有效地提高内存利用率。
虚拟性
指能够从逻辑上扩充内存容量,使用户所看到 的内存容量远大于实际内存容量。这是虚拟存储器 所表现出来的最重要的特征,也是实现虚拟存储器 的最重要的目标。
虚拟存储器的实现方法
虚拟存储器的实现建立在离散分配的存储器管
大 理方式的基础上。
外
软
件
学
院 |
# 分页虚拟存储管理方式
页面调度策略
大
虚拟存储器系统通常定义三种策略
外 软
来规定如何(何时)以及怎样进行页面
件
学
调度。
院
| |
☆ 调页策略
景
雨
☆ 内存分配及置换策略
☆ 页面置换算法
1.页面调入策略
虚拟存储器的调入策略决定采用什
大
外 软
么样的方式将所缺页面由外存调入到内
件
学
存之中。
院
|
|
景
两种常用调页策略:
雨
☆ 请求调页
学
院
时就会出现分配的内存物理块数增多,缺页
|
|
景
率反而提高的异常现象。
雨
Belady 现 象 的 原 因 : FIFO 算 法 的 置 换
特征与进程访问内存的动态特征是矛盾的,
即被置换的页面并不是进程不会访问的。
3.页面置换算法
2).先进先出算法 (FIFO)
大
外 例1:假定系统为某进程分配了三个物理块,一个
软
件 作业要依次访问如下页面:
学
院 |
0,1,2,3,0,1,4,0,
|
景 雨
1,2,3,4。请采用FIFO页面
计算机操作系统第五章-虚拟存储器分解
计算机操作系统第五章-虚拟存储器分解第五章虚拟存储器第一节虚拟存储器的基本概念一、虚拟存储器的引入在前面介绍的各种存储管理方式中,用户作业一旦被装入内存,就会一直驻留其中,直到进程运行结束(驻留性)。
有些存储管理方式还存在一次性。
因此,用户作业要最终运行完毕,系统必须给它提供不短于作业长度的存储空间。
于是就出现了两种问题:长作业无法运行大量作业无法同时运行程序运行的局部性原理:在一段时间内一个程序的执行往往呈现出高度的局部性。
前期讨论:P112-113;局部性还表现在两方面:(1) 一条指令被执行,则不久以后该指令很可能再次执行;某个数据被访问,则不久以后该数据附近的数据很可能被访问。
产生这类局部性的典型原因,是由于在程序中存在着大量的循环操作。
(2) 程序在一段时间内所访问的地址,可能集中在一定的范围之内。
若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元很可能被使用。
其典型情况便是程序的顺序执行、数组的处理等。
局部性原理是在存储分配时克服驻留性、实现虚拟存储的依据。
二、虚拟存储器的定义定义:具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
其访问速度接近于内存,而其容量和每位的成本却又接近于外存。
特性:虚拟存储器连续性离散性一次性多次性驻留性交换性虚拟性对用户而言,它访问特性和内存一样;它以CPU时间和外存空间换取宝贵内存空间,是操作系统中的一种资源转换技术。
容量:一个虚拟存储器的最大容量是由计算机的地址结构确定的。
如:若CPU的有效地址宽度为32位,则程序可以寻址范围是0~232-1 ,即虚存容量可达4GB。
虚拟存储器的容量与主存的实际大小没有直接的关系,而是在主存与辅存的容量之和的范围内。
三、虚拟存储技术基本原理:P115把内存与外存有机地结合起来使用,从而得到一个容量很大的“内存”。
当进程开始运行时,先将它的一部分内容装入内存,另一部分暂时留在外存。
在运行过程中,当要访问的指令/数据不在内存时,由OS 自动将内存中的一些内容调到外存,藤出空间,再将马上要访问的内容从外存调入内存。
微处理器结构10虚拟存储器
1:
Virtual
Physical
Addresses
0:
Addresses
1:
CPU
P-1:
N-1:
Disk
Address Translation: Hardware converts virtual addresses to physical addresses via an OS-managed lookup table (page table)
虚拟存储器 (Virtual Memory)
为什么要使用虚拟存储器
程序所需要的存储器比计算机实际具有的内 存大
DOS应用程序曾采用overlay技术来执行大程序
多个程序需要同时共享物理内存
程序需要在内存中可重定位(relocatable) 程序之间需要隔离保护
虚拟存储器使每个程序运行在独立的、足够 大的虚拟地址空间!
Processor Signals Controller
(1) Initiate Block Read
Read block of length P starting at disk address X and store starting at memory address Y
页表(page table)
页在物理内存中采用全相联组织 全相联组织使得操作系统能使用复杂的
替换策略,从而提高命中率 虚拟地址到物理地址之间的映射由页表
来实现 页表在物理内存中连续存放 页表的位置由专用寄存器—页表寄存器
来指明
页缺失
Page Faults ( “Cache Misses”)
Physical Addresses
Memory
0: 1:
N-1:
操作系统第5章虚拟存储器
(2) 有大量作业要求运行,但由于内存容量不足以容纳 所有这些作业,只能将少数作业装入内存让它们先运行,而 将其它大量的作业留在外存上等待。
2
第五章 虚 拟 存 储 器
5.1.1 常规存储管理方式的特征和局部性原理 1. 常规存储器管理方式的特征 我们把前一章中所介绍的各种存储器管理方式统称为传
当进程访问某物理块时,要将相应寄存器的Rn-1位置成 1。此时,定时信号将每隔一定时间(例如100 ms)将寄存器右 移一位。如果我们把n位寄存器的数看作是一个整数,那么, 具有最小数值的寄存器所对应的页面,就是最近最久未使用 的页面。
36
第五章 虚 拟 存 储 器
实页
R 实 页R7
R6
R5
R4
R3
算机系统除了要求一定容量的内存和外存外,还需要有请求 页表机制、缺页中断机构以及地址变换机构。
11
第五章 虚 拟 存 储 器
1. 请求页表机制 在请求分页系统中需要的主要数据结构是请求页表,其 基本作用仍然是将用户地址空间中的逻辑地址映射为内存空 间中的物理地址。为了满足页面换进换出的需要,在请求页 表中又增加了四个字段。这样,在请求分页系统中的每个页 表应含以下诸项:
页号
物理块号
状态位 P
访问字段 A
修改位 M
外存地址
12
第五章 虚 拟 存 储 器
2. 缺页中断机构 (1) 在指令执行期间产生和处理中断信号。 (2) 一条指令在执行期间可能产生多次缺页中断。
13
第五章 虚 拟 存 储 器
图5-1 涉及6次缺页中断的指令
组成原理课件 - 虚拟存储器
速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.采用虚拟存储器的主要度目的是(
操作系统第5章(第四版)资料PPT课件
5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 请求分段存储管理方式
5.1 虚拟存储器概述
常规存储管理方式的共同点:
要求一个作业全部装入内存后方能运行。
问题:
(1) 有的作业很大,所需内存空间大于内存总容量,使作业无法 运行。 (2) 有大量作业要求运行,但内存容量不足以容纳下所有作业, 只能让一部分先运行,其它在外存等待。
将该页写回外存
OS命令CPU从外存读缺页
启动I/O硬件 将一页从外存换入内存
修改页表
软件
N
硬件
页号>=页表长度? Y 越界中断 N
CPU检索快表
页表项在快表中? Y N
访问页表
页在内存?
Y
修改快表
修改访问位和修改位
形成物理地址
地址变换结束
地址变换例题
❖ 某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定 某时刻系统为用户的第0、1、2、3页分别分配的物理块号为5、10、4、7, 试将虚拟地址0A5C和093C变换为物理地址。 解:虚拟地址为:页号(25=32)5位 页内位移(210=1024)10位
换出时需重写至外存。供置换页面时参考。
(4)外存地址:指出该页在外存上的地址。
一、请求分页中的硬件支持
2、缺页中断机构
在请求分页系统中,当访问的页不在内存, 便产生一缺页中断,请求OS将所缺页调入内存 空闲块,若无空闲块,则需置换某一页,同时修 改相应页表表目。
缺页中断与一般中断的区别:
(1)在指令执行期间产生和处理中断信 号。缺页中断要立即处理。
指程序在执行时呈现出局部性规律,即在一较短时间内,程序的执行仅限
第五章 虚拟存储器(1)要点
2020年9月29日星期二
第五章 虚拟存储器
5
✓一次性及驻留性带来的问题:
➢会使许多在进程运行时不用的或暂时不用的程 序(数据)占据大量的内存空间;
➢使一些需要运行的作业无法装入运行。
✓ 我们现在要研究的问题是:一次性及驻 留性是否是程序运行时所必需的?
2020年9月29日星期二
第五 虚拟存储器
2020年9月29日星期二
第五章 虚拟存储器
14
虚拟存储器实现
✓请求分页系统
➢在简单分页基础上,增加了请求调页功能、页 面置换功能。
➢置换时以页面为单位进行 ➢系统提供的硬件支持:
请求分页的页表机制; 缺页中断机构; 地址变换机构。
2020年9月29日星期二
第五章 虚拟存储器
15
虚拟存储器实现
✓请求分段系统
第五章 虚拟存储器
3
简单存储器管理方式,都要求将一个作 业全部装入内存方能运行。于是出现以下 两种情况:
➢有的作业很大,所要求的内存空间超过了内存 的总容量;
➢有大量的作业要求运行,但由于内存容量不足, 难以容纳所有的作业。
2020年9月29日星期二
第五章 虚拟存储器
4
虚拟存储器的引入
✓可以从两个方面解决上述问题: 1)从物理上增加内存容量; 2)从逻辑上扩充内存的容量。
21
✓ 建立在简单分页存储管理之上,是目前比 较常用的一种虚拟存储管理技术.
2020年9月29日星期二
第五章 虚拟存储器
22
硬件支持
✓页表机制
➢在请求分页系统中所需要的主要数据结构,仍 是页表。
➢基本作用:将用户地址空间中的逻辑地址变换 为内存空间的物理地址。
《操作系统》课件05 虚拟存储器
=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%;
虚拟存储器
1 1 1 1 1 1* 3* 3* 3 3
最优替换 OPT算法
2 2 2 2* 2 2 2 2 2
5次
5* 4 4 4 4 4 4
调入 调入 命中 调入 替换 命中 替换 命中 命中 命中
页式虚拟存储器替换策略
例1:一个程序共有5个页面组成,在程序执行过程中,页面地址流 如下, P1、 P2、 P1、 P5、 P4、 P1、 P3、 P4、 P2、 P4,假 设在程序执行过程中分配给这个程序的主存储器只有3个页面。
虚拟存储器
什么是虚拟存储器
虚拟存储器是建立在主存—辅存物理结构的基础之上,由附加的硬件 装置及操作系统存储管理软件组成的一种存储体系。
例如:一个只提供128M字节DRAM的计算机,可以用硬盘高效提供 2GB的存储。较大的2GB存储空间被称为虚拟存储器(virtual memory), 较小的128MB主存称为物理存储器(physical memory)
3、CPU访问Cache比访问慢速主存快5~10倍;而虚存中主存速度比辅 存快100~1000倍;
虚拟存储器与cache存储器比较
两者也有许多不同之处: 4、主存—cache体系中,CPU与二者都有直接的通路;而虚存中辅存
与CPU之间无直接通路(辅存向主存调块时间为ms级); 5、Cache存储器存取信息、地址变换和替换策略全部用硬件实现,因
虚拟存储器与cache存储器比较
两者也有许多不同之处: 1、Cache为了弥补速度差距;而虚存主要用来弥补容量差距; 2、两个存储体系均以信息块作为存储层次之间信息传送的单位,但
Cache与主存每次传送的信息块定长,常为几十个字节;而主存和 辅存之间即虚拟信息块的划分却有多种方案:页、段等,块长通 常为几百~几百K字节;
计算机操作系统第四版第5章虚拟存储器资料
5.2.1 硬件支持 缺页中断机构
缺页中断机构——每当所要访问的页面不在内存时,便要产 生缺页中断,请求操作系统将所缺的页面调入内存。
5.2.1 硬件支持 地址变换机构
地址变换机构(见P158图5-2)(在基本分页系统具有快表 的地址变换机构的基础上增加缺页处理功能)
• 在进行地址变换时,首先检索快表。 • 若找到,则直接用快表中给出的物理块号与逻辑地址中的页内地
址形成物理地址。 • 若未找到,则应去内存中查找页表(慢表),将有两种可能。
➢ 基于程序局部性原理,一个作业在运行之前,没有必要全部 装入内存,而仅将那些当前要运行的那部分页面或段先装入 内存,就可以启动运行。这样就可以使一个较大的程序在较 小的内存空间中运行,同时还可以装入更多的程序并发执行。 从用户角度来看,该系统所具有的内存容量比实际内存容量 大得多。通常把这样的存储器称为虚拟存储器。
缺页中断与一般中断的区别,在于在指令的执 行期间产生和处理中断信号,而且一条指令执 行期间,可能产生多次缺页中断(如: copy A to B )。
缺页中断的处理过程是,保留CPU现场,分析 中断原因,转入缺页中断处理程序进行处理; 从外存中找到缺的页面;若内存已满,则选择 一页换出;从外存读入缺页,写入内存,修改 页表;中断处理完成,恢复CPU现场。
➢ 所谓虚拟存储器是指仅把作业的一部分装入内存便可运行作 业的存储管理系统。它具有请求调入功能和置换功能,能从 逻辑上对内存容量进行扩充。其逻辑容量取决于内存与外存 的容量之和。其运行速度接近于内存,而其每位的成本却接 近于外存。
第5章 虚拟存储器管理
缺页次数为: 10次
缺页中断率: f = 10 / 12 = 83 %
+ +
+
+
= =
=
=
=
=
19
操 作 系 统
特点:
1)这种算法实现简单,只是在按线性顺序访问地址
空间时才是理想的,否则效率不高。特别是遇到循 环执行的程序段,往往把频繁重复访问的页面被周
第 五 章 虚 拟 存 储 器 管 理
期地选择为淘汰的对象。 2)存在Belady现象(缺页中断率随着被分配的页架 数的增加反而上升)。产生Belady现象的原因在于 该算法根本没有考虑程序执行的动态特征。
控制寄存器
操作系统
页表长度 页表始址
逻辑地址
P d
第 五 章 虚 拟 存 储 器 管 理
④
③
页表
页号 块号 存在位
① + ②
主存
P
… P’
1 0 P’
⑤
d
物理地址
9
操 作 系 统
①将当前指令中的逻辑地址分解为页号P和页内地址d。
②根据页号P查页表,判断该页是否在主存(该页“存在位”
是否为“0” ) ③若该页“存在位”为“1”( 该页不在主存),则产生缺
第 五 章 虚 拟 存 储 器 管 理
操 作 系 统
5.2 请求分页存储管理
一、请求分页技术基本思想
当一个用户(或进程)的程序调入系统运行时,只装入这 个用户程序的一部分页就启动运行。在运行的过程中,若发 现要访问的页不在内存,就向系统发出缺页中断请求,系统 处理中断时,把要求访问的页调入内存,然后继续运行。
最久未用的页。 2)如缺页中断刚巧发生在系统对所有引用位