这是题目和对应的3个算法答案的表(顺序没排好)
提问,3个算法是怎么算得,规律何在
我只要学会解题3个规律,看书只有概念看不明白。。。
fifo就是先进先出,可以想象成队列
lru是最久未使用,当需要替换页面的时候,向前面看,最久没使用的那个被替换
opt是替换页面的时候,优先替换后面最迟出现的。
不懂再问。。
lru是最久未使用,当需要替换页面的时候,向前面看,最久没使用的那个被替换
opt是替换页面的时候,优先替换后面最迟出现的。
不懂再问。。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-01-13
FIFO就是先进先出的访问方式。楼上回复很好。自己再参考 !
第2个回答 推荐于2017-12-16
这种题其实不难,主要是你一定要把题目的意思搞清楚,然后再静心的去按题目的顺序去尝试一下就可以了,这里我只给你讲一种情况,只要你理解了其他的情况都是一样的,我相信你只要耐心的看一下肯定会明白的。
接下来我就讲下FIFO这种情况,FIFO就是先进先出的访问方式,根据题目里面的访问顺序:6 0 1 2 0 3 0 4 2 3,所有首先访问的是6,当第一次访问6 的时候,内存中当然是没有的,所以就会发生中断去读取数据,完成中断之后,内存中就有了一个6,接着访问的是0,当然此时内存中也没有0,所以又会发生一次中断,同理,完成中断之后,内存中就有0了,接下来访问的就是第三个数1,很明显,此时内存中也是没有该元素的,所以也会发生中断,完成中断后内存里面就有一个1了。此时内存中的数据为601,理解到这里应该没有什么问题。
但是千万注意,接下来就要注意思想的转化了,因为题目中说了只有3块存储空间,到目前为止,3块空间都用完了。所以,在访问第4个数字时(也就是访问2 的时候),必须先丢弃一个数据,根据题目要求是FIFO的原理,所以,理所当然就应该丢弃最先访问的6,并去访问新的数据--2,即2替换6的位置,所以也会发生中断,并且中断完成后内存中的数据是201。
接下来又要访问第五个数字,即访问第二个0的时候,此时,内存的数据为201,其中刚好有一个0,所有就不会发生中断,而是继续访问下一个数,即第六个数--3。此时内存中没有3这个数字,并且空间也全部占满了的,所有又必须丢弃一个数字,当然由于是FIFO,所有肯定会丢弃0,并再发生一次中断去读取3,当中断完成后,内存中的数据为231。
到此,原理解说完毕。接下来就是体力活了,也就是按着刚刚讲的原理把剩下的数据访问完,然后就可以收工了。我相信只要你按着我的这种方法去草稿纸上画上两遍肯定会明白的,其他情况(LRU,LFU,OPT等)原理也是差不多的,就不在此啰嗦了。还有什么不明白的欢迎留言!!追问
接下来我就讲下FIFO这种情况,FIFO就是先进先出的访问方式,根据题目里面的访问顺序:6 0 1 2 0 3 0 4 2 3,所有首先访问的是6,当第一次访问6 的时候,内存中当然是没有的,所以就会发生中断去读取数据,完成中断之后,内存中就有了一个6,接着访问的是0,当然此时内存中也没有0,所以又会发生一次中断,同理,完成中断之后,内存中就有0了,接下来访问的就是第三个数1,很明显,此时内存中也是没有该元素的,所以也会发生中断,完成中断后内存里面就有一个1了。此时内存中的数据为601,理解到这里应该没有什么问题。
但是千万注意,接下来就要注意思想的转化了,因为题目中说了只有3块存储空间,到目前为止,3块空间都用完了。所以,在访问第4个数字时(也就是访问2 的时候),必须先丢弃一个数据,根据题目要求是FIFO的原理,所以,理所当然就应该丢弃最先访问的6,并去访问新的数据--2,即2替换6的位置,所以也会发生中断,并且中断完成后内存中的数据是201。
接下来又要访问第五个数字,即访问第二个0的时候,此时,内存的数据为201,其中刚好有一个0,所有就不会发生中断,而是继续访问下一个数,即第六个数--3。此时内存中没有3这个数字,并且空间也全部占满了的,所有又必须丢弃一个数字,当然由于是FIFO,所有肯定会丢弃0,并再发生一次中断去读取3,当中断完成后,内存中的数据为231。
到此,原理解说完毕。接下来就是体力活了,也就是按着刚刚讲的原理把剩下的数据访问完,然后就可以收工了。我相信只要你按着我的这种方法去草稿纸上画上两遍肯定会明白的,其他情况(LRU,LFU,OPT等)原理也是差不多的,就不在此啰嗦了。还有什么不明白的欢迎留言!!追问
另外3个的规律说下没看懂,。。只要规律就行。。。(好吧我笨。。。)
追答亲,学习要靠自己。现在要靠你多去练习下。不懂的就在看下这段文字。
本回答被提问者和网友采纳