#lec9: 虚存置换算法spoc练习
-
设计置换算法时需要考虑哪些影响因素?如何评判的好坏?
-
全局和局部置换算法的不同?
- 最优算法、先进先出算法和LRU算法的思路?
-
时钟置换算法的思路?
-
改进的时钟置换算法与时钟置换算法有什么不同?
-
LFU算法的思路?
-
什么是Belady现象?如何判断一种置换算法是否存在Belady现象?
-
请证明LRU算法不存在Belady现象。
-
CPU利用率与并发进程数的关系是什么?
-
什么是工作集?
-
什么是常驻集?
-
工作集算法的思路?
- 缺页率算法的思路?
-
什么是虚拟内存管理的抖动现象?
-
操作系统负载控制的最佳状态是什么状态?
-
局部置换算法(如FIFO, LRU等)是否能作为全局置换算法来使用?为什么?
-
改进时钟置换算法的极端情况: 如果所有的页面都被修改过了,这时需要分配新的页面时,算法的performance会如何?能否改进在保证正确的前提下提高缺页中断的处理时间?
-
如何设计改进时钟算法的写回策略?
-
(spoc)根据你的
学号 mod 4
的结果值,确定选择四种页面置换算法(0:LRU置换算法,1:改进的clock 页置换算法,2:工作集页置换算法,3:缺页率置换算法)中的一种来设计一个应用程序(可基于python, ruby, C, C++,LISP等)模拟实现,并给出测试用例和测试结果。请参考如python代码或独自实现。
-
请判断OPT、LRU、FIFO、Clock和LFU等各页面置换算法是否存在Belady现象?如果存在,给出实例;如果不存在,给出证明。
-
了解LIRS页置换算法的设计思路,尝试用高级语言实现其基本思路。此算法是江松博士(导师:张晓东博士)设计完成的,非常不错!
A:
A:
A:
A:
A:
A:
Q7:[基础] 描述belady现象。[进阶] 哪些算法有belady现象?[困难]思考belady现象的成因,尝试给出说明OPT和LRU等没有belady现象的思路(仅仅是思路,大体有一个方向即可)。
A:
A:
A:
Q10:[进阶] 考虑在 32 位 x86 下使用页表自映射。为了方便用三元组 (a, b, c) 表示虚拟/物理地址 ((a<<22) +(b<<12) + c),其中 0<=a,b<1024,0<=c<4096。假设页目录的物理地址是 (A, B, 0),并且页目录的第 e 项 (0<=e<1024) 是自映射项,就是说在 (A, B, 4*e) 页目录项指向页目录自己的物理地址 (A, B, 0).
A:
A:
A:
A:
A:
A:
A:
A:
A:
A:
A: