2.2.1处理机调度概念、层次
当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务顺序,这就是’调度’研究的问题。在多道程序系统中,进程的数量往往是多余处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择一个进程并处理机分配给它运行,以实现进程的并发执行。
1. 调度的三个层次
高级调度
中级调度
低级调度
2. 三层调度的联系、对比
2.2.2进程调度的时机切换与过程调度方式
1. 进程调度时机
2. 进程调度的方式
3. 进程的切换与进程
2.2.3调度算法评价指标
1. CPU利用率
CPU '忙碌’的时间占总时间的比例
2.系统吞吐量
单位时间内完成作业的数量
3.周转时间
周转时间与平均周转时间
对于用户来说,比较关心自己的作业从提交到完成花了多少时间。周转时间,是指作业被提交给系统开始,到作业完成为止的这段时间间隔
平均周转时间
带权周转时间与平均带权周转时间
带权周转时间
平均带权周转时间
4.等待时间
指进程/作业处于等待处理机状态之和,等待时间越长,用户满意度越低
- 对于进程来说,等待时间就是指进程建立之后等待被服务的时间之和,在等待I/O完成的期间其实进程也是在被服务的,所以不计入等待时间。
- 对于作业来说,不仅要考虑建立进程后的等待时间,还要加上作业在后备队列中等待的时间
5. 响应时间
指从用户提交请求到首次产生响应所用的时间。
2.2.4 调度算法
1. 先来先服务(FCFS)
顾名思义,先来就cpu先给他服务,就看到达时间列队列。
2. 最短作业优先
短进程优先调度算法(SPF)
非抢占式的短作业优先调度算法,先判断作业是否到达,多个作业到达看谁的运行时间短,短优先。
0时刻只有P1到达,所以当然先执行P1,等到P1运行结束时间为7,这个时候P2、P3、P4全部到达,所以按运行时间排序,短的优先
最短剩余时间优先算法(SRTN)
抢占式的短作业优先调度算法
3. 最高响应比优先(HRRN)
基于前两者算法的改进,即考虑到各个作业的等待时间,也兼顾运行时间。
4. 时间片轮转(RR)
时间片,每个进程运行相同的时间,时间片结束交出cpu权力,重新去排队。注意时间片设计的时间要合理,时间片太长会导致算法退化为先来先服务算法,太短会导致进程频繁切换
5. 优先级调度
非抢占式的优先级调度算法
进程到达之后单纯看优先级,优先级高的先服务。
抢占式的优先级调度算法
进程到达之后看优先级,而且当前在服务的进程也要进行比较,如果当前在服务的进程优先级小,那它要放弃处理机去排队,跟非抢占式不同,非抢占式优先级比较不带在服务的进程,
6. 多级反馈队列