1、FIFO算法
FIIO,先进先出。在FIFO Cache设计中,核心原则就是:如果一个数据最先进入缓存中,则应该最早淘汰。也就是说,当缓存满的时候,应当把最先进入缓存的数据给淘汰掉。
在FIFO Cache中应当支持以下操作
get(key):如果Cache中存在key,则返回对应的value;否则返回-1;
set(key,value):如果cache中存在该key,则重置value值;如果不存在,则将该key插入到Cache中,若Cache已满,则淘汰最早进入Cache的数据。
缺页算法:
有一个虚拟存储系统,若进程在内存中占3页(开始时内存为空),若采用先进先出(FIFO)页面淘汰算法,当执行如下访问页号序列后1,2,3,4,5, 1,2,5,1,2,3,4,5,会发生多少缺页?
10。FIFO,发生缺页时的调入顺序即为淘汰顺序
1、访问1,缺页,调入1,内存中为 1, ,;
2、访问2,缺页,调入2,内存中为 1,2,;
3、 访问3,缺页,调入3,内存中为 1,2,3;
4、 访问4,缺页,调入4,淘汰1,内存中为 4,2,3;
5、 访问5,缺页,调入5,淘汰2,内存中为 4,5,3;
6、 访问1,缺页,调入1,淘汰3,内存中为 4,5,1;
7、 访问2,缺页,调入2,淘汰4,内存中为 2,5,1;
8、 访问5,不缺页,内存中为 2,5,1;
9、 访问1,不缺页,内存中为 2,5,1;
10、 访问2,不缺页,内存中为 2,5,1;
11、访问3,缺页,调入3,淘汰5,内存中为 2,3,1;
12、访问4,缺页,调入4,淘汰1,内存中为 2,3,4;
13、访问5,缺页,调入5,淘汰2,内存中为 5,3,4;
LFU算法
基于访问次数的。
LRU算法
基于访问时间的