一、影响缺页率的主要因素
- 分配给作业的主存块数:
多则缺页率低,反之则高。 - 页面大小:
大则缺页率低;反之则高。 - 页面调度算法:
对缺页中断率影响很大,但不可能找到一种最佳算法。 - 程序编制方法:
以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。
二、虚拟存储管理下访问内存的有效时间
λ为访问快表的时间/更新快表的时间
t为访问内存的时间
ε为缺页中断处理时间
请求分页管理方式下,存在三种方式的内存访问:
- 页在内存,且快表检索命中
EAT= λ + t - 页在内存,但快表检索没有命中
EAT= 快表检索时间+访问页表时间+修改更新快表时间+访问页面物理内存时间
= λ +t+ λ +t=2*( λ + t) - 页面不在内存
EAT=快表检索时间+访问页表时间+缺页中断处理时间+修改更新快表时间+访问页面物理内存时间
= λ + t + ε + λ + t - 加入概率的综合公式(a是快表命中率,f是缺页率)
EAT= λ + at +(1-a){ }
= λ +at +(1-a){t + f*(ε+λ+t) +(1-f)*(λ+ t) }
特别注意:题干中的字眼,判断是否需要重新访问
三、”抖动“与工作集
-
抖动
(1)系统抖动:大部分处理器时间都用在来回的页面调度上,这种局面称为系统抖动或颠簸(thrashing)
(2)抖动的后果:
①缺页率急剧增加
②内存有效存取时间加长,
③系统吞吐量骤减;系统已基本不能完成什么任务,而是忙于页面对换操作,cpu虽然忙,但效率急剧下降。
(3)根本原因:
页面淘汰算法不合理;分配给进程的物理页面数(驻留集)太少。
(4)常用防抖动方法:
①局部置换策略;
②页面调入内存前检查各进程工作集,为缺页率高的增加有限物理块;
③L缺页间的平均时间=S置换一个页面所需时间,可使磁盘和cpu达到最大利用率;
④抖动发生时选择暂停一些进程,调节多道程序度。===》例题:
-
工作集和驻留集
(1)工作集:在某段时间间隔△里(过去的某段时间),进程实际所要访问页面的集合。可以用一个二元函数W(t, △)来表示, t是当前的执行时刻,△ 称为工作集窗口)。
(工作集稳定是指不再发生变化)
(2)驻留集:在当前时刻,进程实际驻留在内存当中的页面集合。
工作集是进程在运行过程中固有的性质,而驻留集取决于系统分配给进程的物理页面数目,以及所采用的页面置换算法。
驻留集>=工作集
四、要点练习
- 实现虚拟存储器的目的是:
从逻辑上扩充主存容量。 - 虚拟的基础是局部性原理,其基本含义是指令的局部性(时间局部性与空间局部性)。
- 在虚存管理中,虚拟地址空间是指逻辑地址空间,实地址空间是指物理地址空间;前者的大小受( )的限制,而后者的大小受( )的限制。
机器的指令地址长度;物理内存大小。 - 在请求页式系统中,OPT是( );LRU是( );NRU是( );LFU是( ) 。
最佳置换算法;最近最久未使用置换算法;最近未使用置换算法;最不经常使用置换算法。 - 页式虚拟存储管理的主要特点是:
不要求将作业同时全部装入到主存的连续区域。 - 在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数( ):
可能增加也可能减少。 - 在请求分页系统中,地址变换过程可能会因为( )、( )、( )错误等原因而产生中断。
缺页、地址越界、访问权限错误。 - 在请求分段存储管理中,系统必须至少具有三种支持机构,分别为( ):
段表、缺段中断机构、地址变换机构。