缓存是计算机体系中一个比较重要的概念,如哈希一致性、换页机制就是有关缓存的。在笔试中也经常考察采用FIFO、LRU、LFU等页面淘汰机制和命中率。先了解下面几个概念:
缺页:如果需要访问的页面在缓存中不存在时,就代表缺页了。
命中:如果在缓存中存在需要访问的页面时,就代表命中了,直接从缓存中取出。
缺页次数 + 命中次数 = 访问次数。
命中率:命中次数/总共访问次数
提到缓存,有两点是必须要考虑的:
(1)缓存数据和目标数据的一致性问题。
(2)缓存的过期策略(机制)。
其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:
1. FIFO(First In First Out):先入先出机制。
先进入页面的当作“旧”缓存,后进入的当作“新”缓存,当缓存满了的时候,根据“新旧”程度淘汰旧的。
- LRU(Least Recently Used):最近最少使用
- 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为最“新”)