处理机调度
- 指根据某种策略,从多个作业或进程中或进程中选择一个或一部分作业或进程,将CPU资源给它,使之能够运行。
基本概念
- 作业:用户向计算机提交任务的任务实体
- 作业步:通常,一个作业可以划分成若干个相对独立的步骤,每个步骤成为一个作业步。
编辑——>编译——>链接——>运行
- 作业和进程的关系?
作业是描述用户向计算机提交任务的实体
进程是计算机为了完成用户任务实体而设置的执行实体。
举例:教师大扫除是一项总任务,它是一个作业,而其中操作自、扫地是各个子任务,咋做自需要多次执行,三地只需要执行一次,这些就是在作业中调度的进程。
一个作业从用户提交后驻留在外存设备开始,知道作业运行结束,可能要经历多级调度才能实现。
- 处理机调度分类:作业调度、交换调度和进程调度。
CPU调度————作业调度
-
作业调度:指按照一定的策略,从外存的多道后备作业中选择一道或一部分作业装入内存,并创建相应的进程、分配必要的资源,插入就绪队列。
- 作业:由用户程序、数据和作业控制块这三部分组成,其中作业控制块记录了作业的全部信息。
一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、后背、执行和完成等4个状态。
-
提交状态:作业由输入设备向系统外存提交后,作业就处于提交状态。
-
后备状态:作业通过输入设备存放到磁盘后,系统为该作业建立作业块,并将其插入到后背队列中等待调度,则在它未被调度去执行前,该作业处于后备状态。
-
执行状态:作业调度程序从后备队列中选取作业到内存投入运行。它被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。
-
完成状态:作业运行结束或因发生异常而终止运行,但作业控制块还未被撤销,该作业处于完成状态。
作业调度需要解决的问题
- 一是每次接纳多个作业:(取决于多道程序的度)
- 二是接纳哪些作业:(取决于调度算法)
处理机调度————进程调度
-
进程调度:指按照某种选择策略,从就绪队列中的多个就绪进程选择一个进程,为它分配CPU资源,使其处于运行状态。
- 引入进程调度的目的:提高CPU的利用率和系统吞吐量。
- 进程调度程序是操作系统中最活跃、最重要的程序调度,其优劣直接决定了系统的性能。
其主要任务是按照某种策略和算法,从就绪进程队列中选择一个进程将它移除就绪队列并设置为运行态,同时启动CPU立即执行。
分时系统中通常采用时间片轮转方式进行低级调度,即系统为就绪队列的每一个进程一次分配一个时间片执行。
若某进程使用完一个时间片,但尚未完成相应的任务时,操作系统便将该进程放回就绪队列的末尾等待下一次调度。
高级调度与低级调度的区别
- 低级调度是真正让某个处于就绪状态的进程获得处理机执行;
- 高级调度只是将处于后备状态的作业装入内存,进行运行状态,使其具有竞争处理机的机会,是一个宏观的概念,将来真正使用处理机执行的还是该作业的相应进程。
处理机的中级调度————交换调度
-
交换调度:按照某种选择策略,从内存中选择一个或多个进程换出到外存暂停执行,或将外存中一个或多个进程从外存中调入内存等待运行。
- 引入交换调度的目的:提高内存利用率和系统吞吐量。
- 交换调度的实质:存储器管理中的对换功能。
总结三种调度类型:
- 作业调度决定后备队列中的哪一个作业将进入内存,它决定了一个进程能否被创建以参与CPU的分配;
- 交换调度是挂起或激活那个进程;
- 进程调度是决定哪一个就绪进程占有CPU运行,它是各类操作系统都必须具备的功能。
习题
进程调度是根据一定的调度算法,从()队列中挑选出一个的进程,分配给它CPU。 就绪
作业调度程序从处于()状态的队列中选取适当的作业调入主存运行。 后备
用户要求计算机处理的一个任务称为一个() 作业
作业调度从()中选择一道作业为它分配资源,并为它创建() 后备队列,进程