博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LRU
阅读量:5974 次
发布时间:2019-06-19

本文共 1074 字,大约阅读时间需要 3 分钟。

引用:

概述

  LRU是Least Recently Used最近最少使用算法。

 

  内存管理的一种算法,对于在内存中但最近又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。

 

  什么是LRU算法? LRU是Least Recently Used的缩写,即最近最少使用,是为虚拟页式服务的。

 

  关于操作系统的,如何节省利用容量不大的内存为最多的进程提供资源,一直是研究的重要方向。而内存的虚拟存储管理,是现在最通用,最成功的方式—— 在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑极大地扩充了内存的功能,极大地提高了计算机的并发度。虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。

 

  然而,有利就有弊,虚拟页式存储管理减少了进程所需的内存空间,却也带来了运行时间变长这一缺点:进程运行过程中,不可避免地要把在外存中存放的一些信息和内存中已有的进行交换,由于外存的低速,这一步骤所花费的时间不可忽略。因而,采取尽量好的算法以减少读取外存的次数,也是相当有意义的事情。

 

  对于虚拟页式存储,内外存信息的替换是以页面为单位进行的——当需要一个放在外存的页面时,把它调入内存,同时为了保持原有空间的大小,还要把一个内存中页面调出至外存。自然,这种调动越少,进程执行的效率也就越高。那么,把哪个页面调出去可以达到调动尽量少的目的?我们需要一个算法。

 

  自然,达到这样一种情形的算法是最理想的了——每次调换出的页面是所有内存页面中最迟将被使用的——这可以最大限度的推迟页面调换,这种算法,被称为理想页面置换算法。可惜的是,这种算法是无法实现的。

 

差距

  为了尽量减少与理想算法的差距,产生了各种精妙的算法,最近最少使用页面置换算法便是其中一个。LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面很可能在未来较长的一段时间内不会被用到。这个,就是著名的局部性原理 ——比内存速度还要快的cache,也是基于同样的原理运行的。因此,我们只需要在每次调换时,找到最近最少使用的那个页面调出内存。这就是LRU算法的全部内容。

 

  LRU在中的解释:

 

  Line Replaceable Unit — LRU,电子系统中常采用模块化设计,这种可更换的模块单元则被叫做LRU,中文名称是“线性可更换单元”

转载地址:http://dlbox.baihongyu.com/

你可能感兴趣的文章
每天一个linux命令(20):find命令之exec
查看>>
重绘TabControl
查看>>
Excel导出文件流下载
查看>>
<知识库的构建> 2-3 消歧 Disambiguaion
查看>>
经典SQL语句集锦(收藏版)
查看>>
dfs模板
查看>>
POJ1237 The Postal Worker Rings Once
查看>>
数组指针和指针数组
查看>>
tp框架之函数调用
查看>>
C语言第一次博客作业
查看>>
notepad++7.3的安装与使用
查看>>
SpringMVC框架的图片上传
查看>>
UrlEncode 和 HtmlEncode
查看>>
问题解决:INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for
查看>>
Delphi_02_Delphi程序的结构
查看>>
利用express搭建一个restful api 服务器
查看>>
(转)调整.NET控件WebBrowser的默认浏览器内核版本
查看>>
HDU4116 Fruit Ninja (2011 Asia ChengDu Regional Contest)
查看>>
2017day2
查看>>
IPSec
查看>>