《操作系统》第8章:虚拟内存

时间:2023-01-15 00:49:54

1,简单分页与虚拟分页有什么区别?

一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。

虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。


2,解释什么是抖动

虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。


3,为什么在使用虚拟内存时,局部性原理是至关重要的?

可根据局部性原理设计算法来避免抖动,允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此决定候选的替换出的页。


4,哪些元素是页表项中可以典型找到的元素?简单定义每个元素。

帧号:用来表示主存中的页来按顺序排列的号码

存在位(P):表示这一页是否当前在主存中

修改位(M):表示这一页在放进主存后是否被修改过。


5,转换检测缓冲区的目的是什么?

减少从磁盘中恢复一个页表所需的时间


6,简单定义两种可供选择的页面读取策略。(P256)

请求分页:只有当访问到某页中的一个单元时才将该页取入内存

预先分页:读取的页并不是缺页中断请求的页,利用了大多数辅存设备(如磁盘)的特性,这些设备有寻道时间和合理的延迟


7,驻留集管理和页面置换策略有什么区别?

驻留集管理关注的问题:给每个活动进程分配多少页框。

计划置换页的集合是局限在那些产生缺页中断的进程,还是所有页框都在内存中的进程。

置换策略关注的问题:在计划置换的页集中,选择换出哪一个页


8,FIFO和clock页面置换算法有什么关系?

时钟算法与FIFO算法很接近,除了在时钟算法中任何一个使用位为1的页被忽略。


9,页缓冲实现的是什么?

a,被替换出驻留集的页不久又被访问时,仍在主存中,减少了一次磁盘读写

 b,被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了I/O操作的数目,从而减少了磁盘访问的时间。


10,为什么不可能把全局置换策略和固定分配策略组合起来?

固定分配策略要求分配给一个进程的帧的数目是确定的,当一个进程中取入一个新的页时,这个进程的驻留页集中的一页必须被替换出来(保持分配的帧的数目不变),这是一种局部替换策略。


11,驻留集和工作集有什么区别?

一个进程的驻留集是指当前在主存中的这个进程的页的个数,一个进程的工作集是指这个进程最近被使用过的页的个数。


12,请求式清楚和预约式清楚有什么区别?

在请求式清除中,只有当一页被选择用于替换时才被写回辅存;在预约式清除中,将这些被修改的多个页在需要用到它们所占据的页帧之前成批的写回辅存