第五章 虚拟存储器
计算机组成原理课件 虚拟存储器

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相对应的磁盘存储 器的实地址,然后再查内页表(主存实页表),看主存储器中是否有空页。如果主 存储器中还有空页,只要找到空页号。把磁盘存储器的实地址和主存储器的实页号 送入输入输出处理机(输入输出通道)等,在输入输出处理机的控制下,把要访问 数据所在的一整页都从磁盘存储器调入到主存储器。 如果主存储器中已经没有空页,则要采用某种页面替换算法,先把主存中暂时不 用的一页写回到磁盘存储器中原来的位置上,以便腾出空位置来存放新的页。 在进行外部地址变换时,如果没有命中,则表示所需要的页还不在磁盘存储器中。 这时,要在操作系统控制下,启动磁带机、光盘存储器等海量存储器,先把与所需 要数据相关的文件从海量存储器中调入磁盘存储器。
计算机虚拟存储器思维导图

改进型——增加对修改位M思维判断
lo 置换算法(对访问位A的判断)
空闲页面链表
页面缓冲算法( A,pa
n
修改页面链表
lg i )
页面置换算法
格式:页号+物理块号+状态位P+访问字段A+修 改位M+外存地址
请求页表机制 缺页中断机构
硬件
地址变换机构(过程图很关键)
即能保证进程正常运行所需的最小物理块数
离散性
指在内存分配时采用离散的分配方式,它是虚拟 存储器的实现的基础
多次性
指一个作业被分成多次调入内存运行,即在作业 运行时没有必要将其全部装入,只须将当前要运 行的那部分程序和数据装入内存即可。多次性是 虚拟存储器最重要的特征
对换性 虚ቤተ መጻሕፍቲ ባይዱ性
指允许在作业的运行过程中在内存和外存的对换 区之间换进、换出。
即刚被换出的页很快又要被访问,需要将它重新 调入,此时又需要再选一页调出
抖动的概念
最佳置换算法(需要预知后面进程,所以不能实 现)
选择在内存中驻留时间最久的页面予以淘汰
先进先出页面置换算法( I O)
寄存器支持 特殊的栈结构
最近最久未使用置换算法(L U)Re n
最少使用置换算法(L U)F e n
系统应该从何处调入这些页面
页面调入策略
页面调入过程
缺页率(出计算题)
请求分段的段表机构
缺段中断机构
硬件
请求分段系统
地址变换机构
虚拟存储器的实现方式
第五章:虚拟存储器
常规存储管理方式的特征
一次性 驻留性
局部性原理
虚拟存储器的基本概念

虚拟存储器是为扩大主存而采用 的一种设计技巧,它的容量与主存大 小无直接关系,而受限于计算机的地 址结构及可用的辅助存储器的容量。
12
4. 虚拟存储器的容量
• 1一个虚拟存储器的最大容量是由计算机 的 地 址 结 构 确 定 的 。 如 : 若 CPU 的 有 效 地址长度为32位,则程序可以寻址范围 是0~(2^32)-1 ,即虚存容量为 4GB。
9
第三,很少出现连续的过程调用,相反, 程序中过程调用的深度限制在小范围 内,一段时间内,指令引用被局限在 很少几个过程中。
第四,对于连续访问数组之类的数据结 构,往往是对存储区域中相邻位置的 数据的操作。
第五,程序中有些部分是彼此互斥的, 不是每次运行时都用到的,如出错处 理程序。
10
3.虚拟存储器的定义: 在具有层次结构存储器的计算机系统中, 具有请求调入功能和置换功能,能从逻辑 上对内存容量进行扩充的存储器系统, 为用户提供一个比物理主存容量大得多 的,可寻址的一种“主存储器”。
7
5. 局部性原理
• 程序局部性原理 在一段时间内一个程序的执行往往呈现出 高度的局部性,表现在时间与空间两方面
• 时间局部性: 一条指令被执行了,则在不久的将来它可 能再被执行
• 空间局部性: 若某一存储单元被使用,则在一定时间
内,与该存储单元相邻的单元可能被使用
8
第一,程序中只有少量分支和过程调用, 大都是顺序执行的指令。 第二,程序包含若干循环,是由相对 较少的指令组成,在循环过程中,计 算被限制在程序中很小的相邻部分中。
• 2虚拟存储器的容量与主存的实际大小没 有直接的关系,而是由主存与辅存的容量 之和所确定。
13
虚拟存储管理主要采用以下技 术实现:
OS第五章

2. 动态分区时的分配与回收 动态分区时的分配方法从可用表或自由链中寻找 空闲区的常用方法(算法)有三种: ①最先适应法(first fit algorithm,FF)
②最佳适应法(best fit algorithm,BF)
③最坏适应法(worst fit algorithm,WF)
(1) 最先适应法——FF 也称为首次适应算法。
结构:
(1) 分配结构:登记内存使用情况,供分配程序使用
的表格与链表。如内存空闲区表、空闲区队列等。
(2) 放置策略:确定调入内存的程序和数据在内存 中的位置。这是一种选择内存空闲区的策略。
(3) 交换策略:在需要将某个程序段和数据调入内 存时,如果内存中没有足够的空闲区,由交换策 略来确定把内存中的哪些程序段和数据段调出内 存,以便腾出足够的空间。 (4) 调入策略:外存中的程序段和数据段什么时间 按什么样的控制方式进入内存。调入策略与本节 中所述内外存数据流动控制方式有关。
动态重定位的主要优点有:
(1) 可以对内存进行非连续分配。 (2) 动态重定位提供了实现虚拟存储器的基础。 (3) 有利于程序段的共享。
动态重定位的具体过程是:
(4) 地址变换机构把VR和BR的内容相加,得到实际 (3) 在程序执行过程中,将所要访问的虚拟地址送 (2) 设置基地址寄存器BR,虚拟地址寄存器VR。 (1) 将程序段装入内存,且将其占用的内存区首地址 访问的物理地址。 入VR中,例如在下图中执行LOAD A 500语句时, 送BR中。例如,在下图中,(BR)=1000。 将所要访问的虚拟地址500放入VR中。
1、虚拟存储器 2、地址变换 3、内外存数据传输的控制 4、内存的分配与回收 5、内存信息的共享与保护
5.1.1 虚拟存储器
现代操作系统安德鲁课后题答案第五章

现代操作系统安德鲁课后题答案第五章
1. 在计算机硬件中,中央处理器单元(CPU)负责什么?
中央处理器单元(CPU)是计算机硬件中最重要的部件,负责对输入的指令和数据执行操作、处理数据以及控制计算机硬件和软件进行交互。
2. 应用程序通常包含哪些组成部分?
应用程序通常由用户界面、输入处理、核心功能和输出处理等几个部分组成。
用户界面图形类型能够让用户与计算机进行交互;输入处理对输入的指令进行解释;核心功能根据使用者的要求执行操作;输出处理显示结果给用户。
3. 虚拟存储器是什么?
虚拟存储器是一种计算机存储技术,它使得应用程序可以运行在一个体积更大的存储空间中,而不会与实际可用的物理内存空间发生冲突。
通过使用虚拟存储器,应用程序可以更灵活地使用内存,可以处理更大的数据量。
4. 中断是什么?
中断是指计算机遇到的某种外部输入或者硬件错误时,发出的中
断请求,以此来卸载CPU的工作状态,重新定位中断程序,以响应这
种外部输入或者硬件错误。
中断可以将计算机从一种状态转换到另一
个状态,从而在特殊环境下完成某些程序,例如:处理设备控制命令,更新显示器,处理磁盘输入和输出等等。
5. 什么是并行处理?
并行处理是一种技术,它能够在多个设备(通常是多个计算机)
上同时运行几个任务。
它的原理是,将原本要完成的复杂任务分解成
多个小任务,将这些小任务分发给多个设备,各个设备独立执行任务,最后将结果统一输出,从而达到有效率地完成工作的目的。
第5章 教案4

第五章存储系统5.2 内存储器一、教学目标:1.了解高速缓冲存储器的概念2. 掌握各种地址映象3. 了解虚拟存储器二、教学重点、难点高速缓冲存储器,虚拟存储器三、教学方法教师讲解,学生思考、记忆;教与学对应的全链式教学法四、教具使用计算机一台、多媒体幻灯片演示五、教学内容与过程导入:提问:分析4种ROM的特点?学生思考、看书、回答;教师总结归4种ROM的特点,进入教学课题。
讲授新课:(多媒体幻灯片演示和板书)5.2.3 高速缓冲存储器1.高速缓存(Cache——主存存储层次)提问:高速缓存的作用?采用任务驱动法教师带领学生思考、看书、回答教师总结:高速缓冲存储器Cache,可以设置在CUP内部,它与运算和控制部件距离较近,工作过程完全由硬件电路控制,因此数据的存取速度很快,一般速度高出内存数倍。
Cache容量较小,大都在1MB以下。
在计算机运行时,Cache用来存放当前正在执行的程序(段)或正在处理的数据。
⑴高速缓冲存储器的必要性教材图5-18所示。
Cache控制器将来自CPU的数据读写请求,转向Cache存储器,如果数据在Cache中,则CPU对Cache进行操作,称为一次命中,命中时,CPU从Cache中读(写)数据。
由于Cache速度与CPU速度相匹配,因此不需要插入等待状态,CPU处于零等待状态,当CPU与Cache达到了同步,因此有时称高速缓存为同步Cache。
若数据不在Cache中,则CPU对主存操作,称为一次失败。
失败时,CPU必须在机器周期中插入等待周期。
目前Cache 存储器容量主要有256KB等。
这些大容量的Cache存储器,使CPU访问命中率高达90%至98%,大大地提高了CPU访问数据的速度,提高了系统的性能。
由此可见,从CPU的角度看,这种Cache—主存层次的速度接近于Cache,容量与每位价格则接近于主存,因此解决了速度与成本之间的矛盾。
(2)高速缓冲存储器的可行性对大量的典型程序的运行情况分析结果表明,在一个较短的时间内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。
计算机操作系统教程(张尧学(第三版)第五章
精品课程系列-计算机学院版权所有
关于动态地址重定位可以如下图所示的过程说明:
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
用户程序的虚地址空间 0 100 1KB 0 内存 基地址寄存器 操作系统 22628 22KB 22528
XXXXX
20KB 22KB 22KB+100 XXXXXX
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
精品课程系列-计算机学院版权所有
动态地址重定位
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
动态地址重定位是在程序执行过程中,在CPU访问 内存之前,将要访问的程序或数据地址转换成内存地 址。动态地址重定位依靠硬件地址变换机构完成。
硬件地址转换机构一般由一个“基地址寄存器” 和一个“虚地址寄存器”组成,用户程序不做任何修 改地装入分配给它的存储区域。当调度到用户程序运 行时,则转换成实际的物理地址。
精品课程系列-计算机学院版权所有
分区的分配与释放
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
分区的分配: 若采用的是一个队列的管理方案,则当一个分区被释放时, 需要在队列中选出一个作业运行,可以有以下几种方案: (1)选出第一个可容纳的作业。该方案虽然实现简单,选择 率高,但是可能会因为一个小作业进入而浪费掉该分区的大部分 存储空间,存储利用率不高。 (2)在队列中找出该分区能容纳的最大的作业。由于每个分 配出的分区产生出的内部碎片小,因此,此方案存储空间的利用 率高;缺点是对小作业不公平。
22kb10022kb300023kbd图51地址变换示意图郭平王在模何静媛其中程序a中的一条入口地址为3000的一条指令为call100其中程序a中的一条入口地址为3000的一条指令为call100在装入内存之后由于程序的起始地址不再为0故程序中的指令需要做相应的转换
操作系统第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
虚拟存储器附答案
第五章虚拟存储器一、单项选择题1. 虚拟存储器的最大容量___。
*A. 为内外存容量之和 B. 由计算机的地址结构决定(((实际容量C. 是任意的D. 由作业的地址空间决定虚拟存储器是利用程序的局部性原理,一个作业在运行之前,没有必要全部装入内存,而只将当前要运行那部分页面或段装入便可以运行,其他部分放在外部存储器内,需要时再从外存调入内存中运行,首先它的容量必然受到外存容量的限制,其次寻址空间要受到计算机地址总线宽度限制。
最大容量(逻辑容量)收内外存容量之和决定,实际容量受地址结构决定。
2.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1﹑2﹑3﹑4﹑1﹑2﹑5﹑1﹑2﹑3﹑4﹑5﹑6时,将产生___次缺页中断。
(开始为空,内存中无页面,3块物理块一开始会发生三次缺页。
)A. 7B. 8C. 9D. 103. 实现虚拟存储器的目的是___.A.实现存储保护B.实现程序浮动C.扩充辅存容量D.扩充主存容量4. 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行___指令.(书本158页,(2)最后一句话)A.被中断的前一条B.被中断的C.被中断的后一条D.启动时的第一条5.在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数________。
(在最后一题做完后再作答)答案错误选择:DA.减少 B. 增加 C. 无影响 D. 可能增加也可能减少6. 虚拟存储管理系统的基础是程序的________理论.A. 局部性B. 全局性C. 动态性D.虚拟性7. 下述_______页面淘汰算法会产生Belady现象.A. 先进先出*B. 最近最少使用C. 最近不经常使用D. 最佳所谓Belady现象是指:在分页式虚拟存储器管理中,发生缺页时的置换算法采用FIFO(先进先出)算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。
操作系统第五章虚拟存储器-答案
操作系统第五章复习题一、选择题1、虚拟存储器功能的管理方法包括()。
A 可变分区存储管理B 基本分页存储管理C 请求分段存储管理D 段页式存储管理2、虚拟存储器的最大容量()。
A 由作业的地址空间决定B 是任意的C 由计算机的地址结构决定的D 为内、外容量之和3、下面的页面置换算法中会产生所谓Belady 异常现象的是()。
A 最佳页面置换算法(OPT)B 先进先出页面置换算法(FIFO)C 最近最久未使用页面置换算法(LRU)D 最少使用页面置换算法(LFU)4、实现虚拟存储器的目的是()。
A 实现存储保护B 实现程序浮动C 扩充辅存容量D 扩充内存容量5、把作业地址空间使用的逻辑地址变成内存物理地址为()。
A 加载B 重定位C 物理化D 逻辑化6、虚拟存储管理系统的基础是程序的()理论。
A 局部性B 全局性C 动态性D 虚拟性7、从下列关于非虚拟存储器的论叙中,选出一条正确的论叙。
()A 要求作业在运行前,必须全部装入内存,且在运行过程中也必须一直驻留内存。
B 要求作业在运行前,不必全部装入内存,且在运行过程中不必一直驻留内存。
C 要求作业在运行前,不必全部装入内存,但在运行过程中必须一直驻留内存。
D 要求作业在运行前,必须全部装入内存,且在运行过程中不必一直驻留内存。
二、判断题1、虚拟存储器时物理上扩充内存容量。
(F )2、为提高请求分页系统中内存的利用率,允许用户使用不同大小的页面。
(F )3、在请求分页式系统中,以页为单位管理用户的虚空间,以段为单位管理内存空间。
(F )三、填空题1、在页式存储器管理系统中,常用的页面淘汰算法有:(最佳),选择淘汰不再使用或最远的将来才使用的页;( FIFO),选择淘汰在内存驻留时间最长的页;2、在请求分页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起(越界中断);否则,若所需的页不在内存中,则会引起(缺页中断)。
四、简答题1、虚拟存储器有哪些特征?其中最本质的特征是什么?2、实现虚拟存储器需要哪些硬件支持?3、说明请求分段系统中的缺页中断处理过程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
2.先进先出算法(FIFO算法) 这种算法的基本思想是:总是先淘汰那些驻留在内 存时间最长的页,即先进入内存的页先被置换掉 。理由是:最先进入内存的页不再被访问的可能 性最大。
下一页
图5-4 利用FIFO置换算法时的置换图
24
【例 1】主存块数 m=3 ,置换算法采用 FIFO 算法, 缺页中断次数及缺页率如图所示。 在图中,P行表示页面走向,M行表示在主存中的 页面号,其中带有+的表示新调入页面,在M行的 各列按调入的顺序排列,带有圆圈的数字表示下 一时刻将被淘汰页面,F行表示是否引起缺页中 断,带√号的表示引起缺页中断。
页号 物理块号 状态位 P 访问字段 A 修改位 M 外存地址
2. 缺页中断机构 (1) 在指令执行期间产生和处理中断信号。 (2) 一条指令在执行期间可能产生多次缺页中断 。
13
3. 地址变换机构 请求分页系统中的地址变换机构是在分页系 统地址变换机构的基础上,为实现虚拟存储器, 再增加了某些功能所形成的,如产生和处理缺页 中断,以及从内存中换出一页的功能等等。
5.5 请求分段存储管理方式
5.5.1 请求分段中的硬件支持 为了实现请求分段式存储管理,应在系统中 配置多种硬件机构,以支持快速地完成请求分段 功能。 1. 请求段表机制
段名 段长
段基址 存取方式 访问字段 A 修改位 M 存在位 P 增补位
外存始址
34
2. 缺段中断机构
35
习题
1、在请求页式存储管理中,若所需页面不在内存中,则会引起 ( ). A,输入输出中断 B,时钟中断 C,越界中断 D,缺页中断 2、在请求分页系统中,LRU算法是指( ). A,最早进入内存的页先淘汰 B,近期最长时间以来没被访问的页先淘汰 C,近期被访问次数最少的页先淘汰 D,以后再也不用的页先淘汰 3、请求分页存储管理中,若把作业使用的页面数增加一倍,在 程序顺序执行时,则缺页中断次数会( ). A,增加 B,减少 C,不变 D,可能增加也可能减少
6
3. 虚拟存储器的基本工作情况 基于局部性原理可知,应用程序在运行之前 没有必要将之全部装入内存,而仅须将那些当前 要运行的少数页面或段先装入内存便可运行,其 余部分暂留在盘上。
7
5.1.2 虚拟存储器的定义和特征
1. 虚拟存储器的定义 当用户看到自己的程序能在系统中正常运行 时,他会认为,该系统所具有的内存容量一定比 自己的程序大,或者说,用户所感觉到的内存容 量会比实际内存容量大得多。但用户所看到的大 容量只是一种错觉,是虚的,故人们把这样的存 储器称为虚拟存储器。
18
2. 缺页率 假设一个进程的逻辑空间为n页,系统为其 分配的内存物理块数为m(m≤n)。如果在进程的 运行过程中,访问页面成功(即所访问页面在内存 中)的次数为S,访问页面失败(即所访问页面不在 内存中,需要从外存调入)的次数为F,则该进程 总的页面访问次数为A = S + F,那么该进程在其 运行过程中的缺页率即为
第5章 虚拟存储器
5.1 虚拟存储器概述
5.2 请求分页存储管理方式
5.3 页面置换算法 5.4 “抖动”与工作集 5.5 请求分段存储管理方式 习题
2
5.1 虚拟存储器概述
第四章所介绍的各种存储器管理方式有一个共 同的特点,即它们都要求将一个作业全部装入内存 后方能运行。于是,出现了下面这样两种情况: (1) 有的作业很大,其所要求的内存空间超过了 内存总容量,作业不能全部被装入内存,致使该作 业无法运行; (2) 有大量作业要求运行,但由于内存容量不足 以容纳所有这些作业,只能将少数作业装入内存让 它们先运行,而将其它大量的作业留在外存上等待 。
16
5.2.3 页面调入策略
为使进程能够正常运行,必须事先将要执行的 那部分程序和数据所在的页面调入内存。现在的 问题是: (1) 系统应在何时调入所需页面; (2) 系统应从何处调入这些页面; (3) 是如何进行调入的。
17
1. 何时调入页面 (1) 预调页策略。 (2) 请求调页策略。 当进程在运行过程中需要访问某部分程序和数 据时,若发现其所在的页面不在内存,便立即提 出请求,由OS将其所需页面调入内存。由请求调 页策略所确定的页是一定会被访问 的,再加之请 求调页策略比较易于实现,故在目前 的虚拟存储 器中,大多采用该策略。
下一页
图5-5
LRU页面置换算法
30
【例 3】设 m=3 ,采用 LRU 算法,缺页中断次数 及缺页率如图所示。
缺页率: 10/12=83% 下一页
【例4】设m=4,其余同例3,则缺页中断次数及 缺页率如图所示。
缺页率:7/12=58%
返回本节
练习
如果一个作业在执行过程中,按下列的页号依 次访问主存:1,2,3,4,2,1,5,6,2,1, 2,3,7,6,3,2,1,2,3,6。作业固定占 用 4 个内存页面(块),试问分别采用FIFO、LRU 算法时,各产生多少次缺页中断?并计算相应的 缺页中断率,并图示访问示意图。
10
5.1.3 虚拟存储器的实现方法
1. 分页请求系统 2. 请求分段系统
11
5.2
5.2.1
请求分页存储管理方式
请求分页中的硬件支持 为了实现请求分页,系统必须提供一定的硬 件支持。计算机系统除了要求一定容量的内存和 外存外,还需要有请求页表机制、缺页中断机构 以及地址变换机构。
12
1. 请求页表机制 在请求分页系统中的每个页表应含以下诸项:
F f A
19
5.3 页面置换算法
在进程运行过程中,若其所要访问的页面不在内存 ,而需把它们调入内存,但内存已无空闲空间时 ,为了保证该进程能正常运行,系统必须从内存 中调出一页程序或数据送到磁盘的对换区中。但 应将哪个页面调出,须根据一定的算法来确定。 通常,把选择换出页面的算法称为页面置换算法
3.最近最久未使用页面置换算法 (LRU——Least Recently Used算法)
这种算法的基本思想是,如果某一页被访问了,那么它很 可能马上又被访问;反之,如果某一页很长时间没有被访 问,那么最近也不太可能会被访问。这种算法考虑了程序 设计的局部性原理。其实质是,当需要置换一页时,选择 在最近一段时间最久未使用的页面予以淘汰。 实现这种算法可通过周期性地对“引用位”进行检查,并利 用它来记录一页面自上次被访问以来所经历的时间t,淘 汰时选择t最大的页面。
37
3
5.1.1 常规存储管理方式的特征和局部性原理 1. 常规存储器管理方式的特征 我们把前一章中所介绍的各种存储器管理方 式统称为传统存储器管理方式,它们全都具有如 下两个共同的特征: (1) 一次性 (2) 驻留性
4
2. 局部性原理 程序运行时存在的局部性现象,很早就已被 人发现,但直到1968年,P.Denning才真正指出 :程序在执行时将呈现出局部性规律,即在一较 短的时间内,程序的执行仅局限于某个部分,相 应地,它所访问的存储空间也局限于某个区域。
1. 最佳置换算法 2. 先进先出置换算法 3. LRU(最近最少使用)置换算法 4.最少使用算法 5.Clock算法
21
1. 最佳(Optimal)置换算法 最佳置换算法是由Belady于1966年提出的一种理 论上的算法。其所选择的被淘汰页面将是以后永 不使用的,或许是在最长(未来)时间内不再被访 问的页面。采用最佳置换算法通常可保证获得最 低的缺页率。但由于人们目前还无法预知,一个 进程在内存的若干个页面中,哪一个页面是未来 最长时间内不再被访问的,因而该算法是无法实 现的,但可以利用该算法去评价其它算法。
36
4、系统抖动是指( ). A,使用机器时,千万屏幕闪烁的现象 B,刚被调出的页面又立刻被调入所形成的频繁调 入调出现象 C,系统盘不净,千万系统不稳定的现象 D,由于内存分配不当,偶然造成内存不够的现象 5、在( )中,不可能产生系统抖动的现象. A,固定分区管理 B,请求页式管理 C,段式管理 D,机器中不存在病毒时
8
所谓虚拟存储器,是指具有请求调入功能和置换功 能,对内外存统一管理,能从逻辑上对内存容量 加以扩充的一种存储器系统。从用户角度上看, 系统具备了比实际内存容量大得多的存储器,人 们把这样的存储器称为虚拟存储器。
2. 虚拟存储器的特征 与传统的存储器管理方式比较,虚拟存储器 具有以下三个重要特征: (1) 多次性。 (2) 对换ቤተ መጻሕፍቲ ባይዱ。 (3) 虚拟性。
下一页
FIFO算法性能分析(m=3)
从图可以看出,缺页中断页数为9次,缺页率f=9/12=75%。 下一页
【例 2】设 m=4,仍采用 FIFO算法,缺页中断次 数及缺页率如图所示。
下一页
可以算出,在分配给该作业的内存块数增加到4时, 缺页中断由图的9次反而增加到了10次,缺页率由 75%增加到 10/12=83%,这就是 FIFO算法的一种 异常现象。随着分配的主存块数的增加,缺页中 断次数不但没有降低,反而增加了。这与该算法 定全不考虑程序的动态特征有关。
14
15
5.2.2 请求分页中的内存分配
1. 最小物理块数的确定 一个显而易见的事实是,随着为每个进程所分配的物理块的 减少,将使进程在执行中的缺页率上升,从而会降低进程 的执行速度。为使进程能有效地工作,应为它分配一定数 目的物理块。 2. 内存分配策略 在请求分页系统中,可采取两种内存分配策略,即固定和 可变分配策略。在进行置换时,也可采取两种策略,即全 局置换和局部置换。 3. 物理块分配算法 在采用固定分配策略时, 可采用平均分配算法和按 比例分配算法。
5
局限性又表现在下述两个方面: (1) 时间局限性。 如果程序中的某条指令一旦执行,则不久的将来该指令可能 再次被执行;如果某个存储单元被访问,则不久以后该存储 单元可能再次被访问。产生时间局限性的典型原因是在程序 中存在着大量的循环操作。 (2) 空间局限性。 一旦程序访问了某个存储单元,则在不久的将来,其附近的 存储单元也最有可能被访问。 即程序在一段时间内所访问 的地址,可能集中在一定的范围内,其典型原因是程序是顺 序执行的。