处理器调度
原因
处理器调度的好坏会影响系统性能,像吞吐量和响应时间(这个自不必说)
层次
高级调度
又称作业调度,以作业(Job)而不是进程作为调度对象,粗暴来讲 Job = 程序 + 数据 + 作业说明书 ...
Do What:将外存上的后备队列中作业掉入内存,为之新建进程,插入内存就绪队列。
中级调度
以对象为进程
Do What: 将内存中的进程挂起到外存,将外存中的进程掉入内存,插入就绪队列。
低级调度
又称进程调度,以对象为进程
Do What: 1. 保存CPU上下文信息,如PC、寄存器等到PCB中
2. 按算法选取内存就绪队列中的进程
3. 为选中的进程恢复CPU上下文信息,PCB中的信息到PC、寄存器等中
调度方式: 1. 非抢占, 已获分配处理器的进程不得被其他进程剥夺,直至完成或发生某事件,如I/O,P操作阻塞等
2. 抢占,抢占原则:优先级、短进程优先、时间片
(书上把“时间片”列为抢占原则中的一个,我觉得欠妥,因为用到事件的调度算法主要是轮转和多
级反馈队列,轮转不涉及抢占,多级反馈队列虽然有抢占,但是只是在高级队列中的进程可以抢
占低级队列中的进程,当一个进程用完他的时间片却还没执行完毕时,他会掉到下级反馈队列的
末尾,感觉时间片和抢占没什么关系的样子。)
既然,调度分三种,那么自然不同的调度方式,就会有不同的调度模型啦。下面主要介绍三种模型:
华丽丽的分割线。。。
-------------------------------------------------------------------------------------------------------------------------
调度模型
低级调度模型
上图 ! 结合概念,看看图中的模型:
低级调度模型里面的就绪队列是使用FCFS的,维护无耗费