1 、处理机调度模型
调度的实质是一种资源分配,处理机调度是对处理机资源进行的分配,处理机调度算法是指根据处理机分配策略所规定的处理机分配算法
- 高级调度(作业调度):根据调度算法选择外存后备队列中一个或一组作业调入内存,为其创建进程分配必要资源,该进程进入就绪队列
- 低级调度(进程调度):选择就绪队列中的某个进程将处理机分配给它,使选中的进程执行
- 中级调度:就绪队列的实现可以使队列、树、无序链表等,为了提高内存利用率和系统吞吐量,比较好的策略是当内存紧缺时,将暂时不能执行的进程通过挂起换出至外存等待,以便腾出足够空间供急需的进程使用,挂起的进程不参与调度,当这些进程重新具备运行条件且内存空闲时,由中级调度决定哪些进程对换至内存,进入就绪队列等待低级调度
2、进程调度要解决的问题
- 选谁:进程调度算法
- 何时选:进程调度的时机
- 如何分配CPU:进程切换
3、进程调度时机
当前运行进程放弃CPU使用权时,会产生处理机调度时机:
- 进程正常或异常结束
- 进程提出I/O请求
- 时间片到
- 高优先级进程抢占
- 信号(进程通信执行中的进程执行了某种原语)
- 系统调用
此时操作系统需要进入内核态执行内核程序
4、进程切换
- ① 保存进程A的CPU现场;
- ② 修改被中断进程A的PCB,如状态改为阻塞;
- ③ 进程A的PCB链接到阻塞队列中;
- ④ 挑选准备占用CPU运行的新就绪进程B;
- ⑤ 修改被选中进程B的PCB,如状态改为运行;
- ⑥ 根据被选中进程B的PCB中保存的CPU环境信息恢复CPU现场,使进程B执行
5、进程调度方式
抢占式:进程的CPU使用权被抢(优先权、短进程、时间片)
非抢占式:进程主动放弃CPU(进程正常或异常完成、发生某事件不能运行)
6、处理机调度算法评价准则
6.1 面向系统准则
- 吞吐量
- CPU利用率
- 各种设备的均衡利用
6.2 面向用户准则
- 周转时间:作业从提交到完成所经历的时间(平均周转时间、平均带权周转时间)
- 响应时间
- 截止时间
- 公平性
- 优先权
6.1 面向算法准则
- 易于实现
- 执行开销比