课程来源《操作系统_清华大学(向勇、陈渝)》
局部页面置换算法:最优页面置换算法OPT、先进先出算法FIFO、最近最久未使用算法LRU、时钟页面置换算法Clock、最不常用算法LFU、Belady现象、LRU和FIFO和Clock的比较
全局页面置换算法:局部页替换算法的问题、工作集模型、工作集页置换算法、缺页率置换算法、抖动问题
1.最优页面置换算法
功能:当缺页中断发生时,需要调入新的页面而内存已满时,需要选择哪个物理页面被置换?
目标:尽可能减少缺页中断(页面的换入换出)次数。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理下根据过去的数据统计进行预测。
页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分,或时间关键的应用进程(time-critical)。实现方法:需要在页表中添加锁定标志位(lock bit)。
比较不同的页面置换算法:
设置一个实验环境,记录一个进程对页访问的轨迹。
虚拟地址跟踪(3,0) (1,9) (4,1)……
偏移可忽略,只用页号生成页面轨迹3,1,4 ……
模拟一个页面置换的行为并且记录产生缺页的数量,越少越好
最优页面置换算法
基本思路:当一个缺页中断发生时,对于保存在内存中的每一个逻辑页面,计算在它的下一次访问之前,还需要等待多长时间从中选择等待时间最长的那个,作为被置换的页面。
这只是一种理想情况,在实际系统中是无法实现的,因为操作系统无从知道每一个页面要等待多长时间才会再次被访问。
可用作其他算法的性能评价的依据(在一个模拟器上运行某个程序,并记录每一次的页面访问情况,在第二遍运行时即可使用最优算法)。
2.先进先出算法
先进先出算法(First-In First-Out