【操作系统】OPT算法

B、考虑下述页面走向:6,7,5,2,6,7,3,6,7,5,2,3 当分配的内存物理块数量分别为 3 和 4 时:     OPT(最优页面置换算法) 的缺页次数分别是多少?

OPT(最佳置换算法):从主存中移出永远不再需要的页面,如果没有这样的页面存在,那就选择最长时间不需要访问的页面,来保证最低的缺页率

当分配的内存物理块数量为3时

先放入6,7,5,当放入2的时候,显而易见,最长时间不需要访问的页面就是5,那么先将5给置换掉

当放入6的时候,已经存在,不需要置换

当放入7的时候,已经存在,不需要置换

当放入3的时候,最长时间不需要访问的页面就是2,那么先将2给置换掉

当放入6的时候,已经存在,不需要置换

当放入7的时候,已经存在,不需要置换

当放入5的时候,最长时间不需要访问的页面就是6和7,可以将其中一页置换掉

当放入2的时候,最长时间不需要访问的页面就是5和7或者5和6,可以将其中一页置换掉

最后当放入3的时候,已经存在,不需要置换

显而易见,缺页次数达到7次,少于用FIFO得到的结果

 67526736

7

523
1666666666555
2 77777777722
3  5222333333
RYYYYNNYNNYYN

当分配的内存物理块数量为4时

先放入6,7,5,2,当放入6的时候,显而易见,已经存在,不需要置换

当放入7的时候,已经存在,不需要置换

当放入3的时候,最长时间不需要访问的页面就是2,那么先将2给置换掉

当放入6的时候,已经存在,不需要置换

当放入7的时候,已经存在,不需要置换

当放入5的时候,已经存在,不需要置换

当放入2的时候,最长时间不需要访问的页面就是5、6、7,可以将其中一页置换掉

最后当放入3的时候,已经存在,不需要置换

显而易见,缺页次数达到6次,少于用FIFO得到的结果

 675267367523
1666666666622
2 77777777777
3  5555555555
4   222333333
RYYYYNNYNNNYN

 

操作系统中的Opt(最优化置换算法是一种高级的页面替换策略,它旨在提高内存空间的利用率并减少缺页中断。这种算法通常用于那些需要频繁访问局部数据集的情况,比如数据库查询或图形处理。 Opt算法的核心思想是基于预测未来的页面访问模式,而不是简单的最近最少使用(LRU)。它维护了一个称为“最近最常使用”(LFU,Least Frequently Used)的数据结构,用于跟踪哪些页面最近被访问过,以及频率如何。当需要淘汰一页时,不是简单地选择最近未使用的页面,而是依据访问频率进行决策。 虽然具体的Opt算法实现可能会因语言和库的不同而有所差异,但在许多编程语言中,如C++或Python,你可以通过以下几个步骤概括其原理: 1. 使用一个关联数组(哈希表或优先队列)存储每一页及其访问频率。 2. 当缓存满或者发生缺页时,检查当前活跃页面列表,并更新它们在LFU数据结构中的频率。 3. 从LFU列表中找到频率最低的页面,即最久未使用的页面,作为淘汰候选。 4. 将淘汰的页面替换掉新产生的页面或者访问频率最高的页面。 请注意,真正的Opt算法实现通常会在操作系统内核级别完成,涉及复杂的内存管理操作,实际编写代码会比较复杂。如果你对这个主题感兴趣,学习操作系统设计原理和数据结构将是很好的起点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值