调度算法
大约 2 分钟
调度算法
详细见 ../../03. 计算机系统 - 线性学习版/01. 图解系统/06. 调度算法
目录
计算机相关的调度算法 (四类、多种)
本质都是优化优先级(具体体现为处理顺序的优先级/保留的优先级)
- 进程调度算法。核心:优化顺序,减少等待时间总和
- 先来先服务调度算法 (FCFS)
- 最短作业优先调度算法 (SJF)
- 高响应比优先调度算法 (HRRN)
- 时间片轮转调度算法 (PR)
- 最高优先级调度算法 (HPF)
- 多级反馈队列调度算法 (MFQ)
- 磁盘调度算法。核心:优化顺序,减少总寻道的时间
- 先来先服务算法 (FCFS)
- 最短寻道时间优先算法 (SSF)
- 扫描算法 (Scan)
- 循环扫描算法 (CScan)
- LOOK 与 C-LOOK 算法
- 页面置换算法。核心:优化选择,减少页面的置换次数
- 最佳页面置换算法 (OPT)
先进先出置换算法 (FIFO)- 最近最久未使用的置换算法 (LRU)
- 时钟页面置换算法 (Lock)
- 最不常用置换算法 (LFU)
- I/O调度算法。核心:优化顺序,无唯一目标(I/O 请求队列,详见设备管理一章)
- 没有调度算法
- 先入先出调度算法
- 完全公平调度算法
- 优先级调度算法
- 最终期限调度算法
Redis 的内存淘汰策略 (八种)
Redis 的内存淘汰策略(和页面置换是很相似的)
Redis 内存淘汰策略共有八种:(且这些策略可以进行以下分类)
- 不进行数据淘汰的策略
- noeviction(Redis3.0之后,默认的内存淘汰策略) :它表示当运行内存超过最大设置内存时,不淘汰任何数据,而是不再提供服务,直接返回错误。
- 进行数据淘汰的策略
- 在设置了过期时间的数据中进行淘汰
- volatile-random:随机淘汰设置了过期时间的任意键值;
- volatile-ttl:优先淘汰更早过期的键值。
- volatile-lru(Redis3.0 之前,默认的内存淘汰策略):淘汰所有设置了过期时间的键值中,最久未使用的键值;
- volatile-lfu(Redis 4.0 后新增的内存淘汰策略):淘汰所有设置了过期时间的键值中,最少使用的键值;
- 在所有数据范围内进行淘汰
- allkeys-random:随机淘汰任意键值;
- allkeys-lru:淘汰整个键值中最久未使用的键值;
- allkeys-lfu(Redis 4.0 后新增的内存淘汰策略):淘汰整个键值中最少使用的键值。
- 在设置了过期时间的数据中进行淘汰