第5章-虚拟存储器ppt课件
合集下载
计算机组成原理课件 虚拟存储器
4.2 虚拟存储器
例1:一个程序共有5个页面组成,分别为P1~P5。程序执行过程中的页地 址流(即程序执行中依次用到的页面)如下:P1,P2,P1,P5,P4,P1, P3,P4,P2,P4,假设分配给这个程序的主存储器共有3个页面。图中, 用"*"号标记下次将要被替换掉的页面。
4.2 虚拟存储器
内部地址变换:多用户虚拟地址Av变换成贮存实地址A 多用户虚拟地址中的页内偏移量D直接作为主存实地址中的页内偏移d 主存实页号p与它的页内偏移d直接拼接就得到主存是地址A
4.2 虚拟存储器
一个用户程序要访问虚拟存储器时,必须给出多用户虚拟地址Av。在操作系统和 有关硬件的共同管理下,首先进行内部地址变换。 如果变换成功(命中),得到主存实页号p。把主存实页号p与它的页内偏移d直 接拼接起来就得到主存实地址A,访问主存储器。 如果内部地址变换失败(未命中),表示要访问数据不在主存储器中,必须访问 磁盘存储器。这时,进行外部地址变换。 外部地址变换主要用软件实现,首先查外页表得到与虚页号P相对应的磁盘存储 器的实地址,然后再查内页表(主存实页表),看主存储器中是否有空页。如果主 存储器中还有空页,只要找到空页号。把磁盘存储器的实地址和主存储器的实页号 送入输入输出处理机(输入输出通道)等,在输入输出处理机的控制下,把要访问 数据所在的一整页都从磁盘存储器调入到主存储器。 如果主存储器中已经没有空页,则要采用某种页面替换算法,先把主存中暂时不 用的一页写回到磁盘存储器中原来的位置上,以便腾出空位置来存放新的页。 在进行外部地址变换时,如果没有命中,则表示所需要的页还不在磁盘存储器中。 这时,要在操作系统控制下,启动磁带机、光盘存储器等海量存储器,先把与所需 要数据相关的文件从海量存储器中调入磁盘存储器。
计算机操作系统课件:第5章存储器管理03-虚拟存储器
景
雨 换进和换出能有效地提高内存利用率。
虚拟性
指能够从逻辑上扩充内存容量,使用户所看到 的内存容量远大于实际内存容量。这是虚拟存储器 所表现出来的最重要的特征,也是实现虚拟存储器 的最重要的目标。
虚拟存储器的实现方法
虚拟存储器的实现建立在离散分配的存储器管
大 理方式的基础上。
外
软
件
学
院 |
# 分页虚拟存储管理方式
页面调度策略
大
虚拟存储器系统通常定义三种策略
外 软
来规定如何(何时)以及怎样进行页面
件
学
调度。
院
| |
☆ 调页策略
景
雨
☆ 内存分配及置换策略
☆ 页面置换算法
1.页面调入策略
虚拟存储器的调入策略决定采用什
大
外 软
么样的方式将所缺页面由外存调入到内
件
学
存之中。
院
|
|
景
两种常用调页策略:
雨
☆ 请求调页
学
院
时就会出现分配的内存物理块数增多,缺页
|
|
景
率反而提高的异常现象。
雨
Belady 现 象 的 原 因 : FIFO 算 法 的 置 换
特征与进程访问内存的动态特征是矛盾的,
即被置换的页面并不是进程不会访问的。
3.页面置换算法
2).先进先出算法 (FIFO)
大
外 例1:假定系统为某进程分配了三个物理块,一个
软
件 作业要依次访问如下页面:
学
院 |
0,1,2,3,0,1,4,0,
|
景 雨
1,2,3,4。请采用FIFO页面
虚拟存储器培训课件(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 缓冲管理
缓冲就是用来对数据传送速度不同的设备的传送速度进
行匹配/缓冲的一种常用手段。其实现方法除在关键
虚拟存储器课件
• 配备了联想寄存器的系统在每次地址变换时,根据页式地址中的页面号同时查 找主存页表和联想寄存器(转换后备缓冲区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
操作系统第5章存储管理3虚拟存储
举例:某进程依次访问如下地址:
0100,0432,0101,0612,0102,0103, 0104,0101,0611,0102,0103,0104, 0101,0610,0102,0103,0104,0101, 0609,0102,0105。若页面大小为100, 上述访问串可简化为: 1,4,1,6,1,6,1,6,1,6,1
4 0 3
2 3 4 2 0 4
是 是 是 是 否 是 是 是 是 是 是 否 否
7 0 1 2 3 0 4
结果:缺页次数共10次。
次序
页 面 分 配 情 况 是否 缺页 换出 的页
7
0
1 1
2 2
0
3 3
0 0
4 4
2 2
3 3
0 0
3
2
0
7 7
0
7
1
0
2
1
3
2
0
3
4
0
2
4
3
2
是 是 是 是 否 是 是 是 是 是 是 否 否 7 0 1 2 3 0 4
4 0 3
是 是 是 是 否 是 是 是 是
7 0 1 2
次序
7
0
1
2
0
3
0
4
2
3
0
3
2
页 面 分 配 情 况
是否 缺页 换出 的页
1 2 0 7 7 0 1 7 0
3 0 2 3 1 2
4 0 3
2 4 0
是 是 是 是 否 是 是 是 是 是
7 0 1 2 3
次序
7
0
1
2
0
3
0
组成原理课件 - 虚拟存储器
速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) 软件支持
5虚拟存储课件58页PPT
顺序读入后面的多个块,把可能需要的块提前读入供程序使用,这比需要哪块才去读哪
块显得更加有效些。程序启动时,一般采用预约式;程序启动后,可采用任意一种,目
. 前大多采用请求式。(2) 放置策略 主要是针对请求页式管理的,当要把所需的页面信息从辅存调入内存时,内存必
须要有空闲页。放置策略用来决定把所需要的页面存放到内存的哪个空闲页帧去。
(2) 空间局限性。一旦程序访问了某个存储单元,在不久 之后,其附近的存储单元也将被访问,即程序在一段时间内所 访问的地址,可能集中在一定的范围之内,其典型情况便是程 序的顺序执行。
(1)
2. 虚拟存储器
• 常规存储器管理方式的特征 常规存储管理方式要求将一个进程所需的程序和数据全部装入内存
方可执行。 这样的系统存在两个很严重的问题: 第一:对于大进程,如果其所需内存空间超过了内存的最大容量,
图:实现虚拟存储的典型过程
3. 虚拟存储要解决的问题
(1) 读取策略
. 指在程序运行过程中,何时把所需要的块调入内存的策略。 . 所谓“请求式”,指当访问需要某块里的信息、而这块当时又不在内
存时,才把这块从辅存换入内存
. 所谓“预约式”,是利用磁盘I/O操作中所具有的寻道时间和旋转延迟特性,一次
. 所谓“局部”替换策略,指只在分配给作业使用的帧里选择替换对象;所谓“全
5.4 Linux的存储管理
5.4.1 Linux存储管理的硬件基础 5.4.2 Linux多级页表的地址转换 5.4.3 内存空间的管理 5.4.4 管理虚拟存储空间的数据结构
5.1 请求页式虚拟存储管理基础
5.1.1 虚拟存储器
1. 程序执行的“局部性”原
. 程理序执行的“局部性”原理,是指程序在执行的某一时刻,并不是均匀地访问它的
块显得更加有效些。程序启动时,一般采用预约式;程序启动后,可采用任意一种,目
. 前大多采用请求式。(2) 放置策略 主要是针对请求页式管理的,当要把所需的页面信息从辅存调入内存时,内存必
须要有空闲页。放置策略用来决定把所需要的页面存放到内存的哪个空闲页帧去。
(2) 空间局限性。一旦程序访问了某个存储单元,在不久 之后,其附近的存储单元也将被访问,即程序在一段时间内所 访问的地址,可能集中在一定的范围之内,其典型情况便是程 序的顺序执行。
(1)
2. 虚拟存储器
• 常规存储器管理方式的特征 常规存储管理方式要求将一个进程所需的程序和数据全部装入内存
方可执行。 这样的系统存在两个很严重的问题: 第一:对于大进程,如果其所需内存空间超过了内存的最大容量,
图:实现虚拟存储的典型过程
3. 虚拟存储要解决的问题
(1) 读取策略
. 指在程序运行过程中,何时把所需要的块调入内存的策略。 . 所谓“请求式”,指当访问需要某块里的信息、而这块当时又不在内
存时,才把这块从辅存换入内存
. 所谓“预约式”,是利用磁盘I/O操作中所具有的寻道时间和旋转延迟特性,一次
. 所谓“局部”替换策略,指只在分配给作业使用的帧里选择替换对象;所谓“全
5.4 Linux的存储管理
5.4.1 Linux存储管理的硬件基础 5.4.2 Linux多级页表的地址转换 5.4.3 内存空间的管理 5.4.4 管理虚拟存储空间的数据结构
5.1 请求页式虚拟存储管理基础
5.1.1 虚拟存储器
1. 程序执行的“局部性”原
. 程理序执行的“局部性”原理,是指程序在执行的某一时刻,并不是均匀地访问它的
虚拟存储器
虚拟存储器源出于英国ATLAS计算机的一级存储器概念。这种系统的主存为16千字的磁芯存储器,但中央处 理器可用20位逻辑地址对主存寻址。到1970年,美国RCA公司研究成功虚拟存储器系统。IBM公司于1972年在 IBM370系统上全面采用了虚拟存储技术。虚拟存储器已成为计算机系统中非常重要的部分。
虚拟存储器
虚拟出一个容量极大的内存储器
01 作用
目录
02 设置
03 调整分页位置
04 使用技巧
05 相关
பைடு நூலகம்
06 替换方法
07 虚实地址
09 页式调度 011 段页式调度
目录
08 异构体系 010 段式调度 012 变换算法
虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能, 能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小 无关,而受限于计算机的地址结构和可用磁盘容量。根据所用的存储器映像算法,虚拟存储器管理方式主要有段 式、页式、和段页式三种。
虚拟存储器(2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值 设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。
相关
虚拟存储器
virtual memory
为了给用户提供更大的随机存取空间而采用的一种存储技术。它将内存与外存结合使用,好像有一个容量极 大的内存储器,工作速度接近于主存,每位成本又与辅存相近,在整机形成多层次存储系统。
如果你的硬盘够大,那就请你打开”控制面板“中的“系统”,在“性能”选项中打开“虚拟内存”,选择 第二项:用户自己设定虚拟内存设置,指向一个较少用的硬盘,并把最大值和最小值都设定为一个固定值,大小 为物理内存的2倍左右。这样,虚拟存储器在使用硬盘时,就不用迁就其忽大忽小的差别,而将固定的空间作为虚 拟内存,加快存取速度。虚拟内存的设置最好在“磁盘碎片整理”之后进行,这样虚拟内存就分布在一个连续的、 无碎片文件的空间上,可以更好的发挥作用。
虚拟存储器
虚拟出一个容量极大的内存储器
01 作用
目录
02 设置
03 调整分页位置
04 使用技巧
05 相关
பைடு நூலகம்
06 替换方法
07 虚实地址
09 页式调度 011 段页式调度
目录
08 异构体系 010 段式调度 012 变换算法
虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能, 能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小 无关,而受限于计算机的地址结构和可用磁盘容量。根据所用的存储器映像算法,虚拟存储器管理方式主要有段 式、页式、和段页式三种。
虚拟存储器(2)单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值 设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。
相关
虚拟存储器
virtual memory
为了给用户提供更大的随机存取空间而采用的一种存储技术。它将内存与外存结合使用,好像有一个容量极 大的内存储器,工作速度接近于主存,每位成本又与辅存相近,在整机形成多层次存储系统。
如果你的硬盘够大,那就请你打开”控制面板“中的“系统”,在“性能”选项中打开“虚拟内存”,选择 第二项:用户自己设定虚拟内存设置,指向一个较少用的硬盘,并把最大值和最小值都设定为一个固定值,大小 为物理内存的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%;
第五章存储器
②读写方式 RAM:随机存取存储器 ROM:只读存储器
上午3时16分
9
第五章 存储器
③读写顺序 SAM(sequential):顺序存取,存取时间与存储单元的物理 位置有关,如磁带。 RAM:随机存取,存取时间与存储单元的物理位置无关。 DAM(Director):直接存取,介于上述二者之间,如磁盘。
上午3时16分
29
第五章 存储器
⑶异步式 • 以上两种方式的结合,在2ms的时间内,把存储单元分散地
刷新一遍。
上例: 32×32阵,2ms/32=62.5 μs(每行刷新的平均间隔)
特点:折中,使用较多
另外,异步刷新方式还可以采取不定期刷新方式,可以在主机 不访存的时间内刷新,这种方式取消了机器的死区,但刷 新控制线路极其复杂。
上午3时16分
4
第五章 存储器
2、存取速度(存取时间、存取周期) 存取时间: (访问时间、读/写时间) • 指从启动一次存储器操作到完成该操作所经历的时间。 存取周期: (读写周期、访内周期) • 存储器从接受读/写命令信号始,将信息读出或写入后,到
接到下一个读/写命令为止所需的时间。 一般情况下,存取周期存取时间 ,为什么? • 因为对任何一种存储器,在读写操作之后,总要有一段恢
②写入态
• V字=1 ,使T3T4都导通
写1:VD=1,
V D
=0,VA=1,
VB=0
T1截止,T2导通
D
写0:VD=0,
V D
=1,VA=0, VB=
1
T1导通,T2截止
上午3时16分
D w
16
第五章 存储器
③读出态
V字=1 ,使T3T4都导通 读1:因原存1, T1截止,T2导通,
上午3时16分
9
第五章 存储器
③读写顺序 SAM(sequential):顺序存取,存取时间与存储单元的物理 位置有关,如磁带。 RAM:随机存取,存取时间与存储单元的物理位置无关。 DAM(Director):直接存取,介于上述二者之间,如磁盘。
上午3时16分
29
第五章 存储器
⑶异步式 • 以上两种方式的结合,在2ms的时间内,把存储单元分散地
刷新一遍。
上例: 32×32阵,2ms/32=62.5 μs(每行刷新的平均间隔)
特点:折中,使用较多
另外,异步刷新方式还可以采取不定期刷新方式,可以在主机 不访存的时间内刷新,这种方式取消了机器的死区,但刷 新控制线路极其复杂。
上午3时16分
4
第五章 存储器
2、存取速度(存取时间、存取周期) 存取时间: (访问时间、读/写时间) • 指从启动一次存储器操作到完成该操作所经历的时间。 存取周期: (读写周期、访内周期) • 存储器从接受读/写命令信号始,将信息读出或写入后,到
接到下一个读/写命令为止所需的时间。 一般情况下,存取周期存取时间 ,为什么? • 因为对任何一种存储器,在读写操作之后,总要有一段恢
②写入态
• V字=1 ,使T3T4都导通
写1:VD=1,
V D
=0,VA=1,
VB=0
T1截止,T2导通
D
写0:VD=0,
V D
=1,VA=0, VB=
1
T1导通,T2截止
上午3时16分
D w
16
第五章 存储器
③读出态
V字=1 ,使T3T4都导通 读1:因原存1, T1截止,T2导通,
操作系统原理第5章
24
第5章 存储管理
• 第二机会算法——Second-Chance Algorithm
分区的分配与回收
1. 固定分区的分配与回收 2. 动态分区的分配与回收 存储分配算法
首次适应算法——first fit algorithm 最佳适应算法——best fit algorithm 最差适应算法——worst fit algorithm 循环首次适应算法——Circular first fit algorithm 3. 动态分区的回收与拼接 4. 几种分配算法的比较
111100033333222
****
******
缺页率=12/17=70.6%
**
• Four Page Frames
70120304230321201
77777333333333222
0000004444444444
111111110000000
22222222221111
****
*
*
*
**
缺页率=9/17=52.9%
(NUR——Not Used Recently或者NRU——Not Recently Used)
引用位(1bit)
附加位(8bit)
若某页的移位寄存器的值为00000000,则该页在8个时间间 隔内没有被使用过。若某页的移位寄存器的值为11111111,则 该页在每个时间间隔内至少使用过1次。
若页A的移位寄存器的值为11000100,页B的移位寄存器的 值为01110111,则淘汰页B。
22
第5章 存储管理
First–In–First–Out (FIFO) Algorithm
• Three Page Frames
123412512345
第5章 存储管理
• 第二机会算法——Second-Chance Algorithm
分区的分配与回收
1. 固定分区的分配与回收 2. 动态分区的分配与回收 存储分配算法
首次适应算法——first fit algorithm 最佳适应算法——best fit algorithm 最差适应算法——worst fit algorithm 循环首次适应算法——Circular first fit algorithm 3. 动态分区的回收与拼接 4. 几种分配算法的比较
111100033333222
****
******
缺页率=12/17=70.6%
**
• Four Page Frames
70120304230321201
77777333333333222
0000004444444444
111111110000000
22222222221111
****
*
*
*
**
缺页率=9/17=52.9%
(NUR——Not Used Recently或者NRU——Not Recently Used)
引用位(1bit)
附加位(8bit)
若某页的移位寄存器的值为00000000,则该页在8个时间间 隔内没有被使用过。若某页的移位寄存器的值为11111111,则 该页在每个时间间隔内至少使用过1次。
若页A的移位寄存器的值为11000100,页B的移位寄存器的 值为01110111,则淘汰页B。
22
第5章 存储管理
First–In–First–Out (FIFO) Algorithm
• Three Page Frames
123412512345
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)有大量作业要求运行,但由于内存容量不足以容纳所 有这些作业,只能将少数作业装入内存让它们先运行,而 将其它大量的作业留在外存上等待。
.
5.1.1 常规存储器管理方式的特征和局部性原理 1.常规存储器管理方式的特征 (1)一次性
作业在运行前需一次性地全部装入内存,如果一次 性地装入其全部程序,也是一种对内存空间的浪费。
.
5.1.2 虚拟存储器的特征
虚拟存储器具有以下主要特征:
1.多次性 一个作业被分成多次调入内存运行,在作业
运行时只需将当前要运行的那部分程序和数据装 入内存即可;当要运行时尚未调入的那部分程序 时,再将它调入。
2.对换性 作业的运行过程中进行换进、换出,换进和
换出能有效地提高内存利用率。
3.虚拟性 虚拟性是指能够从逻辑上扩充内存容量,使
(2)驻留性
作业装入内存后,便一直驻留在内存中,直至作业 运行结束。尽管运行中的进程会因I/O而长期等待, 仍将继续占用宝贵的内存资源。
.
2.局部性原理
(1)程序执行时,除了少部分的转移和过程调用 指令外,在大多数情况下仍是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部分区 域转至另一部分区域,但经研究看出,过程调用 的深度在大多数情况下都不超过5层。这就是说, 程序将会在一段时间内都局限在这些过程的范围 内运行。
.
3.虚拟存储器定义
基于局部性原理,应用程序在运行之前,没有必 要全部装入内存,仅须将那些当前要运行的部分 页面或段先装入内存便可运行,其余部分暂留在 盘上。
所谓虚拟存储器:是指具有请求调入功能和置换 功能,能从逻辑上对内存容量加以扩充的一种存 储器系统,其逻辑容量由内存容量和外存容量之 和所决定,其运行速度接近于内存速度,而每位 的成本却又接近于外存。
(2)访问字段A:记录本页在一段时间内被访问 的次数,或记录本页最近已有多长时间未被访问, 供选择换出页面时参考。
(3)修改位M:该页在调入内存后是否被修改过, 供置换页面时参考,决定是否修改外存的该页面 副本。
(4)外存地址:用于指出该页在外存上的地址, 通常是物理块号,供调入该页时参考。
.
(1)请求分段的段表机制,这是在纯分段的段表 机制基础上增加若干项而形成的。
(2)缺段中断机构。当要访问的段尚未调入内存 时,便产生缺段中断,请求调段。
(3)地址变换机构。 实现请求调段和段的置换功能也须得到相应的软
件支持。
.
本章内容
5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集 5.5 请求分段存储管理方式
①实现请求调页的软件
②实现页面置换的软件
.
2.请求分段系统
在分段基础上,增加请求调段及分段置换 功能后形成。
允许只装入若干段的用户程序和数据,即 可启动运行。以后再通过调段功能和段的 置换功能,将暂不运行的段调出,同时调 入即将运行的段。
以段为单位进行。
.
2.请求分段系统(续)
为了实现请求分段,系统同样需要必要的硬件 支持。一般需要下列支持:
2.缺页中断机构
在请求分页系统中,每当所要访问的页面不在内 存时,便产生一缺页中断,请求OS将所缺之页调 入内存。
缺页中断作为中断有同样经历:保护CPU环境, 分析中断原因,转入缺页中断处理程序执行,恢 复CPU环境等几个阶段。
.
2.缺页中断机构
缺页中断又是一种特殊的中断, 它与一般的中断相比,有着明 显的区别,主要表现在下面两 个方面:
.
(3)程序中存在许多循环结构,这些虽然只 由少数指令构成,但是它们将多次执行。
(4)程序中还包括许多对数据结构的处理, 如对数组进行操作,它们往往都局限于很 小的范围内。
.
局限性又表现在下述两个方面:
(1)时间局限性。 产生时间局限性的典型原因,是由于在程序中存 在着大量的循环操作。
(2)空间局限性。 一旦程序访问了某个存储单元,在不久之后,其 附近的存储单元也将被访问,即程序在一段时间 内所访问的地址,可能集中在一定的范围之内, 其典型情况便是程序的顺序执行。
置换时以页面为单位。
.
1.分页请求系统
为了能实现请求调页和置换功能,系统必须提供 必要的硬件支持和相应的软件: (1)硬件支持
①请求分页的页表机制上增加若干项,作为请求 分页的数据结构;②缺页中断机构:当要访问的页面 尚未调入内存时,便产生缺页中断,请求调页;③地 址变换机构. (2)实现请求分页的软件
用户所看到的内存容量远. 大于实际内存容量。
5.1.3 虚拟存储器的实现方法
1.分页请求系统
在分页系统的基础上,增加了请求调页功能和页 面置换功能所形成的页式虚拟存储系统。
允许只装入部分页面的程序(及数据),便启动 运行。
以后,再通过调页功能及页面置换功能,陆续地 把即将要运行的页面调入内存,同时把暂不运行 的页面换出到外存上。
计算机操作系统
第五章 虚拟存储器
.
本章内容
5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集 5.5 请求分段存储管理方式
.
5.1 虚拟存储器概述
前面所介绍的各种存储器管理方式,出现了下面 这样两种情况:
(1)有的作业很大,其所要求的内存空间超过了内存总容 量,作业不能全部被装入内存,致使该作业无法运行。
.
1.页表机制
在请求分页系统中所需要的主要数据结构是 页表。实现逻辑地址与物理地址的变换。
在请求分页系统中的每个页表项如下所示:
页号 物理块号 状态位P 访问字段A 修改位M 外存地址
.
页号 物理块号 状态位P 访问字段A 修改位M 外存地址
(1)状态位P:指示该页是否调入内存,供程序 访问时参考。
(1)在指令执行期间产生和处 理中断信号。
(2)一条指令在执行期间,可 能产生多次缺页中断。如图:
.
5.2 请求分页存储管理方式
请求分页系统是建立在基本分页基础上的,为了 能支持虚拟存储器功能而增加了请求调页功能和 页面置换功能。
5.2.1 请求分页中的硬件支持
为了实现请求分页,系统必须提供一定的硬件支 持。除了需要一台具有一定容量的内存及外存的 计算机系统外,还需要有页表机制、缺页中断机 构以及地址变换机构。
.
5.1.1 常规存储器管理方式的特征和局部性原理 1.常规存储器管理方式的特征 (1)一次性
作业在运行前需一次性地全部装入内存,如果一次 性地装入其全部程序,也是一种对内存空间的浪费。
.
5.1.2 虚拟存储器的特征
虚拟存储器具有以下主要特征:
1.多次性 一个作业被分成多次调入内存运行,在作业
运行时只需将当前要运行的那部分程序和数据装 入内存即可;当要运行时尚未调入的那部分程序 时,再将它调入。
2.对换性 作业的运行过程中进行换进、换出,换进和
换出能有效地提高内存利用率。
3.虚拟性 虚拟性是指能够从逻辑上扩充内存容量,使
(2)驻留性
作业装入内存后,便一直驻留在内存中,直至作业 运行结束。尽管运行中的进程会因I/O而长期等待, 仍将继续占用宝贵的内存资源。
.
2.局部性原理
(1)程序执行时,除了少部分的转移和过程调用 指令外,在大多数情况下仍是顺序执行的。
(2)过程调用将会使程序的执行轨迹由一部分区 域转至另一部分区域,但经研究看出,过程调用 的深度在大多数情况下都不超过5层。这就是说, 程序将会在一段时间内都局限在这些过程的范围 内运行。
.
3.虚拟存储器定义
基于局部性原理,应用程序在运行之前,没有必 要全部装入内存,仅须将那些当前要运行的部分 页面或段先装入内存便可运行,其余部分暂留在 盘上。
所谓虚拟存储器:是指具有请求调入功能和置换 功能,能从逻辑上对内存容量加以扩充的一种存 储器系统,其逻辑容量由内存容量和外存容量之 和所决定,其运行速度接近于内存速度,而每位 的成本却又接近于外存。
(2)访问字段A:记录本页在一段时间内被访问 的次数,或记录本页最近已有多长时间未被访问, 供选择换出页面时参考。
(3)修改位M:该页在调入内存后是否被修改过, 供置换页面时参考,决定是否修改外存的该页面 副本。
(4)外存地址:用于指出该页在外存上的地址, 通常是物理块号,供调入该页时参考。
.
(1)请求分段的段表机制,这是在纯分段的段表 机制基础上增加若干项而形成的。
(2)缺段中断机构。当要访问的段尚未调入内存 时,便产生缺段中断,请求调段。
(3)地址变换机构。 实现请求调段和段的置换功能也须得到相应的软
件支持。
.
本章内容
5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集 5.5 请求分段存储管理方式
①实现请求调页的软件
②实现页面置换的软件
.
2.请求分段系统
在分段基础上,增加请求调段及分段置换 功能后形成。
允许只装入若干段的用户程序和数据,即 可启动运行。以后再通过调段功能和段的 置换功能,将暂不运行的段调出,同时调 入即将运行的段。
以段为单位进行。
.
2.请求分段系统(续)
为了实现请求分段,系统同样需要必要的硬件 支持。一般需要下列支持:
2.缺页中断机构
在请求分页系统中,每当所要访问的页面不在内 存时,便产生一缺页中断,请求OS将所缺之页调 入内存。
缺页中断作为中断有同样经历:保护CPU环境, 分析中断原因,转入缺页中断处理程序执行,恢 复CPU环境等几个阶段。
.
2.缺页中断机构
缺页中断又是一种特殊的中断, 它与一般的中断相比,有着明 显的区别,主要表现在下面两 个方面:
.
(3)程序中存在许多循环结构,这些虽然只 由少数指令构成,但是它们将多次执行。
(4)程序中还包括许多对数据结构的处理, 如对数组进行操作,它们往往都局限于很 小的范围内。
.
局限性又表现在下述两个方面:
(1)时间局限性。 产生时间局限性的典型原因,是由于在程序中存 在着大量的循环操作。
(2)空间局限性。 一旦程序访问了某个存储单元,在不久之后,其 附近的存储单元也将被访问,即程序在一段时间 内所访问的地址,可能集中在一定的范围之内, 其典型情况便是程序的顺序执行。
置换时以页面为单位。
.
1.分页请求系统
为了能实现请求调页和置换功能,系统必须提供 必要的硬件支持和相应的软件: (1)硬件支持
①请求分页的页表机制上增加若干项,作为请求 分页的数据结构;②缺页中断机构:当要访问的页面 尚未调入内存时,便产生缺页中断,请求调页;③地 址变换机构. (2)实现请求分页的软件
用户所看到的内存容量远. 大于实际内存容量。
5.1.3 虚拟存储器的实现方法
1.分页请求系统
在分页系统的基础上,增加了请求调页功能和页 面置换功能所形成的页式虚拟存储系统。
允许只装入部分页面的程序(及数据),便启动 运行。
以后,再通过调页功能及页面置换功能,陆续地 把即将要运行的页面调入内存,同时把暂不运行 的页面换出到外存上。
计算机操作系统
第五章 虚拟存储器
.
本章内容
5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集 5.5 请求分段存储管理方式
.
5.1 虚拟存储器概述
前面所介绍的各种存储器管理方式,出现了下面 这样两种情况:
(1)有的作业很大,其所要求的内存空间超过了内存总容 量,作业不能全部被装入内存,致使该作业无法运行。
.
1.页表机制
在请求分页系统中所需要的主要数据结构是 页表。实现逻辑地址与物理地址的变换。
在请求分页系统中的每个页表项如下所示:
页号 物理块号 状态位P 访问字段A 修改位M 外存地址
.
页号 物理块号 状态位P 访问字段A 修改位M 外存地址
(1)状态位P:指示该页是否调入内存,供程序 访问时参考。
(1)在指令执行期间产生和处 理中断信号。
(2)一条指令在执行期间,可 能产生多次缺页中断。如图:
.
5.2 请求分页存储管理方式
请求分页系统是建立在基本分页基础上的,为了 能支持虚拟存储器功能而增加了请求调页功能和 页面置换功能。
5.2.1 请求分页中的硬件支持
为了实现请求分页,系统必须提供一定的硬件支 持。除了需要一台具有一定容量的内存及外存的 计算机系统外,还需要有页表机制、缺页中断机 构以及地址变换机构。