各单元换算法
❶ 一文看懂页面置换算法
页面置换算法分为两类:局部页面置换算法与全局页面置换算法。其主要功能是在内存已满时,选择应置换出内存的物理页面,目标是减少页面换进换出次数,通常基于过去数据预测未来行为。页面锁定用于关键部分或时间关键应用,不参与置换。页面置换算法通常仅考虑页号,通过模拟行为记录缺页次数。下面介绍几种常用的页面置换算法。
最优页面置换算法考虑每个逻辑页面在下一次访问前的等待时间,选择等待时间最长的页面置换。然而,该算法无法实时运行,只能通过上帝视角模拟。
先进先出算法(FIFO)选择内存中最久未使用的页面置换,实现简单,但产生缺页次数较多,且可能频繁置换出经常访问的页面。
最近最久未使用算法(LRU)选择最久未被访问的页面置换,基于局部性原理预测未来访问行为,效果较好但实现复杂。
时钟页面置换算法结合了LRU与FIFO的优点,通过访问位和环形链表实现更优化的页面置换策略。
二次机会法通过区分读写操作,优先保留经常读取的页面,减少频繁置换,降低回写概率。
最不常用算法(LFU)选择访问次数最少的页面置换,虽然实现简单,但增加计数器消耗资源,且容易产生不合理置换。
Belady现象指增加物理页面导致缺页率提高的反直觉现象,源于FIFO算法与动态特征不匹配。相比之下,LRU算法与栈属性相匹配,较少出现Belady现象。
局部页面置换算法适用于单程序情况,而全局页面置换算法更适合多程序环境,需考虑动态分配物理页帧以适应进程需求变化。工作集模型描述了进程当前使用的逻辑页面集合,常驻集则表示实际驻留在内存的页面。工作集页置换算法根据工作集大小动态调整物理页帧,缺页率页面置换算法则基于缺页率调整常驻集大小。
抖动问题发生在物理页面分配不足时,频繁置换导致进程运行效率降低。解决抖动的关键在于平衡并发进程数与物理页面数量,确保系统稳定运行。通过优化算法与资源分配,可有效减少抖动,提高系统整体性能。
❷ 计算机组成原理-----替换算法
fifo先进先出算法 有abc 三个存储空间 每个空间能存放一个元素按照队列方式
进出,以此是 a b c 命中率=abc中访问到的次数/元素个数
------------------2 1 0 此时存储空间已满 要调用新的元素就要出队列
------------------4 2 1 下一个元素2在b内 访问成功一次
------------------。。。。 以此类推
--------------最后3 1 2 最后一个元素又从存储单元里访问到一次 所以2/11
fifo+lru:同上加上最近虽少使用。列出上面的表格按队列进入 把最长时间没使用到的替换掉 一共访问到2这个元素3次 所以就是3/11