调度(scheduling):决定处理器要执行哪些进程。
一、调度类型
1、长程(作业)调度
决定进程是否加入待执行的进程池中。
- 决定哪些新建进程可以进入系统准备执行;
- 控制多道程序系统的并发程度;
- 进程越多则各进程对CPU的使用百分比越小;
在创建新进程时,执行长程调度,决定是否把进程添加到当前活跃的进程集合中。因此它控制着系统并发度,一旦允许进入,一个作业或用户程序就成为一个进程并被添加到供短程调度程序使用的队列中等到调度。
2、中程(交换)调度
决定加入部分或全部在内存中的进程集合中。是交换功能的一部分。
- 决定交换哪些主存-辅存进程;
- 基于多道程序设计的管理需要;
决定进程的换入和换出:要执行但不在内存中的进程换入进程,而在内存中但被阻塞的进程换出。
3、短程(进程)调度
决定哪一个可运行的进程将被处理器执行。
- 决定下一个使用CPU的进程
当可能导致当前进程阻塞或可能抢占当前运行进程的事件发生时,调用短程调度程序
这是执行得最频繁的调度,精确地决定下一次执行哪个进程。
二、调度与进程状态转换
进程在不同状态之间的切换需要进行不同类型的调度,切换的操作本质是一样的,只是描述的方式不一样。
进程的创建和终止:长程调度;
进程的挂起和唤醒:中程调度&