虚拟存储的内涵
缺页中断与抖动
1、页面置换算法,缺页率计算,LRU、FIFO等
知识
1之前学习的存储器管理方式都需要作业全部装入内存后才能运行,这就会导致,大作业装不下,少量作业得以运行,所以我们提出两种解决办法:
2常规存储器管理方式的特征:一次性(降低了利用率和吞吐率),驻留性
3局部性原理:时间局部性(一条指令被执行了,在不久的将来它还可能被执行),空间局部性(若某一存储单元被使用,则在一定时间内,和该存储单元相邻的单元可能被使用)
通过某种技术,将原不能共享的独占设备变为共享设备,改造后的独占设备称为虚拟设备。
虚拟存储器:
具有请求调入功能和置换功能,从逻辑上对内存容量加以扩充,其逻辑容量由内存容量和外存容量之和决定,运行速度接近于内存,成本接近于外存
4虚拟存储器的特征:多次性(作业中的数据和程序允许被分成多次调入内存运行),对换性(作业运行是无需常驻内存,允许作业换入,换出),虚拟性(逻辑上扩充内存容量,使用户看到的内存容量远大于实际容量)
5虚拟存储器的实现方法:请求分页系统(硬件支持【请求分页的页表机制,缺页中断机构,地址变换机构】,软件支持【请求调页,页面置换】),请求分段系统(硬件支持【请求分段的段表机制,缺段中断机构,地址变换机构】,软件支持【请求调段,段置换】)
6请求分页存储器管理方式:请求页表机制:状态位P(指示该页是否在内存),访问字段A(记录该页在一段时间内被访问的次数),修改位M(标志该页是否被修改过),外存地址(指示该页在外存中的地址)
7请求分页硬件支持:缺页中断机构(缺页中断CPU,在指令执行期间,产生和处理中断信号;一条指令在执行期间,可能会产生多次缺页中断),地址变换机构(与分页内存存储管理方式类似)
缺页中断:
在请求分页系统中,每当要访问的页面不在内存时,便产生一缺页中断,请求OS将所缺之页调入内存。缺页中断作为中断,同样需要经历诸如保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境等几个步骤。但缺页中断是一种特殊的中断,与一般中断有明显区别:
●在指令执行期间产生和处理中断信号。
●一条指令在执行期间,可能产生多次缺页中断。
8请求分页中的内存分配:

9页面调入策略

页面置换算法:
最佳页面置换算法(OPT),先进先出页面置换算法(FIFO),最近最久未使用页面置换算法(LRV)
计算式:
缺页次数=从左到右物理块的类型数
总数=页面走向的个数
页面置换次数=缺页次数-物理块的个数
缺页率=缺页次数/总数
10最佳页面置换算法:
最佳置换算法(OPT)
淘汰最长时间不会被使用的页面,先后看(在未来最长时间不访问)
特点:
理论上是性能最佳,实际上无法预知无法实现
通常用该算法来评价其他算法的优劣

11先进先出页面置换算法(FIFO)
总是淘汰最早进入内存的页面,淘汰驻留时间久的(不管期间是否又被调用过)
特点:实现简单
与进程实际运行规律不相适应,有些页面经常被访问如全局变量,常用函数

12最近最久未使用页面置换算法(LRV)
最近最久未使用算法(LRU)
淘汰在最近一段时间最久未被使用的页面,向前看,最近未被访问的
特点:性能较好
实现复杂,为了记录进程在内存中各个页使用情况,需要硬件支持

13页面缓冲算法PBA:影响页面换入换出效率的若干因素(页面置换算法,写回磁盘的频率,读入内存的频率),页面缓冲算法(空闲页面链表,修改页面链表)
14请求分页系统的内存有效访问时间:λ为查看快表时间,t为访问内存的时间

EAT=t+f*(ε+t)+(1-f)*t (f为缺页率)
15”抖动“与工作集:
16多道程序度与“抖动”:随着进程数目的增加,处理机利用率趋于0时是系统中已发生了“抖动”。(抛物线趋势)
17产生“抖动”的原因是同时在系统中运行的进程太多,而分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁的出现缺页,必须请求系统将所缺之页调入内存。
18”抖动“的预防方法:采用局部置换策略,把工作集算法融入处理机调度中,利用L=S准则调节缺页率(L为缺页之间的平均时间,S是平均缺页服务时间,L>S很少发生缺页;L<S频繁发生缺页,L=S磁盘和处理机达到最大利用率),选择暂停的进程
19工作集是指在某段时间间隔 里,进程实际所要访问页面的集合。
20随着物理块数的增加,缺页率趋于0
21请求分段存储管理方式:在请求分段系统中,程序运行之前,只需先调入若干个分段(不必调入所有的分段),便可启动运行。当所访问的段不在内存中时,可请求OS将所缺的段调入内存
22硬件支持:
23段表机制
(在请求分段系统中所需要的主要数据结构是段表。由于在应用程序的许多段中,只有一部分段装入内存,其余的一些段仍留在外存上,故需在段表中增加若干项,以供程序在调进、调出时参考。),
24缺段中断机构
在请求分段系统中,每当发现运行进程所要访问的段尚未调入内存时,便由缺段中断机构产生一缺段中断信号,进入OS后由缺段中断处理程序将所需的段调入内存。缺段中断同样需要在一条指令的执行期间,产生和处理中断,以及在一条指令执行期间,可能产生多次缺段中断。但不会出现一条指令被分割在两个分段中或一组信息被分割在两个分段中的情况。
25地址变换机构
请求分段系统中的地址变换机构,是在分段系统地址变换机构的基础上形成的。因为被访问的段并非全在内存,因而在地址变换时,若发现要访问的段不在内存,必须先将所缺的段调入内存,并修改段表,然后才能利用段表进行地址变换。在地址变换机构中需增加缺段中断的处理及请求等功能。
26分段的共享和保护:
例题
3. (单选题)(考研真题,单项选择题)在页式存储管理系统中,采用某些页面置换算法,会出现Belady异常现象,即进程的缺页次数会随着分配给该进程的页框个数的增加而增加。下列算法中,可能出现Belady异常现象的是( )。
A. FIFO算法
B. LRU算法
C. OPT算法
D. CLOCK算法
正确答案: A
答案解析:
Belady现象是系统为进程分配的页数增多(未分配进程所需的全部页),但缺页率反而提高的异常现象。只有FIFO算法才会出现Belady现象。FIFO算法将最早调入的页调出,而调出的页在不久可能会被重新使用出现反复调入调出,缺页率反而上升。
4. (单选题)(考研真题,单项选择题)系统为某进程分配了4个页框,该进程已访问的页号序列为2、0、2、9、3、4、2、8、2、4、8、4、5。若进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是( )。
A. 2
B. 3
C. 4
D. 8
正确答案: A

5. (单选题)(考研真题,单项选择题)某系统采用LRU页置换算法和局部置换策略,若系统为进程P预分配了4个页框,进程P访问页号的序列为0、1、2、7、0、5、3、5、0、2、7、6,则进程访问上述页的过程中,产生页置换的总次数是( )。
A. 3
B. 4
C. 5
D. 6
正确答案: C
6. (单选题)(考研真题,单项选择题)当系统发生抖动(thrashing)时,可以采取的有效措施是( )。 Ⅰ.撤销部分进程 Ⅱ.增加磁盘交换区的容量 Ⅲ.提高用户进程的优先级
A. 仅Ⅰ
B. 仅Ⅱ
C. 仅Ⅲ
D. 仅Ⅰ、Ⅱ
正确答案: A
答案解析:
【解析】在具有对换功能的操作系统中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程。抖动现象是指刚刚被换出的页很快又要被访问,又要换出其他页,而该页又快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上。撤销部分进程可以减少所要用到的页面数,防止抖动。而交换区大小和进程优先级都与抖动无关。
7. (单选题)(考研真题,单项选择题)下列措施中,能加快虚实地址转换的是( )。1增大快表(TLB) 2让页表常驻内存 3增大交换区
A. 仅1
B. 仅2
C. 仅1,2
D. 仅2,3
正确答案: C
答案解析:
增大快表能增加快表的命中率,即减少了访问内存的次数;让页表常驻内存能够使CPU不用访问内存找页表,也加快了虚实地址转换。而增大交换区只是对内存的一种扩充作用,对虚实地址转换并无影响。
8. (单选题)(单项选择题)在分页虚拟存储管理中,“二次机会”调度策略和“时钟”调度策略在决定淘汰哪一页时,都用到了( )。
A. 虚实地址变换机构
B. 快表
C. 引用位
D. 修改位
正确答案: C
9. (单选题)下面关于虚拟存储管理的论述中,正确的是( )。
A. 为了能让更多的进程同时运行,可以只装入10%~30%的进程映像,即启动运行
B. 最佳页面置换算法是实现页式虚拟存储管理的常用算法
C. 即使在多用户操作系统环境下,用户也可以运用机器指令访问任一合法的物理地址
D. 为提高内存保护的灵活性,内存保护通常由软件完成
正确答案: A
10. (单选题)(单项选择题)请求分段系统在分段系统的基础上,增加了( )及分段置换软件功能。
A. 请求调段
B. 段表
C. 缺段中断
D. 地址变换
正确答案: A
11. (单选题)(单项选择题)实现虚拟存储器管理一般包括两个方面的支持,它们是( )。
A. 地址变换机构和对象管理机构
B. 地址变换机构和页面调度策略
C. 高速缓存机构和页面调度机构
D. 高速缓存机构和对象管理机构
正确答案: B
12. (单选题)在某请求分页存储管理系统中,主存容量为1MB,被划分为256块,每块为4KB,现有一作业,其页表如下表所示。试问:(1)若给定一逻辑地址为9016(十进制),求其物理地址()。(2)若给定一逻辑地址为12300(十进制),求其物理地址()。
页号 | 块号 | 状态 |
0 | 24 | 0 |
1 | 26 | 0 |
2 | 32 | 0 |
3 | — | 1 |
4 | — | 1 |
A. 128K+824,缺页中断
B. 125K+824,缺页中断
C. 缺页中断,128K+824
D. 缺页中断,125K+824
正确答案: A
答案解析:
16.【参考答案】(1)逻辑地址(页号2,页内地址824)查页表可知,该页被装入主存的第32块中,所以,其物理地址为:128K+824。
(2)若给定逻辑地址为12300,其页号为3,查页表,该页的状态位为1可知未装入主存,因而产生缺页中断。中断后由中断处理程序将该页装入主存,然后进行地址变换。
二. 填空题(共2题,14.8分)
13. (填空题)分页存储管理系统具有快表,内存访问时间为2μs,检索快表时间为0.5μs。若快表的命中率为80%,且忽略快表更新时间,则有效访问时间是( )μs。
正确答案:
(1) 2.9
答案解析:
【解析】在引入快表的分页存储管理系统中,有效访问时间的计算公式为:
EAT=a×λ+(t+λ) ×(1-a)+t=2t+λ-t×a
其中,t为内存访问时间,t=2μs;λ为检索快表的时间,λ=0.5μs;a为快表的命中率,a=80%。代入数据,得有效访问时间EAT=2.9μs。
14. (填空题)在一个分页存储管理系统中,页面大小为4KB,系统中的地址占24位,给定页面变换表如下表所示。计算逻辑地址(页号为3,页内地址为100)的物理地址______。
页号P | 块号B |
0 | 3 |
1 | 4 |
2 | 9 |
3 | 7 |
正确答案:
(1) 28772
答案解析:
【参考答案】(1)逻辑地址(页号3,页内地址100)的物理地址为:
7×4KB+100=28KB+100=28772
在请求分页存储管理中,系统是通过页表进行地址转换。先将逻辑地址分解成页号P和页内地址W两部分,然后查页表,可得页号P对应的物理块号为B,从而变换出对应的物理地址为:物理地址=块号×页面大小+页内地址
本文深入探讨了虚拟存储器的概念,介绍了虚拟存储器的特征,如多次性、对换性和虚拟性,并讨论了其实现方法,如请求分页和请求分段系统。重点讲解了请求分页的硬件支持,包括页表机制、缺页中断机构和地址变换机构,以及页面置换算法,如OPT、FIFO和LRU。此外,还涉及了工作集、抖动问题及其预防方法。最后,通过例题分析了LRU算法和FIFO算法在页面置换中的应用。

1万+

被折叠的 条评论
为什么被折叠?



