|
知识路径: > 计算机系统综合知识 > 操作系统 > 操作系统基本原理 > 存储管理 >
|
被考次数:6次
被考频率:中频率
总体答错率:57%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:2个
|
|
|
|
在虚拟存储器的管理中,涉及载入(调入)、放置(放入分区)和置换(swapping)等问题。
|
|
|
(1)调入策略:即何时将一页或一段从外存中调入内存,通常有两种策略,一种是请求调入法,即需要使用时才调入;另一种是先行调入法,即将预计要使用的页/段先行调入内存。
|
|
|
(2)放置策略:也就是调入后,放在内存的什么位置,这与内存管理基本上是一致的。
|
|
|
(3)置换策略:由于实际内存是小于虚存的,因此可能会发生内存中已满,但需要使用的页不在内存中这一情况(称为缺页中断)。这时就需要进行置换,即将一些内存中的页淘汰到外存,腾出空间给要使用的页,这个过程也称为swapping。
|
|
|
|
|
(1)最优(Optimized, OPT)算法:选择淘汰不再使用或最将来才使用的页,这是理想的算法,但难以实现,常用于淘汰算法的比较。
|
|
|
(2)随机(rand)算法:随机地选择淘汰的页,开销小,但可能选中立即就要访问的页。
|
|
|
(3)先进先出(First In and First Out, FIFO)算法:选择淘汰在内存驻留时间最长的页,似乎合理,但可能淘汰立即要使用的页。另外,使用FIFO算法时,在未给予进程分配足够的页面时,有时会出现给予进程的页面数越多,缺页次数反而增加的异常现象,这称为belady现象。例如,若某个进程访问页面的顺序(称页面访问序列)是432143543215,当进程拥有3个主存页面时,缺页率比拥有4个主存页面时要小。
|
|
|
(4)最近最少使用(Least Recently Used, LRU)算法:选择淘汰离当前点时刻最近的一段内使用得最少的页。例如,若某个进程拥有3个主存页面,已访问页面的顺序是4314,现在如果要访问第2页,则需要淘汰第3页,因为第1、4页刚刚使用了。这个算法的主要出发点是,如果某页被访问了,则它可能马上就要被访问。OPT算法和LRU算法都不会发生belady异常现象。
|
|
|
|
存储管理策略的基础是局部性原理,即进程往往会不均匀地高度局部化地访问内存。局部性分为时间局部性和空间局部性。时间局部性是指最近访问存储位置,很可能不久的将来还要访问;空间局部性是指存储访问有成组的倾向:当访问了某个位置后,很可能也要访问其附近的位置。
|
|
|
根据局部性原理的特征性,Denning阐述了程序性能的工作集理论。工作集是进程频繁访问的页面的集合。工作集理论指出,为使进程有效地运行,它的页面工作集应驻留内存中。否则,由于进程频繁地从外存请求页面,而出现称为“颠簸”(抖动)的过度的页面调度活动。此时,处理页面调度的时间超过了程序的执行时间。显然,此时CPU的有效利用率会急速下降。
|
|
|
通常用两种等价的方法确定进程的工作集,一种是将工作集确定为在定长的页面访问序列(工作集窗口)中的页面集合,另一种是将工作集确定为在定长时间间隔中涉及到页面的集合。工作集的大小依赖于工作集窗口的大小,在进程执行时,工作集会发生变化。有时,当进程进入另一个完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程的执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。
|
|
|
另一种控制颠簸的技术是控制缺页率。操作系统规定缺页率的上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间,则分配较多的内存页面给它,当进程的缺页率低于下限时,表明该进程占用的内存空间过大,可以适当地收回若干内存页面。
|
|
|