调度算法
来源:互联网 发布:怪物猎人捏脸数据男 编辑:程序博客网 时间:2024/05/18 03:19
调度算法
调度算法是指:根据系统的资源分配策略所规定的资源分配算法。
调度的基本准则包括CPU利用率、系统吞吐量、周转时间、等待时间、响应时间等。
系统吞吐量:单位时间内CPU完成作业的数量
周转时间:作业完成时刻减去作业到达时刻
带权周转时间:周转时间与系统为它提供服务的时间之比
等待时间:进程处于等处理器状态的时间之和,等待时间越长,用户满意度越低
响应时间:从用户提交请求到系统首次产生响应所用的时间
1. 先来先服务和短作业(进程)优先调度算法
1) 先来先服务调度算法(FCFS)
比较有利于长作业(进程),不利于短作业(进程)。即利于CPU繁忙型的作业(进程)不利于I/O繁忙型的作业(进程)。
2) 短作业(进程)优先调度算法(SJF/SPF)
缺点:①对长作业不利,导致长作业(进程)长期不被调度;②未考虑作业的紧迫程度,不能保证紧迫型作业被及时处理;③作业长短只是根据用户所提供的估计执行时间而定,而用户可能会有意或无意缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度
2. 高优先权优先调度算法
类型:非抢占式和抢占式
高响应比优先调度算法:
优先权(响应比Rp)=(等待时间+要求服务时间)/要求服务时间
该算法既照顾了短作业,又考虑了作业到达的先后次序,不会使长作业长期得不到服务。
3. 基于时间片的轮转调度算法
1) 时间片轮转法:系统将所有就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。当执行时间片用完,停止该进程的执行并将它送往就绪队列的末尾,然后再把处理机分配给就绪队列中新的队首进程。
2) 多级反馈队列调度算法:
短进程优先调度算法仅照顾了短进程而忽略了长进程,而且如果未指明进程的长度,则短进程优先和基于进程长度的枪占式调度算法(高响应比优先调度算法)都无法使用。而多级反馈队列调度算法不必事先知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要。
过程:①设置多个就绪队列,并为各个队列赋予不同的优先级。第一个队列的优先级最高,第二个次之,其余的逐个降低。赋予各个队列中进程执行时间片的大小也不同,优先权越高的队列中,为每个进程所规定的执行时间片就越小,如第二个比第一个队列的时间片长一倍;②当一个新进程进入内存后,首先将它放入第一队列末尾,按FCFS原则排队等待调度。当轮到该进程执行时,如它能在该时间片内完成,便可准备撤离系统,如果在一个时间片结束时为完成,调度程序将该进程放入下一个队列的末尾……仅当第1~(i-1)队列均空时,才会调度第i队列中的进程。
- 调度算法
- 调度算法
- 调度算法:
- 调度算法
- 调度算法
- 调度算法
- 调度算法
- 调度算法
- 调度算法
- 调度算法:时间轮转调度算法
- 作业调度算法
- 线程调度算法分析
- 进程调度算法
- 磁盘调度算法
- 磁盘调度算法集锦
- CPU调度算法演示
- 磁盘调度算法
- 调度算法研究
- Ajax 前台编辑遍历
- Deep Learning论文笔记:CNN卷积神经网络推导和实现
- Spring横切面(advice),增强(advisor),切入点(PointCut)
- Activity的启动模式
- Mac 终端Terminal光标移动快捷键
- 调度算法
- 浅谈Mule ESB架构设计
- Synergy – 教你在局域网中用一套键盘/鼠标控制多台电脑
- Combinations
- 利用TCP从客户端往服务器端发送一个文件过程中发生的问题
- 使用js进行二叉树结构数据与数组结构数据的互相转化
- Spark2.0 协同过滤推荐
- bcp命令详解
- Android Message Learning from MTK