操作系统算法
进程调度算法
调度方式:非抢占和抢占
两大类:轮转调度算法和优先级调度算法
轮转调度算法RR
ROUND ROBIN
基于时间片的轮转
带权周转时间=周转时间/服务时间
优先级调度算法
考虑优先级
最早截止时间优先EDF
earliest deadline first
任务的截止时间越早,其优先级越高
既可用于抢占也可用于非抢占
最低松弛度优先LLF
least laxity first
根据任务的紧急程度,越紧急,优先级越高
作业调度算法
先来先服务算法FCFS
短作业优先算法SJF
优先级调度算法
高响应比算法
优先权=等待时间+要求服务时间/要求服务时间=响应时间/要求服务时间
避免死锁算法
银行家算法
动态分区分配算法
1.首次适应算法FF
first fit
空闲分区链以地址递增的次序连接
从链首开始顺序查找,直到满足要求
2.循环首次适应 NF
next fit
从上次找到的空闲分区的下一个空闲分区开始查找
3.最佳适应算法 BF
best fit
空闲分区按其容量从小到大的顺序形成空闲分区链
4.最坏适应算法 BF
worst fit
空闲分区按其容量从大到小的顺序形成空闲分区链
页面置换算法
1.最佳(optimal)置换算法
所选择的被淘汰页面将是以后永久不使用或者是最长(未来)时间内不再被访问的页面
2.先进先出(FIFO)页面置换算法
淘汰最先进入内存的页面
3.最近最久未使用(LRU)页面置换算法
least recently used
淘汰在内存中最久未使用的页面
思路:以要进来的页面为原点往以前的页面找,看谁是里的最远的
4.最少(LFU)页面置换算法
淘汰一定时期内被访问次数最少的页
磁盘调度算法
先来先服务FCFS
根据进程勤求访问磁盘的先后次序进行调度
最短寻道时间优先SSTF
访问的磁道与当前磁头所在所在的磁道距离最近
扫描算法SCAN
SCAN算法在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作为下一次服务的对象。由于磁头移动规律与电梯运行相似,故又称为电梯调度算法。
循环扫描算法CSCAN
单向扫描,磁头移到最外面的磁道后并访问后,磁头立即返回最里面欲访问的磁道
M6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MTYzMjQ0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
[外链图片转存中…(img-Z1Y570zw-1641102593231)]
循环扫描算法CSCAN
单向扫描,磁头移到最外面的磁道后并访问后,磁头立即返回最里面欲访问的磁道