缓存换页机制

缓存换页机制在计算机系统中至关重要,涉及到页面淘汰算法如FIFO和LRU。FIFO按照先进先出原则淘汰旧页面,而LRU则淘汰最近最少使用的页面。通过举例说明了两种算法在特定情况下的运行过程,展示了它们的命中率和缺页次数。理解这些算法有助于解决相关笔试题目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缓存是计算机体系中一个比较重要的概念,如哈希一致性、换页机制就是有关缓存的。在笔试中也经常考察采用FIFO、LRU、LFU等页面淘汰机制和命中率。先了解下面几个概念:
缺页:如果需要访问的页面在缓存中不存在时,就代表缺页了。
命中:如果在缓存中存在需要访问的页面时,就代表命中了,直接从缓存中取出。
缺页次数 + 命中次数 = 访问次数。
命中率:命中次数/总共访问次数

提到缓存,有两点是必须要考虑的:
(1)缓存数据和目标数据的一致性问题。
(2)缓存的过期策略(机制)。
其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:
1. FIFO(First In First Out):先入先出机制。
先进入页面的当作“旧”缓存,后进入的当作“新”缓存,当缓存满了的时候,根据“新旧”程度淘汰旧的。

  1. LRU(Least Recently Used):最近最少使用
  2. LFU(Least Frequently Used):最不经常使用
    在某个存储系统中,假如系统分配给以个作业的内存物理块数是3,并且此作业的页面使用顺序为2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置换算法,
    FIFO算法:
    M1、M2、M3代表缓存的页面存放方式(M1为最“旧”,M2其次,M3为最“新”),下面黑体表示(1/2/3空余的为NULL)
    访问2 : 2,3,2,1,5,2,4,5,3,2,5,2 缺页2
    访问3 : 2,3,2,1,5,2,4,5,3,2,5,2 缺页3
    访问2 : 2,32,1,5,2,4,5,3,2,5,2 命中2
    访问1 : 2,3,1,5,2,4,5,3,2,5,2 缺页2
    访问5 : 2,3,1,5,2,4,5,3,2,5,2 缺页5
    访问2 : 2,3,1,5,2,4,5,3,2,5,2 缺页2
    访问4 : 2,3,1,5,2,4,5,3,2,5,2 缺页4
    访问5 : 2,3,1,5,2,4,3,2,5,2 命中5
    访问3 : 2,3,1,5,2,4,3,2,5,2 缺页3
    访问2 : 2,3,1,5,2,4,3,5,2 命中2
    访问5 : 2,3,1,5,2,4,3,5,2 缺页5
    访问2 : 2,3,1,5,2,4,3,5,2 缺页2
    命中3次,缺页9次,共访问12次,命中率3/12

LRU算法:
访问2 : 2,3,2,1,5,2,4,5,3,2,5,2 缺页2
访问3 : 2,3,2,1,5,2,4,5,3,2,5,2 缺页3
访问2 : 3,2,1,5,2,4,5,3,2,5,2 命中2
访问1 : 3,2,1,5,2,4,5,3,2,5,2 缺页2
访问5 : 3,2, 1,5,2,4,5,3,2,5,2 缺页5
访问2 : 3,1,5,2,4,5,3,2,5,2 命中2
访问4 : 3,1,5,2,4,5,3,2,5,2 缺页4
访问5 : 3,1,2,4,5,3,2,5,2 命中5
访问3 : 3,1,2,4,5,3,2,5,2 缺页3
访问2 : 3,1,2,4,5,3,2,5,2 缺页2
访问5 : 3,1,2,4,3,2,5,2 命中5
访问2 : 3,1,2,,4,3,5,2 命中2
命中5次,缺页7次,共访问12次,命中率5/12

如果是算法题,可以根据以上思路,很快写出程序来。
如果遇到的是小题,不需要把步骤都列出来,有一个小技巧,可以直接找出需要划掉的黑体数字,代表直接从缓存中取出。
对于FIFO:2,3,2,1,5,2,4,5,3,2,5,2,命中时,是划掉新进来的。
对于LRU:
2,3,2,1,5,2,4,5,3,2,5,2,在命中时,则是划掉先存进去的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值