最佳页面淘汰算法是怎样计算的?6
发布网友
发布时间:2023-11-01 19:28
我来回答
共4个回答
热心网友
时间:2024-11-14 15:26
<1> 先进先出调度算法
先进先出调度算法根据页面进入内存的时间先后选择淘汰页面,先进入内存的页面先淘汰,后进入内存的后淘汰。本算法实现时需要将页面按进入内存的时间先后组成一个队列,每次调度队首页面予以淘汰。
<2>最近最少调度算法
先进先出调度算法没有考虑页面的使用情况,大多数情况下性能不佳。根据程序执行的局部性特点,程序一旦访问了某些代码和数据,则在一段时间内会经常访问他们,因此最近最少用调度在选择淘汰页面时会考虑页面最近的使用,总是选择在最近一段时间以来最少使用的页面予以淘汰。算法实现时需要为每个页面设置数据结构记录页面自上次访问以来所经历的时间。
<3>最近最不常用调度算法
由于程序设计中经常使用循环结构,根据程序执行的局部性特点,可以设想在一段时间内经常被访问的代码和数据在将来也会经常被访问,显然这样的页面不应该被淘汰。最近最不常用调度算法总是根据一段时间内页面的访问次数来选择淘汰页面,每次淘汰访问次数最少的页面。算法实现时需要为每个页面设置计数器,记录访问次数。计数器由硬件或操作系统自动定时清零。
(2)缺页调度次数和缺页中断率、缺页置换率计算
缺页中断次数是缺页时发出缺页中断的次数。
缺页中断率=缺页中断次数/总的页面引用次数*100%
缺页调度次数是调入新页时需要进行页面调度的次数
缺页置换率=缺页调度次数/总的页面引用次数*100%
热心网友
时间:2024-11-14 15:26
1; 50%指令顺序执行
2;25%指令均匀散步在前地址部分
3;25%指令均匀散步在后地址部分
题目中选用:命中率=1-页面失败次数(只选用2的幂次)/叶地址流长度
算法:opt fifo rlu(定义)(至少用两个算法)
程序流程图
开始:产生给定长度符合假定的指令地址流->为每一个指令地址的成对应的访问页号->置初算size=1~8(1,2,4,8)(页面大上)实存
=4~32(4,8,16,32)->输入淘汰算法->A->ALG=FIFO(OR)(LRU)->FIFO->用FIFO计算命中率->用LRU计算命中率->输出结果->结束
算法定义:
理想淘汰算法--最佳页面算法(OPT)
淘汰以后不再需要的或最远的将来才会用到的页面
先进先出页面淘汰算法(FIFO)
选择在内存中驻留时间最长的页并淘汰之
最近最少使用页面淘汰算法(LRU)
选择最后一次访问时间距离当前时间最长的一页并淘汰之
即淘汰没有使用的时间最长的页.
热心网友
时间:2024-11-14 15:27
3放入内存,页面中断2放入内存,页面中断1放入内存,页面中断0不存在内存中,放入内存需要置换,1等待的时间更久,所以0更换1,此时3 2 0存在在内存中,页面中断3存在在内存中,无须中断2存在在内存中,无须中断1不存在内存中,放入内存需要置换,0等待的时间更久,所以1更换0,此时3 2 1存在在内存中,页面中断3存在在内存中,无须中断2存在在内存中,无须中断1存在在内存中,无须中断0不存在内存中,放入内存需要置换,3等待的时间更久,所以0更换3,此时0 2 1存在在内存中,页面中断4不存在内存中,放入内存需要置换,2等待的时间更久,所以4更换2,此时0 4 1存在在内存中,页面中断一共发生了7 次中断
热心网友
时间:2024-11-14 15:27
是什么东西啊?