处理机调度-分级调度
处理机调度-分级调度
为什么要调度?
CPU是计算机系统中一个十分重要的资源,为了满足不同操作系统的要求,不同的CPU管理方法将为用户提供不同性能的操作系统。
衡量调度策略的最常用的几个指标
1.周转时间:将一个作业提交给计算机系统后到该作业的结果返回给用户所需要的时间。
2.吞吐率:给定时间内,一个计算机系统所完成的总工作量。
3.响应时间:从用户向计算机发出一个命令到计算机把相应的执行结果返回给用户所需要的时间。
4.设备利用率:输入输出设备的使用情况
作业的状态及其转换
各类状态
提交状态:一个作业在其处于从输入设备进入外部存储设备的过程称为提交状态。处于提交状态的作业,因其信息尚未全部进入系统,所以不能被调度程序选取
收容状态:收容状态也称为后备状态。输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。若一个作业的全部信息已全部被输入进输入井,那么,在它还未被调度去执行之前,该作业处于收容状态
就绪状态和等待状态:为了达到内存管理扩充的目的,处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区
状态转化:
1.就绪状态的进程等待处理机调度进入执行状态
2.执行状态的进程内部发生线程调度
3.执行状态的进程由于被阻塞,进入等待状态
4.执行状态的进程由于时间片用完被剥夺CPU,变为就绪状态
5.等待状态的进程得到了除了CPU之外的所有资源进入就绪状态
调度层次
作业调度
1.按一定原则对外存输入井上的大量后备作业进行选择
2.给选出的作业分配内存、输入输出设备等必要的资源
3.建立相应的根进程,以使该作业的进程获得竞争处理机的权利
4.当该作业执行完毕时,还负责回收系统资源
交换调度
目的:主要涉及到内存管理与扩充
1.将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存
2.把处于内存就绪状态或内存等待状态的进程交换到外存交换区
进程调度
主要任务:按照某种策略和方法选取一个处于就绪状态的进程占用处理机。
在确定了占用处理机的进程后,系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境.
线程调度
一个进程占领处理机时候,内部的线程调度。
特殊情况
1.多道批处理系统中,存在作业调度和进程调度
2.分时系统和实时系统中,不存在作业调度,只有进程调度、交换调度和线程调度
为什么分时系统和实时系统没有作业调度?
- 为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存,而是直接建立在内存中。
- 一旦用户和系统的交互开始,用户马上要进行控制。因而,这些系统中没有作业提交状态和后备状态。
- 输入信息经过终端缓冲区为系统所接收,或者立即处理,或者经交换调度暂存外存中。
作业与进程的关系
1.作业可被看作是用户向计算机提交任务的任务实体,例如一次计算、一个控制过程等。
2.进程是计算机为了完成用户任务实体而设置的执行实体,是系统分配资源的基本单位
计算机要完成一个任务实体,必须要有一个以上的执行实体。也就是说,一个作业总是由一个以上的多个进程组成的
作业分解为进程
1.首先,系统必须为一个作业创建一个根进程;
2.其次,在执行作业控制语句时,根据任务要求,系统或根进程为其创建相应的子进程;
3.然后,为各子进程分配资源和调度各子进程执行以完成作业要求的任务