【操作系统】进程调度算法
2017-06-02 20:22
253 查看
1.先到先服务:到达的时间先后
2.最短作业优先:按执行时间,越短的越先执行。可以证明,如果任务都是同一时间来的,那么这个算法的平均周转时间最小。因为第一个执行的任务在平均值里面的权重最大。
3.最短剩余时间:抢占式的算法,按照剩余时间
4.时间片轮转:每一个进程都运行一个时间片,然后让给下一个进程。时间片设置过长,可能会导致周转时间变长,比如都是短时间任务,可能只用了一个时间片中很小的一部分。如果时间片过短,那么会有频繁的进程上下文切换,导致cpu利用率下降。
5.优先级队列:按优先级分出多个队列,在最高级的队列中,按照时间片轮转执行所有的进程,直到最高队列的进程全部执行完,再按同样的方法执行次高级的队列,依次类推。
6.多级队列:最高级队列中的进程都运行一个时间片,然后把没有执行完的进程放入到次高级的队列中,次高级队列中的进程都运行两个时间片,没运行完的进入第三级队列,第三级的进程每一个运行四个时间片,以此类推。
7.彩票:模型为,系统每一次的调度决策都要发出一堆彩票,中奖的进程可以执行一定的时间。可以加入优先级,优先级越高的进程,可以拿到的彩票越多,中奖几率越大。
实时系统的调度:
在静态优先级系统中,RM算法是最优的,这个在一篇国外很经典的paper中有阐明,周期越短的进程优先级越高。证明使用的是交换法。
在动态优先级系统中,EDF是最优的,也就是说deadline越早有,优先级越高。
2.最短作业优先:按执行时间,越短的越先执行。可以证明,如果任务都是同一时间来的,那么这个算法的平均周转时间最小。因为第一个执行的任务在平均值里面的权重最大。
3.最短剩余时间:抢占式的算法,按照剩余时间
4.时间片轮转:每一个进程都运行一个时间片,然后让给下一个进程。时间片设置过长,可能会导致周转时间变长,比如都是短时间任务,可能只用了一个时间片中很小的一部分。如果时间片过短,那么会有频繁的进程上下文切换,导致cpu利用率下降。
5.优先级队列:按优先级分出多个队列,在最高级的队列中,按照时间片轮转执行所有的进程,直到最高队列的进程全部执行完,再按同样的方法执行次高级的队列,依次类推。
6.多级队列:最高级队列中的进程都运行一个时间片,然后把没有执行完的进程放入到次高级的队列中,次高级队列中的进程都运行两个时间片,没运行完的进入第三级队列,第三级的进程每一个运行四个时间片,以此类推。
7.彩票:模型为,系统每一次的调度决策都要发出一堆彩票,中奖的进程可以执行一定的时间。可以加入优先级,优先级越高的进程,可以拿到的彩票越多,中奖几率越大。
实时系统的调度:
在静态优先级系统中,RM算法是最优的,这个在一篇国外很经典的paper中有阐明,周期越短的进程优先级越高。证明使用的是交换法。
在动态优先级系统中,EDF是最优的,也就是说deadline越早有,优先级越高。
相关文章推荐
- 操作系统--进程调度算法
- 几个常用的操作系统进程调度算法
- 操作系统进程调度算法
- 操作系统进程调度算法图解(FCFS、轮转、SPN、SRT、HRRN、反馈)
- 【操作系统 - 2】时间片轮转RR进程调度算法
- 操作系统进程(作业)调度常见算法详解
- 操作系统中常用的进程调度算法
- 常见的几种操作系统进程调度算法
- 操作系统:进程调度算法详解之FCFS和SPF篇
- 操作系统的常用的进程调度算法
- 操作系统中的几种常见进程调度算法
- 用C++模拟操作系统进程调度的几种算法
- 操作系统-------进程调度算法(C++实现)
- 操作系统进程调度算法(Java 实现)
- 操作系统进程调度算法(Java 实现)
- 几个常用的操作系统进程调度算法
- 《操作系统》 先来先服务FCFS和短作业优先SJF进程调度算法相关计算及实验
- 【操作系统 - 2】时间片轮转RR进程调度算法
- 操作系统---OS的进程调度算法
- 计算机操作系统-进程的调度算法