当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:操作系统的内存管理一直是计算机领域研究的一个重要方向。文中分析了几种常用内存管理中的页面置换算法及其存在的问题,提出了LUR页面置换算法的操作系统内存管理中比较接近理想算法的一种页面置换算法,并阐述了使用矩阵方法实现该页面置换算法的原理。

引言

操作系统的内存管理一直是计算机领域研究的一个重要方向,而内存的虚存管理是存储管理的核心。其原因在于内存的价格昂贵,用大量的内存存储所有被访问的程序与数据段是不可能的;而外存尽管访问速度较慢,但价格便宜,适合于存放大量的信息。因此,在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到的信息,这无疑可以大大扩充内存的功能,并大大提高计算机的并发度。虚拟页式存储管理,就是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理的一种假内存扩充方式。在程序执行时,如果发现要访问的页面不在内存,则系统将产生缺页中断。缺页中断服务程序将负责把位于磁盘上的数据加载到物理内存。

虚拟页式存储管理虽然在某些程度上可以减少进程所需的内存空间,但同时也会带来运行时间变长的问题。进程在运行的过程中,不可避免地要把在外存中存放的一些信息和内存中已有的数据进行交换,由于内外存运行速度的差异,这一步骤所花费的时间一般不可忽略,因而必须采取尽量好的算法来减少读取外存的次数。

对于虚拟页式存储,内外存信息的替换是以页面为单位进行的。当需要一个放在外存的页面时,系统便把它调入内存,同时又要把内存中的一个页面调出至外存。当然,这种调动越少,进程执行的效率也就越高。那么,把哪个页面调出去就可以达到调动尽量少的目的?操作系统中提出了很多种页面置换算法,LRU(LeastRecentlyUsed)最近最少使用页面置换算法就是比较接近理想算法的一种解决方案。

1LRU算法的提出

1.1传统的页面置换算法

为了尽量减少与理想算法的差距,现在已经出现了各种精妙的算法,如随机淘汰算法、轮转法(RR)和先进先出算法(FIFO)等,但这几种算法都有着各自的缺点。随机淘汰算法的思想是无法确定哪些页面被访问的概率较低时,随机地选择某个用户的页面并将其换出的一种方法。这种算法的随机性太大,无法达到减少页面调动的目的。轮转法是循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已换进内存很长时间。FIFO认为先调入内存的页不再被访问的可能性要比其它页大,因而选择最先调入内存的页并将其换出。但是实验证明,FIFO算法和RR算法的内存利用率都不高,因为这两种算法都是基于CPU按线性顺序访问地址空间这一假设。事实上,CPU不一定是按线性顺序访问地址空间的。FIFO算法的另一个重要的缺点是它会产生Belady现象,即对于一个进程,如果给它分配的页面数增多,缺页次数反而会增加这一奇怪现象。

1.2LRU页面置换算法

LRU算法是基于这样一个事实:在前面几条指令中使用频繁的页面也很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用过的页面很可能在未来较长的一段时间内也不会被用到。这就是著名的局部性原理。比内存速度还要快的cache,也是基于同样的原理运行的。因此,从程序运行的原理来看,LRU算法是比较接近理想的置换算法。

2LRU算法的实现

矩阵的方法来实现LRU算法的思想是使用矩阵来记录页面使用的频率和时间。设矩阵是nXn维的,n是相关程序当前驻内存的页面数。矩阵的初值为0,每次访问一个页面,例如第i个虚拟页被访问时,可对矩阵进行如下操作:

一是将第i行的值全部置1:二是将第i列的值全部置0。

在每次需要更换页面时,选择矩阵里对应行值最小的页面。行值是指把此行所有的01代码连起来作为二进制的取值。

假如某程序有3个虚拟页面0、1、2,该页面的访问次序是0、1、2、2、1、0、2、1。随着页面的访问,矩阵的状态变换如图1中的(a)~(i)所示。

在经过一系列的页面访问之后,行值最小的是第1行,也就是说,虚页面0是最近最少被访问过的页面。如果此时需要替换某个页面,则第0个虚拟页面将被淘汰。

当一个页面被访问时,该页面所对应的行值将被置1,这样就保证了该页面对应的行值为最大之一,随后将该页面的对应列值置0,以保证该页面对应的行值为唯一最大。每次访问都将某一列置0,长时间没有被访问的页面,所对应的行元素里面被置0的列个数就越多,即它对应的行值就越小。因此,

用矩阵的方法可以实现接近理想算法的页面置换。

使用矩阵实现LRU的页面置换算法

图1矩阵的状态变换

3结语

使用矩阵法相比其它页面淘汰算法有其突出的优点,因为可以使用矩阵的理论来迅速判断哪个矩阵行值最小。即:当需要替换掉某一页时,哪个页面将能被最先淘汰掉。使用矩阵来实现LRU的成本也比其它的算法要低,因为矩阵的行列数并不需要虚拟页面数,而是内存的实际页面数,而实际页面数则要小得多。另外,它的缺点是矩阵太大,总的存储位是页面数的平方。

20210916_614358ce1bf72__使用矩阵实现LRU的页面置换算法

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭