lru算法,lru算法和nru的区别?
Iru表示1个lru,nru表示1个nru。
LFU算法LFU算法过程是什么?
LRU是最近最少使用页面置换算法(LeastRecentlyUsed),也就是首先淘汰最长时间未被使用的页面!LFU是最近最不常用页面置换算法(LeastFrequentlyUsed),也就是淘汰一定时期内被访问次数最少的页!比如,第二种方法的时期T为10分钟,如果每分钟进行一次调页,主存块为3,若所需页面走向为2121234注意,当调页面4时会发生缺页中断若按LRU算法,应换页面1(1页面最久未被使用)但按LFU算法应换页面3(十分钟内,页面3只使用了一次)可见LRU关键是看页面最后一次被使用到发生调度的时间长短,而LFU关键是看一定时间段内页面被使用的频率!
怎么计算缺页次数?
根据LRU算法,需要替换上次使用距现在最远的页面。首先2,3,2这三页进入内存(进程只分配到3个页面,切顺序为由内到外,第二个2进入时不缺页,所以共缺页2次),1进入时,内存不满且内存中没有1这个页面即第1个进入内存,所以顺序是2,3,1(缺页1次);下一个进入的是5,替换3(缺页1次),得到2,1,5;下一个进入的是2,内存中有2号页面,进行下一个页面;下一个进入4,4替换1,得到2,5,4(缺页1次);下一个进入5,内存中有5号页面,进行下一个页面;下一个进入3,3替换2,得到3,5,4(缺页1次);下一次进入2,2替换4,得到3,5,2(缺页1次);后面2号和5号内存中均存在,则不需要替换。所以一共发生了7次缺页。你的那个解析有点问题,你不妨画个图看看
lru置换算法?
LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的。
LRU算法的提出是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面,很可能在未来较长的一段时间内不会被用到。
这个就是著名的局部性原理——比内存速度还要快的cache,也是基于同样的原理运行的。
因此,我们只需要在每次调换时找到最近最少使用的那个页面调出内存,这就是LRU算法的全部内容。
还没有评论,来说两句吧...