操作系统复习----第六章(处理机调度)

一、处理机的调度层次

处理机管理的目的是对CPU资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源。
处理机的调度可以分为三个层次:

  • 高级调度(宏观调度)
  • 中级调度(挂起与解挂)
  • 低级调度(微观调度)

二、 宏观调度(作业调度)

对存放在辅存设备上的大量作业,以一定的策略进行挑选,分配主存等必要的资源,建立作业对应的进程,插入就绪队列等待运行。

  1. 接纳多少个作业——作业表大小决定;
  • 太多―> 周转时间T长
  • 太少―> 系统效率低
  1. 接纳哪些作业——调度算法决定。
    高级调度的时间尺度通常是分钟、小时或天。
    一般用于批处理系统,分/实时系统一般直接入内存,无此环节。

作业的状态

  • 提交状态:编辑作业的过程;
  • 后备状态:作业已存放在磁盘上,等待调度。
  • 执行状态: 作业进入主存开始运行。
  • 完成状态 :作业计算完成开始,退出系统。

作业状态的变迁:
在这里插入图片描述

作业调度的功能

  • 确定数据结构: 建立作业控制块JCB (job control block)。作业控制块记录了每个作业类型、状态、资源请求及分配情况。
  • 确定调度策略与调度算法
  • 分配资源:为选中的作业分配所需要的系统资源。
  • 善后处理:收回该作业所占用的全部资源,撤消作业控制块以及与该作业有关的全部进程资源。

作业控制块是主要内容

  • 作业名
  • 资源要求:估计执行时间、最迟完成时间、要求的主存量、要求外设的类型及台数、要求文件量和输出量
  • 资源使用情况: 进入系统时间、开始执行时间、已执行时间、主存地址、外设台号
  • 类型
  • 优先级
  • 作业状态

作业调度算法

作业调度实质是根据系统的资源分配策略所规定的资源分配算法。常用的调度算法有:

先来先服务算法(FCFS:First Come First Serve)

先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。

  • 按照作业提交或进程变为就绪状态的先后次序,分派CPU;
  • 当前作业占用CPU,直到执行完或阻塞,才出让CPU
  • 在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。
最短作业优先算法(SJF:Shortest Job First)

按作业估计运行时间长短来组织后备作业队列,作业调度程序首先对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。

最短剩余时间优先(SRT: Shortest Remaining Time)

基本思想:让运行到作业完成过程中所需的运行时间最短的作业(进程)优先得到处理,其中包括新进入系统的进程。SRT策略是可以被一个新进入系统的,并且其运行时间少于当前运行进程的剩余运行时间的进程所抢占。
保证及时响应用户要求,短作业一进入系统就能立即得到服务,从而降低作业的平均等待时间。

最高响应比优先算法(HRRN:Highest Response Ratio Next)

在这里插入图片描述

基于优先数调度算法(优先权调度算法)(HPF:Highest Priority First)

为了照顾紧迫型作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(HPF)调度算法。此算法常被用于批处理系统中,作为作业调度算法,也作为多种操作系统中的进程调度算法,还可用于实时系统中。

均衡调度算法(分类排队算法) (补充)

基本思想:

  • 根据系统运行情况和作业属性将作业分类排队;
  • 同一队列中的作业按FCFS或优先数调度算法加入内存;
  • 各队列中的作业则按某种方式相互搭配进入内存,以期达到更理想的调度效果。

目标:

  • 力求均衡地利用各种系统资源,发挥资源使用效率;
  • 力求使用户满意。

三、微观调度(进程调度)

也称微观调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态,低级调度的时间尺度通常是毫秒级的,实现时做到高效。

主要功能

(1)保存处理机的现场信息;
(2)按某种算法选取进程;
(3)把处理器分配给进程。

基本机制

(1) 排队器(scheduler)。
为了提高进程调度的效率,应事先将系统中所有的就绪进程按照一定的方式排成一个或多个队列,以便调度程序能最快地找到它。
(2) 分派器(分派程序)。
分派器把由进程调度程序所选定的进程,从就绪队列中取出该进程,然后进行上下文切换,将处理机分配给它 。
(3) 上下文切换机制。
当对处理机进行切换时,会发生两对上下文切换操作。
在第一对上下文切换时,操作系统将保存当前进程的上下文,而装入分派程序的上下文,以便分派程序运行——保护现场。
在第二对上下文切换时,将移出分派程序,而把新选进程的CPU现场信息装入到处理机的各个相应寄存器中——恢复现场。

调度方式

1) 非抢占方式(Non-preemptive Mode)
采用非抢占调度方式时,可能引起进程调度的因素有3个:
(1) 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行;
(2) 执行中的进程因提出I/O请求而暂停执行;
(3) 在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语、Wakeup原语等。
2)抢占方式
能更好地满足紧迫作业的要求。抢占的原则有:
(1) 优先权原则。
(2) 短作业(进程)优先原则。
(3) 时间片原则。
不同的原则依次对应不同的调度算法。要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统。

进程调度算法

进程调度实质是根据系统的资源分配策略所规定的资源分配算法。常用的调度算法有:

先来先服务算法(FCFS:First Come First Serve)
基于优先数调度算法(HPF:Highest Priority First )
时间片轮转算法(RR:Round Robin)

把CPU划分成若干时间片,并且按顺序赋给就绪队列中的每一个进程,进程轮流占有CPU。
通过时间片轮转,提高进程并发性和响应时间特性,从而提高资源利用率。
时间片长影响因素:

  • 就绪进程的数目:数目越多,时间片越小(当响应时间一定时);
  • 系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间、平均周转时间和平均带权周转时间延长。
多级队列反馈调度算法

在这里插入图片描述

四、中级调度(挂起与解挂)

又称中程调度(Medium-Term Scheduling)。内外存交换调度,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上。
主要目的,是为了提高内存利用率和系统吞吐量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值