2.2_1 调度的概念、层次
1.高级调度
作业后备队列
作业:一个具体的任务
用户向系统提交一个作业≈用户让操作系统启动一个程序(来处理一个具体的任务)
高级调度(作业调度):按一定的原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。每个作业只调入一次、调出一次。作业调入时会建立PCB,调出时才撤销PCB。
2.低级调度
低级调度(进程调度/处理机调度)——按照某种策略从就绪队列中选取一个进程,将处理机分配给它。
进程调度室操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。进程调度的频率很高,一般几十毫秒一次。
3.中级调度
内存不够时,可将某些进程的数据调出外存。等内存空闲或者进程需要运行时再重新调入内存。
暂时调到外存等待的进程为挂起状态。被挂起的进程PCB会被组织成挂起队列。
中级调度(内存调度)——按照某种策略决定将哪个处于挂起状态的进程重新调入内存。
一个进程可能会被多次调入、调出内存,因此中级调度发生的频率要比高级调度更高。
三层调度的联系、对比
要做什么 | 调度发生在… | 发生频率 | 对进程状态的影响 | |
---|---|---|---|---|
高级调度(作业调度) | 按照某种规则,从后备队列中选择合适的作业将其调入内存,并为其创建进程 | 外存>内存(面向作业) | 最低 | 无>创建态>就绪态 |
高级调度(作业调度) | 按照某种规则,从挂起队列中选择合适的进程将其数据调回内存 | 外存>内存(面向进程) | 中等 | 挂起态>就绪态(阻塞挂起阻塞态) |
高级调度(作业调度) | 按照某种规则,从就绪队列中选择一个进程为其分配处理机 | 内存>CPU | 最高 | 就绪态>运行态 |