这是之前期末复习的小总结。
进程调度算法:
周转时间=完成时间-到达时间
带权周转时间=周转时间/服务时间
假设第一个到达的进程的到达时间为0
时间片轮转调度RR:
在一个时间轴(以时间片q为单位长度)上,若现在只有A进程在运行,则在下一个进程B到达前,每一个单位刻度之接都填上A,下一个进程B到达时间的刻度填上B。之后则是AB依次填上,若下一个进程C到达时间在AB之间,则先继续填上AB,再接着填上C,之后则是ABC依次填上,以此类推,字母A、B、C等的出现次数为服务时间/时间片q,即进程完成后就去掉。
先来先服务调度FCFS:
第一个进程 完成时间=服务时间+0
其后的进程 完成时间=上一个进程的完成时间+该进程的服务时间
短作业优先调度SJF:
从就绪队列中选出一个估计运行时间最短的进程先执行
第一个到达进程先执行,其完成时间=服务时间+0
之后在就绪队列中选择服务时间小的先执行,
其完成时间=上一个进程完成时间+该进程服务时间
如此继续直到完成所有进程。
响应比高者优先调度HRP:
响应比Rp=等待时间+要求服务时间/要求服务时间=响应时间/要求服务时间
优先权=(等待时间+要求服务时间)/要求服务时间
先执行第一个进程,其完成时间=服务时间+0,之后在就绪队列中先执行响应比高者,每执行一个进程,都需要求出其就绪队列中其他进程的响应比,选择,响应比高者先执行(等待时间=上一个进程完成时间-到达时间)
其完成时间=上一个进程完成时间+该进程服务时间
银行家算法:
需求资源Need=最大资源需求Max-当前已分配到的资源Allocation
系统当前可用资源Available
P_i请求资源Request
先检查:
Request<=Need_i
Request<=Available_i
若以上两式成立,则改变相应数据结构,即Allocation_i=Allocation_i+Request
再利用安全性算法检查系统是否安全 其中系统当前可用资源Work=释放的分配资源Allocation+Work Work>=Need,则Finish=true。
页面置换算法:
Optimal替换算法(即最佳置换算法):
每次替换未来最长时间内不再被访问的页面
FIFO替换算法(即先进先出页面置换算法):
每次替换出现最久的页面
LRU替换算法(即最近最久未使用置换算法):
每次替换自上次被访问以来所经历的时间t最大的页面
磁盘调度算法:
先来先服务(FCFS,First Come First Served):
按请求磁道号序列依次访问
最短寻道时间优先(SSTF,Shortest Seek Time First):
每次访问距离最近的磁道号
扫描算法SCAN:
按指定方向访问距离最近的磁道号,直至该方向再无磁道要访问,调转方向,再次访问距离最近的磁道号
循环扫描算法CSCAN:
按指定方向访问距离最近的的磁道号,直至该方向再无磁道要访问,再从最小的磁道号开始,依次访问距离最近的磁道号