第四章_虚拟存储管理

合集下载

虚拟存储管理

虚拟存储管理

PPT文档演模板
虚拟存储管理
o (2) 驻留性。
n 作业装入内存后,便一直驻留在内存中,直至 作业运行结束。尽管运行中的进程会因I/O而长 期等待,或有的程序模块在运行过一次后就不 再需要(运行)了,但它们都仍将继续占用宝贵的 内存资源。
现在要研究的问题是:一次性及驻留性在程序运行时是否是必需的?
n (2) 有大量作业要求运行,但由于内存容量不足 以容纳所有这些作业,只能将少数作业 装入内 存让它们先运行,而将其它大量的作业留在外 存上等待。
PPT文档演模板
虚拟存储管理
虚拟存储器的引入
o 1.常规存储器管理方式的特征 o (1) 一次性。
n 在前面所介绍的几种存储管理方式中,都要求 将作业全部装入内存后方能运行,即作业在运 行前需一次性地全部装入内存,而正是这一特 征导致了上述两种情况的发生。此外,还有许 多作业在每次运行时,并非其全部程序和数据 都要用到。如果一次性地装入其全部程序,也 是一种对内存空间的浪费。
PPT文档演模板
虚拟存储管理
60K-64K X
虚地址空间
56K-60K X
52K-56K X } 虚页
48K-52K X
44K-48K 7
40K-44K X
36K-40K 5 32K-36K X
物理地址空间 页框
28K-32K X
28K-32K
24K-28K X
24K-28K
20K-24K 3
20K-24K
虚拟存储器支持多道程序设计技术
PPT文档演模板
虚拟存储管理
概述(续2)
虚拟存储技术
虚存:把内存与外存有机的结合起来使用,从而 得到一个容量很大的“内存”,这就是虚存

操作系统的虚拟存储管理与页式存储技术

操作系统的虚拟存储管理与页式存储技术

操作系统的虚拟存储管理与页式存储技术操作系统是计算机系统中非常重要的一个组件,它负责管理计算机硬件和软件资源,协调各个应用程序的执行,以及提供用户与计算机之间的接口。

虚拟存储管理是操作系统中的一个核心功能,它通过将主存(内存)和辅存(磁盘)结合起来,在有限的主存空间中管理多个应用程序的运行和数据存储。

页式存储技术是一种常用的虚拟存储管理技术,下面将详细介绍虚拟存储管理以及页式存储技术的原理和实现方式。

一、虚拟存储管理的概念和原理虚拟存储管理是一种用于管理计算机主存和辅存的技术,它将辅存中的数据自动地转移到主存中,并且能够在程序运行时动态地分配和回收主存空间。

通过虚拟存储管理,即使计算机的主存空间有限,也可以实现更多应用程序的并发执行和大规模数据的存储与处理。

虚拟存储管理的主要原理是将辅存中的数据划分为若干个固定大小的存储块,称为页面(Page)。

同样,主存也被划分为与辅存页面大小相同的存储块,称为页框(Page Frame)。

每个页面和页框都有唯一的标识符,用于管理和映射页面到页框的关系。

当一个应用程序需要访问或执行某个页面时,操作系统将其从辅存中读入一个空闲的页框,并将其映射到相应的页面标识符。

如果主存中没有空闲的页框,则需要使用一定的页面置换算法将某个页面替换出去,以腾出页框给新的页面使用。

虚拟存储管理能够有效地利用计算机的主存资源,并且能够在不同的应用程序之间进行数据保护和隔离。

通过页面和页框的映射关系,操作系统可以实现虚拟地址空间的划分和隔离,每个应用程序都认为自己独占了整个计算机的内存空间,而不需要关心其他应用程序的存在。

二、页式存储技术的实现方式页式存储技术是一种基于虚拟存储管理的实现方式,它将主存和辅存划分为固定大小的页面,并且使用页表来管理页面和页框的映射关系。

下面将详细介绍页式存储技术的实现方式。

1. 页面和页框的划分页式存储技术将辅存和主存划分为固定大小的页面和页框,通常大小为2的幂次方,例如2KB、4KB或者16KB等。

计算机操作系统第四章存储器管理复习资料

计算机操作系统第四章存储器管理复习资料

第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

进行地址变换时,首先利用段号S,将它与段长TL进行比较。

若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。

在段页式系统中,为了获得一条指令或数据,须三次访问内存。

第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。

显然,这使访问内存的次数增加了近两倍。

为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。

每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。

19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。

多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。

因此,认为虚拟存储器是具有多次性特征的存储器系统。

对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。

计算机操作系统第四章-存储器管理

计算机操作系统第四章-存储器管理

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。

但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。

实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。

2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。

二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。

(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。

●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。

这个空间是以0为基址、线性或多维编址的。

2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。

●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。

四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。

1、静态地址重定位是程序装入时集中一次进行的地址变换计算。

物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。

第四章 操作系统存储管理(练习题答案)

第四章 操作系统存储管理(练习题答案)

第四章存储管理1. C存储管理支持多道程序设计,算法简单,但存储碎片多。

A. 段式B. 页式C. 固定分区D. 段页式2.虚拟存储技术是 B 。

A. 补充内存物理空间的技术B. 补充相对地址空间的技术C. 扩充外存空间的技术D. 扩充输入输出缓冲区的技术3.虚拟内存的容量只受 D 的限制。

A. 物理内存的大小B. 磁盘空间的大小C. 数据存放的实际地址D. 计算机地址位数4.动态页式管理中的 C 是:当内存中没有空闲页时,如何将已占据的页释放。

A. 调入策略B. 地址变换C. 替换策略D. 调度算法5.多重分区管理要求对每一个作业都分配 B 的内存单元。

A. 地址连续B. 若干地址不连续C. 若干连续的帧D. 若干不连续的帧6.段页式管理每取一数据,要访问 C 次内存。

A. 1B. 2C. 3D. 47.分段管理提供 B 维的地址结构。

A. 1B. 2C. 3D. 48.系统抖动是指 B。

A. 使用计算机时,屏幕闪烁的现象B. 刚被调出内存的页又立刻被调入所形成的频繁调入调出的现象C. 系统盘不干净,操作系统不稳定的现象D. 由于内存分配不当,造成内存不够的现象9.在 A中,不可能产生系统抖动现象。

A. 静态分区管理B. 请求分页式管理C. 段式存储管理D. 段页式存储管理10.在分段管理中 A 。

A. 以段为单元分配,每段是一个连续存储区B. 段与段之间必定不连续C. 段与段之间必定连续D. 每段是等长的11.请求分页式管理常用的替换策略之一有 A 。

A. LRUB. BFC. SCBFD. FPF12.可由CPU调用执行的程序所对应的地址空间为 D 。

A. 名称空间B. 虚拟地址空间C. 相对地址空间D. 物理地址空间13. C 存储管理方式提供二维地址结构。

A. 固定分区B. 分页C. 分段D. 物理地址空间14.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为B 。

A. 源程序B. 目标程序C. 可执行程序D. 非执行程序15.目录程序指令的顺序都以0作为一个参考地址,这些地址被称为 A 。

操作系统原理虚拟存储管理技术讲义

操作系统原理虚拟存储管理技术讲义
操作系统原理虚拟存储管理技术
1、请求分页式存储管理的基本概念 1)基本原理
运行前将一部分页面装入内存,另外一部分页 面则装入外存。在程序运行过程中,如果所访 问的页面不再内存中,则发生缺页中断,操作 系统进行页面动态调度:
a) 找到被访问页面在外存中的地址。 b) 在内存中找一个空闲块,如果没有,则按 照淘汰算法选择一个内存块,将此块内容写回 外存,修改页表。
2)堆栈法
按照页面最后一次访问的时间次序依次排列到堆 栈中。进程访问某一页时,其对应的页面号由 栈内取出压入栈顶,因此,栈顶始终是最新被 访问页面的页面号,栈底则是最近最久没有使 用的页面号。
操作系统原理虚拟存储管理技术
4)最近未使用置换算法(NRU) 近似于LRU算法,不但希望淘汰最近未使
用的页面,还希望被挑选的页面在内存 驻留期间,其页面内容没有给修改过, 因此增加两个硬件位:访问位和修改位。 0和1,0表示未访问或未修改。
操作系统原理虚拟存储管理技术
由访问位A和修改位M可以组合成下面四种类 型的页面:
1类(A=0, M=0): 表示该页最近既未被访问, 又未被修改, 是最佳淘汰页。
2类(A=0, M=1): 表示该页最近未被访问, 但已被修改, 并不是很好的淘汰页。
3类(A=1, M=0): 最近已被访问, 但未被 修改, 该页有可能再被访问。
操作系统原理虚拟存储管理技术
• Belady现象:采用FIFO算法时,如果对一个 进程未分配它所要求的全部页面,有时就会出 现分配的页面数增多,缺页率反而提高的异常 现象。
• Belady现象的描述:一个进程P要访问M个页, OS分配N个内存页面给进程P;对一个访问序 列S,发生缺页次数为PE(S,N)。当N增大时, PE(S, N)时而增大,时而减小。 • Belady现象的原因:FIFO算法的置换特征与 进程访问内存的动态特征是矛盾的,即被置换 的页面并不是进程不会访问的。

习题

习题
11
死锁部分练习
除了可以采用资源剥夺法解除死锁外,还可以采 用(C)方法解除死锁。 A.修改信号量 B.拒绝分配新的资源 C.撤销进程 D.执行并行操作 在(C)的情况下,系统出现死锁。 A.计算机系统发生了重大故障 B.有多个阻塞的进程存在 C.若干个进程因竞争资源而无休止地相互等待他方 释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数 大大超过资源总数
1
练习:理解多道程序设计
有两个程序,A程序按顺序使用CPU 10s,使用设 备甲 5s,使用CPU 5s,使用设备乙 10s,最后使 用CPU 10s。B程序按顺序使用设备甲 10s,使用 CPU 10s,使用设备乙5s,使用CPU 5s,最后使 用设备乙 10s。在顺序环境下先执行A程序再执行 B程序,计算CPU的利用率是多少?在多道程序 环境下,CPU的利用率是多状态的关系(D)。 A.死锁状态有可能是安全状态 B.安全状态有可能成为死锁状态 C.不安全状态就是死锁状态 D.死锁状态一定不是安全状态
在某个系统中有4个并发进程,都需要同类资源5个 ,问该系统不会发生死锁的最少资源数是(C)个。 A.20 B.9 C.17 D.12
17
第五章 练习
本地用户通过键盘登录系统时,首先获得键盘输入信息的程 序是(B)。【2010年统考真题】 A.命令解释程序 B.中断处理程序 C.系统调用程序 D.用户登录程序 DMA方式是在(A)之间建立一条直接数据通路。【北京理 工大学2002年】 A.I/O设备和内存 B.两个I/O设备 C.I/O设备和CPU D.CPU和主存 有关设备管理概念的下列叙述中,(A)是不正确的。【西安 电子科技大学2002年】 A.通道是处理输入输出的软件 B.所有外围设备的启动工作都由系统统一来做 C.来自通道的I/O中断时间由设备管理负责处理 D.编制好的通道程序是存放在主存储器中

操作系统Chap4.5虚拟存储管理

操作系统Chap4.5虚拟存储管理
page has been altered since it was last loaded into main memory • If no change has been made, the page does not have to be written to the disk when it needs to be swapped out
• A process may be broken up into pieces that do not need to located contiguously in main memory
– All pieces of a process do not need to be loaded in main memory during execution
– If it is in main memory, the entry contains the frame number of the corresponding page in main memory
– If it is not in main memory, the entry may contain the address of that page on disk or the page number may be used to index another table (often in the PCB) to obtain the address of that page on disk
• Hardware must support paging and segmentation
• Operating system must be able to management the movement of pages and/or segments between secondary memory and main memory

虚拟存储管理的基本原理

虚拟存储管理的基本原理

虚拟存储管理的基本原理虚拟存储管理是一种计算机内存管理技术,它允许操作系统将物理内存和磁盘空间组合使用,从而扩展了计算机的内存容量。

虚拟存储管理的基本原理是将进程所需的部分数据和指令存储在物理内存中,而将未使用的部分存储在磁盘上,以便在需要时进行交换。

这种技术可以提高计算机的性能和可靠性,同时也可以节省内存空间。

虚拟存储管理的主要内容包括以下几个方面:1. 虚拟地址空间虚拟地址空间是指进程所能访问的地址范围,它通常比物理内存的大小要大得多。

操作系统通过虚拟地址映射技术将进程所需的数据和指令从磁盘中加载到物理内存中,从而实现了虚拟存储管理。

2. 分页和分段分页和分段是虚拟存储管理的两种主要实现方式。

分页是将进程的虚拟地址空间划分为固定大小的页面,每个页面都可以独立地加载到物理内存中。

分段是将进程的虚拟地址空间划分为若干个逻辑段,每个段的大小可以不同,每个段都可以独立地加载到物理内存中。

3. 页面置换算法当物理内存不足时,操作系统需要将一部分页面从物理内存中换出到磁盘上,以便为新的页面腾出空间。

页面置换算法是用来决定哪些页面应该被置换出去的算法,常见的算法包括最近最少使用算法、先进先出算法、时钟算法等。

4. 页面调度算法当进程需要访问一个不在物理内存中的页面时,操作系统需要将该页面从磁盘中加载到物理内存中。

页面调度算法是用来决定哪些页面应该被加载到物理内存中的算法,常见的算法包括最优页面置换算法、先进先出页面置换算法、最近最少使用页面置换算法等。

5. 页面大小和页面表页面大小是指将虚拟地址空间划分为固定大小的页面时,每个页面的大小。

页面表是用来记录每个页面在物理内存中的位置和状态的数据结构,它通常由操作系统维护。

虚拟存储管理是一种复杂的技术,它需要操作系统对内存管理、文件系统、进程调度等方面进行综合考虑和优化。

通过合理地使用虚拟存储管理技术,可以提高计算机的性能和可靠性,同时也可以节省内存空间,为用户提供更好的使用体验。

第四章 存储器管理(1-2)

第四章 存储器管理(1-2)

物理地址空间
Load A data1
100
Load A 200
1100
Load A 1200
编译 连接
data1 3456 200 3456
地址映射
1200 3456 。 。
第四章 存 储 器 管 理
地址映射的方式
静态地址映射: 1)程序被装入内存时由操作系统的连接装入程序完成 程序的逻辑地址到内存地址的转换; 2)地址转换工作是在程序执行前由装入程序集中一次 完成。 假定程序装入内存的首地址为BR,程序地址为VR,内存 地址为MR,则地址映射按下式进行:MR=BR+VR
② 便于实现对目标模块的共享:将内存中的一个模块可 以连接到多个程序中。 ③ 要运行的程序都必须在装入时,全部连接调入内存。
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking) 动态链接方式:将对某些模块的链接推迟到执行时才实施, 亦即,在执行过程中,当发现一个被调用模块尚未装 入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。特点如下: 特点:凡在执行过程中未被用到的目标模块,都不会被调 入内存和被链接到装入模块上,这样不仅可加快程序 的装入过程,而且可节省大量的内存空间。
硬件支持:在动态地址重定位机构中,有一个基地址寄存器BR和一 个程序地址寄存器VR,一个内存地址寄存器MR。
转换过程:MR=BR+VR
第四章 存 储 器 管 理
把程序装入起始地址为100的内存区
0 100
重定位寄存器 1000

MOV r1,[50]
0 1000 1100
… …
MOV r1பைடு நூலகம்[50]

操作系统ch4.5虚拟存储管理

操作系统ch4.5虚拟存储管理

虚拟存储管理的概念(8)
第三,很少出现连续的过程调用,相反, 程序中过程调用的深度限制在小范围 内,一段时间内,指令引用被局限在 很少几个过程中。 第四,对于连续访问数组之类的数据结 构,往往是对存储区域中相邻位臵的 数据的操作。 第五,程序中有些部分是彼此互斥的, 不是每次运行时都用到的,如出错处 理程序。
清除策略(1)
• 考虑何时把一个修改过的页面写 回辅存储器:请页式清除和预清除。 • 请页式清除是仅当一页选中被替 换,且之前它又被修改过,才把这个 页面写回辅存。
页面装入策略和清除策略(5)
清除策略(2)
• 预清除,写出页仍在内存中,直到页替 换算法选中一页从内存中移出,成批地 把页面写出,但如若刚写出了很多页面, 在被替换前,其中大部分又被更改,预 清除就毫无意义。 • 请页式清除,写出一页是在读进新页前 进行的,要成双操作,引起进程等待两 次I/O操作,会降低CPU使用效率。
• IBM/370系统的VS/1,VS/2和 VM/370, • Honeywell 6180的MULTICS • UNIVAC系列70/64的VMS
请求页式虚拟存储系统优缺点
•优点:作业的程序和数据可按页分散
存放在内存中,减少移动开销,有效 解决了碎片问题;既有利于改进主存 利用率,又有利于多道程序运行。 •缺点:要有硬件支持,要进行缺页中 断处理,机器成本增加,系统开销加 大。
•页面替换 •页面淘汰算法 •“抖动”(Thrashing)现象
影响缺页中断率的因素(1)
• 假定作业p共计n页,系统分配给它 的主存块只有m块(1≤m≤n)。 如果作业p在运行中成功的访问次数 为s, 不成功的访问次数为F,则总 的访问次数A为: A=S+F 又定义: f=F/A

OS第4章 习题-答案

OS第4章 习题-答案

第四章存储器管理一、判断题1.在固定分区分配中,每个分区的大小是()。

A.相同B.随作业长度变化C.可以不同但预先固定D.可以不同但根据作业长度固定2.在可变分区分配中,首次适应算法的空闲区是()。

A.按地址递增顺序连在一起B.始端指针表指向最大空闲区C.按大小递增顺序连在一起D.寻找从最大空闲区开始3.在可变分区分配中,最佳适应算法的空白区是()。

A.按大小递减顺序连在一起B.按大小递增顺序连在一起C.按地址由小到大排列D.按地址由大到小排列4.设内存的分配情况如下图所示。

若要申请一块40K的内存空间,采用最佳适应算法,则所申请到的分区首址为()。

A.100K B.190K C.330K D.410K5. 有作业序列:作业A要求18K;作业B要求25K,作业C要求30K。

系统中空闲区按三种算法组成的空闲区队列如下图所示。

其中,()对该作业序列合适。

A.首次适应法 B. 最佳适应法 C. 最坏适应法 D. 无算法6.在可变式分区存储管理中的拼接技术可以()。

A.集中空闲区B.增加主存容量C.缩短访问周期D.加速地址转换7.支持程序浮动的地址转换机制是( ) 。

A、动态重定位B、静态重定位C、页式地址转换D、段式地址转换8. 采用页式存储管理的系统中,若地址用32位表示,其中20位表示页号,,则每页的大小为()。

A. 212B. 220C. 224D. 2329. 在一个页式存储管理系统中, 页表内容如下所示:若页的大小为4K, 则地址转换机构将逻辑地址0转换成的物理地址为()。

A. 8192B. 4096C. 2048D. 102410. 无快表的基本页式存储管理中,每次从主存中取指令或取操作数,至少要()次访问主存。

A 0次B 1次C 2次D 3次11. 某段表的内容表示如下:逻辑地址(2,154)对应的物理地址为()。

A. 120K+2B. 480K+154C. 30K+154D. 发生越界中断12.在段页式存储管理系统中,内存等分成(),程序按逻辑模块划分成若干()。

存储管理

存储管理

第四章 存储管理
OS 作业1 (8 KB) 作业4 (24 KB) 作业5 (128 KB)
作业4 (24 KB)
作业6 (256 KB) 作业7 (256 KB)
888 KB
1024 KB (a) (b)
(c)
图 4.9 可再定位式分区分配的靠拢过程
第四章 存储管理
352 KB 有效地址 352 KB + 50 L 1,352 K + 9800 352 KB + 9800 浮动寄存器 -32 KB
第四章 存储管理
第四章
存储管理
4.1 4.2 4.3 4.4 4.5 4.6 存储管理的基本概念 早期的存储管理 分页存储管理 请求分页存储管理 分段存储管理 段页式存储管理
第四章 存储管理
4.1 存储管理的基本概念
存储管理的主要内容:
1. 2.
存储分配问题:研究存储共享和各种分配算法。 地址再定位问题:研究各种地址变换机构, 以及 静态和动态再定位方法。 存储保护问题:研究保护各类程序、 数据区的方 法。 存储扩充问题:主要研究虚拟存储器问题及其各种 调度算法。
实现了主存的共享,因而有助于多道程序设计,更 有效地利用了处理机和I/O设备,从而使系统的吞吐 量和作业周转时间得到了相应的改善。 相对于后面介绍的存储管理方式,本方案为实现分 区分配所使用的表格、占用的存储容量相对较少, 算法也相对简单。 实现存储保护的措施也比较简单。 多重分区分配方案能实现对子程序、 数据段的共享。
剩余容量 7KB 23KB 23KB 87KB 399KB 539 KB
可变式分区法
作业4 24 KB 作业5 128 KB 作业6 256 KB
第四章 存储管理

第4章 存储管理 练习题

第4章 存储管理 练习题

第四章存储管理练习题(一)单项选择题1.存储管理的目的是( ) A.方便用户B.提高主存空间利用率C.方便用户和提高主存利用率D.增加主存实际容量2为了实现存储保护,对共享区域中的信息( )。

A.既可读,又可写B.只可读,不可修改C.能执行,可修改D.既不可读,也不可写3.单连续存储管理时,若作业地址空间大于用户空间,可用( )把不同时工作的段轮流装入主存区执行。

A对换技术B.移动技术C虚拟存储技术D.覆盖技术4.把一个分区的存储管理技术用于系统时,可采用( )让多个用户作业轮流进入主存储器执行。

A.存储技术B.对换技术C.覆盖技术D虚拟存储技术5.动态重定位是在作业的( )中进行的。

A.编译过程B.装入过程C.修改过程D执行过程6.( )要求存储分配时具有连续性。

A.固定分区存储管理B.可变分区存储管理C.段式存储管理D.段页式存储管理7.固定分区存储管理一般采用( )进行主存空间的分配。

A.最先适应分配算法B.最优适应分配算法C.最坏适应分配算法D.顺序分配算法8.( )存储管理支持多道程序设计,算法简单,但存储碎片多。

A.段式B.页式C.固定分区D.段页式9.固定分区存储管理中存储保护用( )关系式进行核对。

A.逻辑地址≤限长寄存器值B.下限寄存器值≤绝对地址≤上限寄存器值C.界限地址≤绝对地址≤主存最大地址D.段内地址≤段表中对应段的限长10.提高主存利用率主要是通过( )实现的。

A.内存分配B.内存保护C.地址转换D.内存扩充11.( )判断到“逻辑地址>限长寄存器值”时,形成—个“地址越界”的程序性中断事件。

A.一个存储分区管理B.固定分区存储管理;C.可变分区存储管理D.段式存储管理12.可变分区存储管理时采用的地址转换公式为( )。

A.绝对地址=界限寄存器值+逻辑地址B.绝对地址=下限寄存器值+逻辑地址C.绝对地址=基址寄存器值+逻辑地址D.绝对地址=块号×块长÷页内地址13.公式“绝对地址=下限寄存器+逻辑地址”被用来在( )中做地址转换。

第四章_虚拟存储管理

第四章_虚拟存储管理

(2)为使进程能有效地工作,应为它分配多少物理块合适
随着为每个进程所分配物理块数目的减少,将使进程执行中 的缺页率提高,导致非生产性开销过大,从而降低了进程的 执行速度,严重时导致进程不能向前推进。最少物理块数只 能保证程序能执行下去,而不是最合适的块数。
在1968年,Denning提出了工作集理论。所谓工作集就是进 程在某段时间里实际上要访问的页的集合。依据程序执行时 的局部特性,可以利用程序过去的行为来估计它未来的行为。 故定义运行进程在t-w到t这个时间间隔内所访问的页的集合 为该进程在时间t的工作集,记为W(t,w)。并把变量w称 之为“工作集窗口尺寸”,工作集中所包含的页面数称为 “工作集尺寸”,记为|W(t,w)|。
综上所述:程序只要装入内存一部分就可以运行, 当用到不在内存的部分时,再将其装入内存。换句 话就是说程序全部装入内存并不是程序运行的必要 条件。
§4.5.2 虚拟存储的实现
1.虚拟存储技术
如果把程序部分装入内存,其余大部分放在外存,而程序又能 运行,这样我们就拥有了一个比有限的实际内存空间大得多的、 逻辑的虚拟内存空间。即用大容量的外存来模拟内存,这种存储 模式就称之为虚拟存储技术。
空间局部性:是指一旦某一个存储单元被访问,那么它附近 的单元也将很快被访问。这对应于程序结构中的顺序执行的 指令、线性数据结构以及在相邻位置存放的数据或变量等。 而程序中的分支和调用子程序只是将程序的访问空间从一处 移到另外一处,仍具有局部性。
排他性:程序运行不但体现在时间、空间的局部性, 还体现在某些程序段执行的排他性。
若此时内存中没有空闲物理块安置请求调入的新页 面,则系统按预定的置换策略自动选择一个或一些 在内存的页面,把它们换出到外存。
这里的请求调入和置换功能都是比实分页存储管理 增加的内容,是实现虚拟存储的主要功能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§4.5.2 虚拟存储的实现
1.虚拟存储技术
如果把程序部分装入内存,其余大部分放在外存,而程序又 能运行,这样我们就拥有了一个比有限的实际内存空间大得多的、 逻辑的虚拟内存空间。即用大容量的外存来模拟内存,这种存储 模式就称之为虚拟存储技术。
2.虚拟技术实现的关键
(1)怎样才能发现欲执行的指令或数据不在内存? 简单有效方法就是进行标识 (2)怎样将不在内存的部分调入进来。 通常系统采用中断技术完成调入工作。 (3)在内存中的作业如何组织? 一个进程可被分为多次调入内存,这样很难保证进程在内存 中占据一个连续的空间,实际上进程在内存中是离散存储的。
虚拟存储技术的种类:
虚拟页式 虚拟段式 虚拟段页式
§4.6 虚拟页式存储管理
§4.6.1 虚拟页式存储的实现
§4.6.2 页面分配策略 §4.6.3 页面置换方法
§4.6.4 虚拟页式存储的优缺点
§4.6.1 虚拟页式存储的实现
1.基本原理
系统自动地将作业的地址空间分页,将系统的主存 空间分块,页与块等大小。 在作业运行前,只把初始需要的一部分页面装入内 存块里,运行中需要访问自己地址空间中的但当前 不在内存的页面时产生缺页中断,由缺页中断服务 程序将所需的页面调入内存。 若此时内存中没有空闲物理块安臵请求调入的新页 面,则系统按预定的臵换策略自动选择一个或一些 在内存的页面,把它们换出到外存。 这里的请求调入和臵换功能都是比实分页存储管理 增加的内容,是实现虚拟存储的主要功能。
3.引入虚拟存储技术的好处
大程序:可在较小的可用内存中执行较大的用户 程序; 大的用户空间:提供给用户可用的虚拟内存空间 通常大于物理内存(real memory) 并发:可在内存中容纳更多程序并发执行; 易于开发:与覆盖技术比较,不必影响编程时的 程序结构
总容量不超过物理内存和外存交换区容量之和。其
操作系统
Operating System
第4章 存储管理
§4.1 存储管理的原理 §4.2 连续分配存储管理
§4.3 离散分配存储管理
§4.4 内核主存管理
§4.5 虚拟存储技术
§4.6 虚拟页式存储管理
§4.7 虚拟段式存储管理
§4.8 存储管理实例
§4.5 虚拟存储技术
虚拟内存技术(Virtual Memory)诞生于1961年。 广泛使用是从上个世纪70年代初以后,今天几乎所有的操作 系统都采用虚拟内存技术来管理内存。 这是一种利用虚拟存储器来逻辑扩充物理内存的技术。其基 本思想是用软硬件技术把内存与外存这两级存储器当成一级 存储器来用,从而给用户提供了一个比内存也比任何应用程 序大得多的虚拟存储器,使得用户编程时再也不用考虑内存 大小的限制了,给用户编程带来极大的方便。 虚拟内存技术的实现也利用了自动覆盖和交换技术。
例如: 访问页面:23332325585
w t-w W(t,w)={2,3,5,8} t
T
访问页面:
2333232558558539895878 w t1 W(t1,w)={2,3,5,8} w t2 T
W(t2,w)={3,5,7,8,9}
(3)工作集的应用
工作集W(t,w)是二元函数,随t、w的值而改变。首先工作 集与时间有关,即不同时间的工作集其所包含的页面可能不 同,其所包含的页面个数也可能不同;其次工作集也是工作 集窗口尺寸w的函数,体现在工作集尺寸|W(t,w)|随w的增加 而变大,即满足|W(t,w)|≤|W(t,w+a)|,a>0。
§4.5.1 程序局部性原理
§4.5.2 虚拟存储的实现
§4.5.1 程序局部性原理
1.局部性原理(principle of locality):
指程序在执行过程中的一个较短时期内,所执行的指令地 址和指令的操作数地址,分别局限于一定区域。
2.局部性主要表现:
时间局部性:是指一段指令在某一时间段内会被反复执行。 即程序某一部分的数据或指令被重复性地访问,它们对应于 程序结构中的循环、子程序、常用到的变量及数据等 ; 空间局部性:是指一旦某一个存储单元被访问,那么它附近 的单元也将很快被访问。这对应于程序结构中的顺序执行的 指令、线性数据结构以及在相邻位臵存放的数据或变量等。 而程序中的分支和调用子程序只是将程序的访问空间从一处 移到另外一处,仍具有局部性。
2 分配策略(外存)
1、静态分配
一个进程在运行之前,将其页面全部装入外存。 当某一外存页面被调入内存时,并不释放所占用的 外存页面。
2、动态分配
一个进程在运行之前,仅将未装入内存的那部 分页面装入外存。当某一外存页面被调入内存时, 释放所占用的外存页面。
3.工作集
(1)为保证进程能正常运行最少需要多少物理块。
返回
页面的动态调度步骤: 1、找到被访问页面在外存的地址; 2、在内存中找一个空闲页面; (1)如果没有,按照淘汰算法选择一个内存 页面; (2)将此内存页面写回外存,修改页表及 页面分配表; 3、读入所需的页面,修改页表及页面分配表; 4、重新启动进程执行被中断的指令。
2.页表机制 标记某页是否在内存,用于查询要访问的 页在不在内存。页表如下:
从理论上讲,进程只要获得一个物理块就可以运行。但 是进程正常运行所需的最少物理块数与计算机的硬件结构有 关,取决于指令的格式、功能和寻址方式。由于分页是系统 的行为,可能会出现下面的情景: 涉 及 6 次 缺 页 中 断 的 指 令
1 指令copy A to B 数据A:
2
3 4
5
6
数据B:
由此可见,系统应保证任一条 指令执行时,其所涉及的虚拟地址 所在的页都应在内存中。这个页数 就是进程所需要的最小块数,若系 统为进程所分配的物理块数少于此 值时,进程将无法运行。
进程被创建后, 进入就绪队列
4.缺页中断
保留当前 进程现场
有空闲 进程被调度执行 页
吗?
no
按某算法选 一页淘汰
面 yes
启 动 待 执行 指 令 VP 计算虚页号与 页内地址
执行下 一条指令
调入所 需页面
no
该页已 改过 yes
访问内存 完 成该指 令 ye 写回外
3.动态地址变换
在虚拟页式存储中,应采用动态地址变换方式,因为某一欲 执行的指令可能不在内存,只能在指令执行之前完成地址变 换。任一作业都应在自己的虚拟地址空间中执行,所以要为 用户作业设臵一个虚拟地址指针VP,虚拟地址依然是由页号 和页内偏移地址组成的。
系统总是执行VP虚指针所指向的指令,为了将虚拟地址VP 变换为对应的实存地址,因此先要查找页表。若从页表中查 出此页不在内存(状态位为0),则产生一个缺页中断。此时, 进程暂停当前指令执行,CPU转去执行缺页中断处理程序。 若该页已在内存,则指令的地址映射过程与页式存储是一样 的。即将块号和页内地址相拼接形成物理地址IP,处理器再 从IP中取指令执行。
运行速度接近于内存,每位的成本又接近于外存, 是一种性能非常优越的存储管理技术
4. 虚拟存储技术的特征
不连续性:物理内存分配的不连续,虚拟地址空间 使用的不连续(数据段和栈段之间的空闲空间,共 享段和动态链接库占用的空间) 部分交换:与交换技术相比较,虚拟存储的调入和 调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供大 范围的虚拟地址空间
该页在内存 no
地址映射
恢 复被中 断 进程现 场


硬件部分 图 4.30 缺页中断处理流程
软件部分
5.缺页率
虽然通过缺页中断将所需要的页调入内存,但缺页中 断的频繁发生会严重影响程序执行的效率。为了标识 缺页中断发生的频度,可以引入缺页率来表示。 设进程在其执行期间共进行了S次访页操作,其中成 功访页次数为A(访问时该页在主存),不成功的访页 次数为B(即发生了缺页中断),显然有:S=A+B,
则该进程的缺页率f定义为:f=B/S。
显然缺页率越低越好。
§4.6.2 页面分配策略
虚拟存储管理在进行页面分配时,要考虑这 样的问题:空闲页面如何管理;采用什么样的 分配策略;为进程分配多少物理块比较合适; 在什么时间进行页面分配等。
1.空闲页面管理
同页式存储管理相似,虚拟存储方式下的空闲页面的管理也可 以采用位示图或空闲页面链的形式。 由于主存中所有进程的虚拟地址空间之和远大于主存空间,因 此进程执行时常发生缺页中断,这样不断地调入新页,很快就 使主存空间饱和。以后再发生缺页时,要先淘汰一页才能装入 新页,这使得缺页处理时间过长,减缓了进程的执行速度,从 而影响到系统的性能。
虚拟技术进一步说明
系统要提供必要的硬件支持,如虚拟页式存储 中的页表机制、缺页中断机构以及相应的地址变换 机构。 虚拟存储技术是将内存与外存有机地结合在一 起,从而得到一个容量很大的虚拟空间。使用户感 到有一个很大的内存,不用再考虑内存的容量限制。 虚存虽然比内存要大得多,但不可能无限大, 其大小要受到外存空间的限制以及CPU地址所能表 示范围的限制。
排他性:程序运行不但体现在时间、空间的局部性, 还体现在某些程序段执行的排他性。 即程序设计者编程时要考虑程序执行时所能遇到的各 种情况,但具体到一次程序的执行,并不会发生所有 的状况。因而某些程序段在进程整个运行期间,可能 根本不使用,如出错处理、分支语句等。因而,没有 用到的程序段就不必调入内存。另外,有些程序段仅 执行一次,以后就再也不会用到,这样的程序段也没 有必要一直占用内存空间。 综上所述:程序只要装入内存一部分就可以运行, 当用到不在内存的部分时,再将其装入内存。换句 话就是说程序全部装入内存并不是程序运行的必要 条件。
(2)为使进程能有效地工作,应为它分配多少物理块合适
随着为每个进程所分配物理块数目的减少,将使进程执行中 的缺页率提高,导致非生产性开销过大,从而降低了进程的 执行速度,严重时导致进程不能向前推进。最少物理块数只 能保证程序能执行下去,而不是最合适的块数。 在1968年,Denning提出了工作集理论。所谓工作集就是进 程在某段时间里实际上要访问的页的集合。依据程序执行时 的局部特性,可以利用程序过去的行为来估计它未来的行为。 故定义运行进程在t-w到t这个时间间隔内所访问的页的集合 为该进程在时间t的工作集,记为W(t,w)。并把变量w称 之为“工作集窗口尺寸”,工作集中所包含的页面数称为 “工作集尺寸”,记为|W(t,w)|。
相关文档
最新文档