《操作系统第3章6讲虚拟存储》由会员分享,可在线阅读,更多相关《操作系统第3章6讲虚拟存储(38页珍藏版)》请在金锄头文库上搜索。
1、v问题:设有一页式存储管理系统,现有一用 户程序的逻辑地址空间最为16页,每页2048 字节,内存共有8个存储块,试问逻辑地址至 少应为多少位?用户程序如何进入内存并正 确执行?3.6 虚拟存储与请求页式存储管理 v3.6.1 虚拟存储器的概念一个认为有的、但实际上不存在的“大 ”存储器,就被称为“虚拟存储器”。TIP:虚拟存储器的容量由计算机系统的地址结构决定。v 在虚拟存储管理的系统里,把用户作 业的相对地址空间改称为“虚拟地址空间 ”,里面的地址称为“虚拟地址”。v问题:引起下面两个问题的原因是? (1)程序运行时,需要的内容不在内存; (2)调入信息时内存没有未分配的存储区。v3.6.
2、2 请求分页式存储管理的基本思想v 作业全部进入辅助存储器,运行时,并 不把整个作业程序一起都装入到内存,而只 装入目前要用的若干页,其他页仍然保存在 辅助存储器里。 图3-32 请求分页式存储管理示意图v问题:一个虚拟地址结构用24个二进制位 表示。其中12个二进制位表示页面尺寸。 试问这种虚拟地址空间总共多少页?每页 的尺寸是多少? v3.6.3 缺页中断的处理v 在请求分页式存储管理中,是通过 页表表目项中的“缺页中断位”来判断 所需要的页是否在内存的。页页 号块块 号缺页页中断位辅辅 存 地 址n 这时的页表表项内容大致如下:v例题:v(1)内存容量为40KB,被划分成10个存储块 ,
3、操作系统程序占用第0块。如图(a)所示。v(2)内存第1块为系统数据区,里面存放着操 作系统运行时所需要的各种表格。请求分页式存储管理的图例缺页中断处理过程练习题:作业在执行中发生了缺页中断,那么 经过中断处理后,应该返回执行( )指令。A.被中断的前一条 B.被中断的那条 C.被中断的后一条 D.程序的第一条程序运行时的页面走向o 作业运行时,称一个程序执行过程中页号的 变化序列为“页面走向”。 v一个作业运行的页面走向中涉及到的页面总数为A ,其中有F次缺页,必须通过缺页中断把它们调入 内存。o f为“缺页中断率”: f = F/Av问题:产生缺页的原因是什么?影响缺页次 数的因素有那些?
4、v 影响缺页中断次数的因素有以下几种 。 (1)分配给作业的内存块数 (2)页面尺寸 (3)程序的实现 v例题:要把128128的数组元素初始化为“0”。数组中的每个元素占 用一个字。假定页面尺寸为128字,规定数组按行的顺序存放,系统只 分配给该作业2个内存块:一个存放程序,另一个用于数组初始化。作 业开始运行时,除程序已经在内存块外,数据均未进入。试问下面给 出的两个程序在运行时各会发生多少次缺页中断?程序1: main() int a128128; int i,j; for(i=0;i128;i+) for(j=0;j128;j+) aij=0; 程序2: main() int a128
5、128; int i,j; for(j=0;j128;j+) for(i=0;i128;i+)aij=0; v3.6.4 页面淘汰算法v“页面淘汰”问题:当时内存中已经没有空 闲块可供分配使用,那么就必须在内存中 选择一页,然后把它调出内存,以便为即 将调入的页面让出块空间。v1先进先出页面淘汰算法v 先进先出(FIFO)页面淘汰算法其 做法是进行页面淘汰时,总是把最早进 入内存的页面作为淘汰的对象。图3-28 先进先出页面淘汰算法的描述v例题:给出某作业的页面走向是4、3、2、 1、4、3、5、4、3、2、1、5。运行时,实 行FIFO淘汰算法,试就3个内存块和4个内 存块的情形,求出各自的
6、缺页中断率,并 对结果进行分析。v 对于FIFO页面淘汰算法,有时增加 分配给作业的可用内存块数,它的缺页次 数反而上升,通常称为“异常现象”。图3-33 FIFO的异常现象v2最近最久未用页面淘汰算法v 最近最久未用(LRU)页面淘汰算法 是检查这些淘汰对象的被访问时间,总 是把最长时间未被访问过的页面淘汰出 去。 v例题:在请求分页系统中,假如分配给一个 作业的物理块数为3,并且此作业的页面走向 为1、2、3、4、1、2、5、1、2、3、4、5。 1)请用最近最久未用页面淘汰算法(LRU)缺页率 。 2)请用先进先出页面淘汰算法(FIFO)缺页率。图3-31 最近最久未用(LRU)页面淘汰
7、算法的描述v3最近最少用页面淘汰算法v 最近最少用(LFU)页面淘汰算法是当 要进行页面淘汰时,总是把当前使用得最 少的页面淘汰出去。v例题:在请求分页系统中,假如分配给一个作 业的物理块数为3,并且此作业的页面走向为 2、3、2、1、5、2、4、5、3、2、5、2、1 。 1)请用最近最少使用淘汰算法计算缺页率。 2)请用最近最久未用页面淘汰算法(LRU)缺页 率。v4最优页面淘汰算法v 如果已知一个作业的页面走向,那么 要进行页面淘汰时,应该把以后不再使用 的或在最长时间内不会用到的页面淘汰出 去。这样所引起的缺页中断次数肯定最小 ,这就是所谓的“最优(OPT)页面淘汰算 法”。v请求分页
8、式存储管理的特点如下:v(1)它具有分页式存储管理的所有特点。v(2)解决了小内存与大作业的矛盾。v分页式存储管理的缺点:v 平均每一个作业仍要浪费半页大小的 存储块,也就是说,请求分页式存储管理 会产生内部碎片。总结练习题:1.存储管理的功能是( )。 A、执行程序 B、提高内存利用率 C、提高内存的速度 D、增加内存实际容量2.外存上存放的程序和数据( )。 A、可由CPU直接访问 B、必须在CPU访问之前全部移入内存 C、是必须由文件系统管理的 D、必须由进程调度程序管理3.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为( )。 A、源程序 B、目标程序 C、可执行程
9、序 D、非执行程序4.可由CPU调用执行的程序所对应的地址空间为( )。 A、符号名空间 B、虚拟地址空间 C、相对地址空间 D、物理地址空间5. 最佳适应算法是将空白区在空白区表中按( )次序排列。 A、地址递增 B、地址递减 C、容量递增 D、容量递减答案:1、B 2、C 3、B 4、C 5、C6.经过( ),目标程序可以不经过任何改动而装入物理内存单元。A、静态重定位 B、动态重定位 C、编译或汇编 D、存储扩充7.分区存储管理要求对每一个作业都分配( )内存单元。 A、地址连续 B、若干地址不连续 C、若干连续的帧 D、若不干连续的帧8.处理器有32位地址,则它的虚拟地址空间为( )字
10、节。 A、2GB B、4GB C、100KB D、640KB9.虚拟内存的容量只受( )的限制。 A、物理内存的大小 B、磁盘空间的大小 C、数据存放的实际地址 D、计算机地址结构10.虚拟存储技术不能与( )配合使用。A、分区存储管理 B、请求分页管理 C、段式管理 D、段页式管理答案:6、B 7、A 8、B 9、D 10、A11.在请求页式存储管理中,若所需要的页面不在内存中,则会引起( )。A、输入输出中断 B、时钟中断 C、越界中断 D、缺页中断12.以下存储管理技术中,支持虚拟存储器的技术是( )。A、动态分区法 B、可重定位分区法 C、请求分页技术 D、对换技术13.设内存容量是1
11、MB,辅存容量为400MB,计算机系统的地址寄存器有24 位,那么虚拟存储器的最大容量是( )。A、1MB B、401MB C、1MB224B D、 224B14.在请求分页系统中,LRU算法是指( )。 A、最早进入内存的页面先淘汰 B、近期最长时间以来没有被访问的页先淘汰 C、近期被访问次数最少的页先淘汰 D、以后再也不用的页面先淘汰15.请求分页存储管理中,若把页面尺寸增加一倍,在程序顺序执行时,则一般 缺页中断的次数会( )。A、增加 B、减少 C、不变 D、可能增加也可能减少答案:11、D 12、C 13、D 1 4、B 1 5、B16.在分页存储管理系统中,从页号到物理块号的地址映
12、射是通过( )实现的。A、段表 B 、页表 C、PCB D、JCB 17.在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数 增加时,缺页中断的次数( )。A、减少 B、增加 C、无影响 D、可能增加也可能减少18.碎片是指( )。A、存储分配完后所剩的空闲区 B、没有被使用的存储区C、不能被使用的存储区 D、未被使用,而又暂且不能使用的存储区19.碎片现象的存在使得( )。 A、内存空间利用率降低 B、内存空间利用率提高 C、内存空间利用率得以改善 D、内存空间利用率不影响20在固定分区分配中,每个分区的大小( )。 A、 相同 B、随作业长度变化 C、可以不同但是预先固定
13、D、可以不同但根据作业长度固定 答案:16、B 17、D 1 8、D 19、A 20、C21.系统抖动是指( )。 A、使用机器时,出现屏幕闪烁的现象 B、刚被调出的页面又立刻被调入所形成的频繁调入调出的现象 C、系统盘不干净,造成系统不稳定的现象 D、由于内存分配不当,偶然造成内存不够的现象22.在可变式分区存储管理中的拼接合并技术可以( )。 A、集中空闲区 B、增加主存容量 C、缩短访问周期 D、加速地 址转换23.作业在执行中发生了缺页中断,经OS处理后,应让其执行 ( )指令。 A、被中断的前一条 B、被中断的 C、被中断的后一条 D、启动 时的第一条24.虚拟存储管理系统的基础是程序的( )理论。 A、局部性 B、全局性 C、动态性 D、虚拟性25设内存的分配情况如下图所示。若要申请一块40K字节的内存空 间,若采用最佳适应算法,则所得到的分区首地址为( )。 A、100K B、190K C、330K D、410K答案:21、B 22、A 23、B 24、A 25、C占用占用占用占用0100K180K190K280K330K390K410K512K-1