四、处理机调度
-
分级调度
1. 调度层次:作业调度(按一定原则选择外存后备队列中的作业,为其分配内存等资源,并建立进程,使其获得竞争处理机的资格,进入就绪队列。此外,在作业执行完毕时,回收系统资源。);交换调度(按给定策略,将外存中处于就绪状态或等待状态的进程调入内存,或将内存中暂时不能运行的进程调至外存,以提高内存利用率和系统吞吐量。);进程调度(决定就绪队列中的哪个进程应获得处理机,为其进行进程上下文切换以建立相应的执行环境);线程调度(进程中相关堆栈和控制表等的调度)。
2. 作业状态
3. 作业是用户向计算机提交任务的任务实体,进程是计算机为了完成用户任务实体而设置的执行实体。计算机要完成一个任务实体,必须要有一个以上的执行实体,即一个作业是由一个以上的进程组成的。
-
作业调度
1. 周转时间:作业从提交到执行完成所经历的时间。包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队列中等待,结果输出等待等。
2. 平均周转时间:
3. 平均带权周转时间:
-
进程调度
1. 进程调度的任务是控制协调进程对CPU的竞争,即按一定的调度算法从就绪队列中选择一个进程,并把CPU的使用权交给被选中的进程。
2. 进程调度的功能:记录所有进程的执行状况;按一定策略,选择一个就绪进程;完成进程上下文切换。
3. 作业调度对除了CPU之外的所有系统资源进行分配;进程调度专门负责对CPU进行分配,使进程活动起来。
-
调度算法
1. 先来先服务调度算法(FCFS——FirstCome First Server):按照作业提交/进程变为就绪状态的先后次序,调入系统或分派CPU。
2. 时间片轮转法(RR——RoundRobin):
3. 短作业优先法(SJF——ShortestJob First):对预计执行时间短的作业(进程)优先处理。通常后来的短作业不抢先正在执行的作业。其目标是减少平均周转时间。
4. 最高响应比优先法(HRN——HighestResponse_Ratio Next):最高响应比优先法是介于FCFS和SJF之间的一种拆衷的算法,同时考虑每个作业的等待时间和估计需要的运行时间,从中选出响应比最高的作业投入运行。
5. 多级队列算法(Multiple-levelQueue):根据作业或进程的性质或类型的不同,将后备或就绪队列在分为若干个子队列,各队列有不同的调度算法。多级队列:该算法将系统中的进程就绪队列从一个拆分为若干个,将不同类型或性质的进程固定分配在不同的就绪队列,不同的就绪队列采用不同的调度算法,一个就绪队列中的进程可以设置不同的优先级,不同的就绪队列本身也可以设置不同的优先级。
多级队列调度算法由于设置多个就绪队列,因此对每个就绪队列就可以实施不同的调度算法,因此,系统针对不同用户进程的需求,很容易提供多种调度策略。
6. 优先级算法(PriorityScheduling):对优先级高的作业/进程优先处理,可分为抢先式和非抢先式。
7. 多级反馈轮转法(RoundRobin with Multiple Feedback):时间片轮转法和优先级法的综合和发展。