《替换算法(精品).ppt》由会员分享,可在线阅读,更多相关《替换算法(精品).ppt(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、先进先出算法:先进先出算法:即FIFO算法(First-In First-Out algorithm)。这种算法选择最先调入主存储器的页面作为被替换的页面。它的优点是比较容易实现,能够利用主存储器中页面调度情况的历史信息,但是,没有反映程序的局部性。因为最先调入主存的页面,很可能也是经常要使用的页面。近期最少使用算法:近期最少使用算法:即LRU算法(Least Recently Used algorithm)。这种算法选择近期最少访问的页面作为被替换的页面。显然,这是一种非常合理的算法,因为到目前为止最少使用的页面,很可能也是将来最少访问的页面。该算法既充分利用了主存中页面调度情况的历史信息,
2、又正确反映了程序的局部性。但是,这种算法实现起来非常困难。它要为每个页面设置一个很长的计数器,并且要选择一个固定的时钟为每个计数器定时计数。在选择被替换页面时,要从所有计数器中找出一个计数值最大的计数器。因此,通常采用另外一种变通的办法,就是下面的LFR算法。最久没有使用算法:最久没有使用算法:即LFU算法(Least Frequently Used algorithm)。这种算法把近期最久没有被访问过的页面作为被替换的页面。它把LRU算法中要记录数量上的多与少简化成判断有与无,因此,实现起来比较容易。LFU算法的具体实现方法将在下一节中介绍。最优替换算法:最优替换算法:即OPT算法(OPTi
3、mal replacemant algorithm)。上面介绍的几种页面替换算法主要是以主存储器中页面调度情况的历史信息为依据的,它假设将来主存储器中的页面调度情况与过去一段时间内主存储器中的页面调度情况是相同的。显然,这种假设不总是正确的。最好的算法应该是选择将来最久不被访问的页面作为被替换的页面。这种替换算法的命中率一定是最高的。这就是最优替换算法,简称OPT算法。替换算法:FIFO 和LRU1。FIFO算法:把最先调入CACHE或页面的字块替换出去2。LRU算法:把一组中近期最少使用的字块替换出去。它需要随时记录CACHE存储器或页面中各个字块的使用情况,以确定哪个字块是近期最少使用的字
4、块。原始状态替换7 访问5 访问1 替换60 1 2 3 4 5 6 77 0 1 2 3 4 5 6 5 7 0 1 2 3 4 61 5 7 0 2 3 4 66 1 5 7 0 2 3 4 例1:假设主存只有a,b,c三个页框,组成a进c出的FIFO对列,访问页面的序列是0,1,2,4,2,3,0,2,1,3,2号用列表法求出FIFO和LRU算法的命中率。页面访问序列01242302132命中率FIFO算法a012443021332/11b0122430211c011243022LRU算法a012423021323/11b0124230213c011423021某主存对页面要求的序列为:3,4,2,6,4,3,7,4,3,6,3,4,8,4,61:设主存容量为三个页面,求FIFO和LRU算法时各自的命中率?2:当主存容量增加到四个页面,命中率又为多少?假设开始时主存为空。