CPU的调度
最大化cpu的利用
CPU-I/O Burst Cycle
大多程序通过IO获得数据,通过CPU对数据进行处理,再通过IO将结果输出出去
进程可分为两类
1、CPU绑定的进程, 对CUP用的多很少IO
2、IO绑定的进程, 对IP用的多很少cpu
调度
大概四种情况:
1、一个进程从运行态到等待态时。非抢占式
2、一个进程从运行态到就绪态。抢占式
扫描二维码关注公众号,回复:
10301260 查看本文章
3、一个进程从等待到就绪状态。抢占式
4、进程退出。非抢占式
关于非抢占式和抢占式
非抢先式的调度时自愿的
抢先式的时被动的
分配过程
恢复状态,切换上下文
切换到用户模式
跳到正确的位置
进程调度和线程调度没有什么区别,为了表达的方便一律说的进程调度
调度策略评价指标
1、CPU利用率,越高越好
2、吞吐率, 指的是单位时间里系统运行了多少进程,越高越好
3、周转时间,指的是对一个进程来说创建到结束一共多少时间,所有时间加在一起。Wall TIme(周转时间),越短越好
4、等待时间, 从结束到退出中间有一些时间,可以运行但没被运行的,就是再就绪队列里的时间。 越低越好
5、响应时间,一个进程在等待一个事件,当这个事件发生了需要过多长时间这个进程才能被调度运行,开始对事件进行响应
,越小越好
前两个指标是针对整个系统的,后三个指标是针对单独的进程的,所以后三个指标一般加个平均。
最短作业优先调度算法 SJF
分了非抢占和抢占的
抢占的可以理解为最短剩余时间优先算法
调度最有效的依据是进程将来在CPU上消耗的时间,并期望用时最短的进程最优先运行。
但是我们确实并不知道进程在CPU上到底需要消耗多少时间,怎么办呢怎么办?
预测是指基于对过去的知识的总结而缠上的新的结果,
预测基于对过去的统计
p20结束