小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
处理机有多种调度的层次。
调度的层次
-
作业调度 高级调度
- 从外存中处于后备状态的作业挑选一个(多个)作业,给它分配内存,输入输出设备等资源,并建立相应的进程
- 内存与辅存之间
-
内存调度 中级调度
-
为了提高内存利用率和系统吞吐量。
-
将那些暂时不能运行的进程调至外存上去等待, 把此时的进程状态称为就绪驻外存状态或挂起状态。
-
内存调度和作业调度看起来都是内存与外存,但内存调度不会撤销其PCB,只是将进程映像放入外存,【也就是挂起】,因此并不影响作业调度对每个作业只调入一次,调出一次
-
挂起
- 可分为就绪挂起、阻塞挂起
-
-
进程调度
-
就绪队列选一个进程,把处理机给他
-
进程调度和切换由内核程序完成
-
不能进程调度和切换的情况【什么时候关中断】
- 处理中断的过程中
- 进程在操作系统内核程序临界区
- 其他需要完全屏蔽终端的原子操作过程
-
进程调度和切换的情况
- 发生引起调度条件且当前进程无法继续进行运行下去时【非剥夺】
- 中断处理结束或自陷处理结束后,返回被终端进程的用户态程序执行现场前,若置上请求调度标志【剥夺】
非剥夺和剥夺指的是是否可以剥夺处理机,但剥夺并不是任意的,需要遵循优先权,短进程优先和时间片原则等
-