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

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

第五章虚拟存储器一、单项选择题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. 最佳二. 填空题1. 假设某程序的页面访问序列为1.2.3.4.5. 2. 3. 1. 2. 3. 4. 5. 1. 2. 3. 4且开始执行时主存中没有页面,则在分配给该程序的物理块数是3 且采用FIFO方式时缺页次数是____13____; 在分配给程序的物理块数是4且采用FIFO方式时,缺页次数是___14______; 在分配给程序的物理块数是3且采用LRU方式时,缺页次数是______14____。
计算机虚拟存储器思维导图

改进型——增加对修改位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. 什么是并行处理?
并行处理是一种技术,它能够在多个设备(通常是多个计算机)
上同时运行几个任务。
它的原理是,将原本要完成的复杂任务分解成
多个小任务,将这些小任务分发给多个设备,各个设备独立执行任务,最后将结果统一输出,从而达到有效率地完成工作的目的。
计算机操作系统教程(张尧学(第三版)第五章

精品课程系列-计算机学院版权所有
关于动态地址重定位可以如下图所示的过程说明:
制 作 者 : 郭 平 、 王 在 模 、 何 静 媛
用户程序的虚地址空间 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年专升本 操作系统原理
1. 请求页表机制
在请求分页系统中需要的主要数据结构是请求页表,其基本作用仍 然是将用户地址空间中的逻辑地址映射为内存空间中的物理地址。为了
满足页面换进换出的需要,在请求页表中又增加了四个字段。这样,在
请求分页系统中的每个页表应含以下诸项:
页号 物理块号 状态位 P 访问字段 A 修改位 M 外存地址
页中断处理程序。
2019年专升本 操作系统原理
4. 缺页率
假设一个进程的逻辑空间为n页,系统为其分配的内存物理块数为 m(m≤n)。如果在进程的运行过程中,访问页面成功(即所访问页面在内 存中)的次数为S,访问页面失败(即所访问页面不在内存中,需要从外存 调入)的次数为F,则该进程总的页面访问次数为A = S + F,那么该进程 在其运行过程中的缺页率即为
(2) 对换性:允许在作业运行过程中将暂不使用的代码和数据从内存 调至外存的对换区,待它们重又具备运行条件时再调入内存。
(3) 虚拟性:指能够从逻辑上扩充内存容量,使用户所看到的内存容
量远大于实际内存容量。
2019年专升本 操作系统原理
5.1.3 虚拟存储器的实现方法
1. 分页请求系统 是在颁布系统的基础上增加了请求调页功能和页面置换功能所形成
2019年专升本 操作系统原理
2. 局部性原理
程序运行时存在的局部性现象,很早就已被人发现,但直到1968年, P.Denning才真正指出:
程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执
行仅局限于某个部分,相应地,它所访问的存储空间也局限于某个区域。
2019年专升本 操作系统原理
利用该算法去评价其它算法。
2019年专升本 操作系统原理
系统为进程分配3个物理块,有以下的页面访问顺序:
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2
5次缺页中断
— —
—
—
—
图5-3 利用最佳页面置换算法时的置换图
2019年专升本 操作系统原理
2. 先进先出(FIFO)页面置换算法
虚拟存储器:是指具有请求调入功能和置换功能,能从逻辑上对内
存容量加以扩充的一种存储器系统。
2019年专升本 操作系统原理
2. 虚拟存储器的特征
与传统的存储器管理方式比较,虚拟存储器具有以下三个重要特征: (1) 多次性:作业允许被分成多次调入内存运行。即只需将当前要运
行的那部分程序和数据装入内存即可开始运行。
(2) 系统应从何处调入这些页面; (3) 是如何进行调入的。
2019年专升本 操作系统原理
1. 何时调入页面
(1) 预调页策略:将那些预计在不久之后便会被访问的页面预先调入 内存
(2) 请求调页策略:产生缺页时,便立即提出请求,OS将所缺的页
面调入内存。
2019年专升本 操作系统原理
2. 从何处调入页面
页中断,以及从内存中换出一页的功能等等。图5-2示出了请求分页系统
中的地址变换过程。
2019年专升本 操作系统原理
图5-2 请求分页中的地址变换过程
2019年专升本 操作系统原理
5.2.2 请求分页中的内存分配
1. 最小物理块数的确定 最小物理块数是批能保证进程正常运行所需的最小物理块数,当系
统为进程分配的物理块数少于些值时,进程将无法进行。
于那些可能被修改的部分,在将它们换出时便须调到对换区,以后需要 时再从对换区调入。
(3) UNIX方式。未运行过的从文件区调入,曾运行过的从对换区调
入
2019年专升本 操作系统原理
3. 页面调入过程
每当程序所要访问的页面未在内存时(存在位为“0”),便向CPU发出 一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺
状态位P:用于指示该页是否已调入内存,供程序访问时参考。 访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页 最近已有多长时间未被访问。 修改位M:标识该页在调入内存后是否被修改过。 外存地址:用于指出该页在外存上的地址,通常是物理块号。
2019年专升本 操作系统原理
2. 缺页中断机构
每当所要访问的页面不在内存时,便产生一缺页中断,请求OS将所缺 之页调入内存。
该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最 久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页
面按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它
总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为 在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例
分则根据各进程的优先权进行分配,为高优先进程适当地增加其相应份
额。在有的系统中,如重要的实时控制系统,则可能是完全按优先权为 各进程分配其物理块的。
2019年专升本 操作系统原理
5.2.3 页面调入策略
为使进程能够正常运行,必须事先将要执行的那部分程序和数据所 在的页面调入内存。现在的问题是:
(1) 系统应在何时调入所需页面;
F f A
影响缺页率的因素:
1.页面大小
2.进程所分配物理块的数目 3.页面置换算法 4.程序固有特性
2019年专升本 操作系统原理
5.3 页面置换算法
在进程运行过程中,若其所要访问的页面不在内存,而需把它们调
入内存,但内存已无空闲空间时,为了保证该进程能正常运行,系统必 须从内存中调出一页程序或数据送到磁盘的对换区中。但应将哪个页面 调出,须根据一定的算法来确定。通常,把选择换出页面的算法称为页 面置换算法(Page-Replacement Algorithms)。 置换算法的好坏将直接影响到系统的性能。进程发生“抖动”:即刚 被换出的页很快又要被访问,需要将它重新调入,此时又需要再选一页
程等的页面,FIFO算法并不能保证这些页面不被淘汰。
2019年专升本 操作系统原理
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2
有9次缺页中断
— — —
— — —
— — —
— — —
图5-4 利用FIFO置换算法时的置换图
2019年专升本 操作系统原理
3. 最近最久未使用调度算法LRU(Least Recently Used)
2019年专升本 操作系统原理
5.1 虚拟存储器概述
第四章所介绍的各种存储器管理方式有一个共同的特点,即它们都
要求将一个作业全部装入内存后方能运行。于是,出现了下面这样两种 情况: (1) 有的作业很大,其所要求的内存空间超过了内存总容量,作业不 能全部被装入内存,致使该作业无法运行; (2) 有大量作业要求运行,但由于内存容量不足以容纳所有这些作业, 只能将少数作业装入内存让它们先运行,而将其它大量的作业留在外存
调出;而此刚被换出的页很快又被访问,如此频繁更换,就称为进程发
生了“抖动”
2019年专升本 操作系统原理
5.3.1 最佳置换算法和先进先出置换算法
1. 最佳(Optimal)置换算法 最佳置换算法是由Belady于1966年提出的一种理论上的算法。其所 选择的被淘汰页面将是以后永不使用的,或许是在最长(未来)时间内不 再被访问的页面。采用最佳置换算法通常可保证获得最低的缺页率。但 由于人们目前还无法预知,一个进程在内存的若干个页面中,哪一个页 面是未来最长时间内不再被访问的,因而该算法是无法实现的,但可以
的页式虚拟存储系统。
1) 硬件支持 主要的硬件支持有:
(1) 请求分页的页表机制。
(2) 缺页中断机构。当用户程序要访问的页面未调入内存时,便产生 一个缺页中断。 (3) 地址变换机构。 2) 实现请求分页的软件
2019年专升本 操作系统原理
2. 请求分段系统
是在分段系统的基础上,增加了请求调段及分段置换功能后所形成 的段式虚拟存储系统。
局限性又表现在下述两个方面:
(1) 时间局限性:如果程序中的某条指令被执行,则不久以后该指令 可能再次执行。
(2) 空间局限性:一旦程序访问了某个存储单元,在不久之后,其附
近的存储单元也将被访问。
2019年专升本 操作系统原理
3. 虚拟存储器的基本工作情况
基于局部性原理可知,应用程序在运行之前没有必要将之全部装入 内存,而仅须将那些当前要运行的少数页面或段先装入内存便可运行,
1) 硬件支持
主要的硬件支持有: (1) 请求分段的段表机制。
(2) 缺段中断机构。
(3) 地址变换机构。 2) 软件支持
2019年专升本 操作系统原理
5.2 请求分页存储管理方式
请求分页存储管理方式也叫页式虚拟存储管理
5.2.1 请求分页中的硬件支持 为了实现请求分页,系统必须提供一定的硬件支持。计算机系统除 了要求一定容量的内存和外存外,还需要有请求页表机制、缺页中断机 构以及地址变换机构。
上等待。
2019年专升本 操作系统原理
5.1.1 常规存储管理方式的特征和局部性原理
1. 常规存储器管理方式的特征 我们把前一章中所介绍的各种存储器管理方式统称为传统存储器管
理方式,它们全都具有如下两个共同的特征:
(1) 一次性:指作业必须一次性地全部装入内存后方能开始运行。 (2) 驻留性 :指作业被装入内存后,整个作业都一直驻留在内存中。
2019年专升本 操作系统原理
3. 物理块分配算法
在采用固定分配策略时,如何将系统中可供分配的所有物理块分配 给各个进程,可采用下述几种算法: (1) 平均分配算法,即将系统中所有可供分配的物理块平均分配给各 个进程。 (2) 按比例分配算法,即根据进程的大小按比例分配物理块。 (3) 考虑优先权的分配算法。一部分按比例地分配给各进程;另一部
2019年专升本 操作系统原理