操作系统作业调度
1处理机调度的层次高级调度高级调度又称为作业调度或长程调度

每个系统在选择作业调度算法时,既应考虑用户的 要求,又能确保系统具有较高的效率。在每次执行作业 调度时,都须做出以下两个决定。 1)决定接纳多少个作业 作业调度每次要接纳多少个作业进入内存,取决于多 道程序度(Degree of Multiprogramming),即允许多少 个作业同时在内存中运行。当内存中同时运行的作业数 目太多时,可能会影响到系统的服务质量,比如,使周 转时间太长。但如果在内存中同时运行作业的数量太少 时,又会导致系统的资源利用率和系统吞吐量太低,因 此,多道程序度的确定应根据系统的规模和运行速度等 情况做适当的折衷。
每当作业进入系统时,系统便为每个作业建立一个 JCB,根据作业类型将它插入相应的后备队列中。作业调 度程序依据一定的调度算法来调度它们,被调度到的作 业将会装入内存。在作业运行期间,系统就按照JCB中的 信息对作业进行控制。当一个作业执行结束进入完成状 态时,系统负责回收分配给它的资源,撤消它的作业控 制块。
2)决定接纳哪些作业 应将哪些作业从外存调入内存,这将取决于所采用的 调度算法。最简单的是先来先服务调度算法,这是指将 最早进入外存的作业最先调入内存;较常用的一种算法 是短作业优先调度算法,是将外存上最短的作业最先调 入内存;另一种较常用的是基于作业优先级的调度算法, 该算法是将外存上优先级最高的作业优先调入内存;比 较好的一种算法是“响应比高者优先”的调度算法。
作业步:通常,在作业运行期间,每个作业都必须 经过若干个相对独立,又相互关联的顺序加工步骤才能 得到结果,我们把其中的每一个加工步骤称为一个作业 步,各作业步之间存在着相互联系,往往是把上一个作 业步的输出作为下一个作业步的输入。 作业流:若干个作业进入系统后,被依次存放在外存 上,这便形成了输入的作业流;在操作系统的控制下, 逐个作业进行处理,于是便形成了处理作业流。
操作系统-处理机调度的层次和调度算法的目标

CPU 有效工作时间
CPU 的利用率 = CPU 有效工作时间 ? CPU 空闲等待时间
3
第一章 操作系统引论
(2) 公平性。公平性是指应使诸进程都获得合理的CPU 时间,不会发生进程饥饿现象。公平性是相对的,对相同类 型的进程应获得相同的服务;但对于不同类型的进程,由于 其紧急程度或重要性的不同,则应提供不同的服务。
7
第一章 操作系统引论
3. 分时系统的目标 (1) 响应时间快。 (2) 均衡性。
8
第一章 操作系统引论
4. 实时系统的目标 (1) 截止时间的保证。 (2) 可预测性。
9
4
第一章 操作系统引论
2. 批处理系统的目标 (1) 平均周转时间短。 对每个用户而言,都希望自己作业的周转时间最短。但 作为计算机系统的管理者,则总是希望能使平均周转时间最 短,这不仅会有效地提高系统资源的利用率,而且还可使大 多数用户都感到满意。应使作业周转时间和作业的平均周转 时间尽可能短。否则,会使许多用户的等待时间过长,这将 会引起用户特别是短作业用户的不满。可把平均周转时间描 述为:
tn1tn1i???i66第一章操作系统引论为了进一步反映调度的性能更清晰地描述各进程在其周转时间中等待和执行时间的具体分配状况往往使用带权周转时间即作业的周转时间t与系统为它提供服务的时间ts之比即w??tts
第一章 操作系统引论
?3.1 处理机调度的层次和调度算法的目标
在多道程序系统中,调度的实质是一种资源分配,处理 机调度是对处理机资源进行分配。处理机调度算法是指根据 处理机分配策略所规定的处理机分配算法。在多道批处理系 统中,一个作业从提交到获得处理机执行,直至作业运行完 毕,可能需要经历多级处理机调度,下面先来了解处理机调 度的层次。
操作系统原理-进程调度

6.3.1 进程调度的功能
6.3.1 进程调度的功能
进程调度的功能 根据一定的调度策略或指标遍历所有的就绪进程, 从中选择一个最合适的进程。 选择该进程的过程实际是用户按特定指标对所有进 程进行排队的过程。
6.3.2 进程调度的时机
6.3.2 进程调度的时机
1.时钟中断 时钟中断是最频繁且周期性地引发进程调度的事件之一。
作业
大小 进入时刻 开始时刻 结束时刻
周转 时间
带权周 转时间
平均周 转时间
平均带权周 转时间
A 20
0
0
20
20 1.00
B 40
10
50
90
80 2.00
C 30
15
20
50
35 1.17 43.75
2.04
D 10
60
90
100
40 4.00
6.4.3 响应比高者优先调度算法
6.4.3 响应比高者优先调度算法
6.3.3 进程调度的方式
进程调度的方式
非抢占方式又称非剥夺式调度
它是指进程调度程序一旦把CPU分配给某进程后,该进程 可以一直运行下去,在它的时间片用完之前,或任务完成 之前,或因为I/O请求被阻塞之前,决不允许其他进程抢走 它的CPU。
抢占方式又称剥夺式调度
抢占方式允许进程调度程序根据某种策略终止当前正在运 行的进程,将其移入就绪队列,再根据某种调度算法选择 另一个进程投入运行。
6.4.1 先来先服务调度算法
先来先服务(First Come First Service,FCFS)
例子:假设系统中有4个作业先后投入,它们的作业 大小和进入时间如表(作业大小和时间单位分钟)
2016___操作系统处理器调度

JCB的主要内容包括: (1)作业情况 (2)资源需求 (3)资源使用情况 (4)作业控制 (5)作业类型
作业调度与进程调度的关系
SPOOLin g作业预 输入 输 入 状 态 预输 入完 成 进程调度 后 备 状 态 就 绪 等 待 完
运 行
成 状 态
SPOOLin g作业缓 输出
作业调度(选 中并创建进程)
作业控制
作业调度(作 业终止并撤离)
3)批作业的调度
(1) 选择作业: (2) 分配资源: (3) 创建进程: (4) 作业控制: (5) 后续处理:
2 交互作业的组织和管理
• 分时系统的作业就是用户的一次上机交互过程, 可认为终端进程的创建是一个交互型作业的开始, 退出命令运行结束代表用户交互型作业的中止。 • 交互作业的情况和资源需求通过操作命令告知系 统,分时用户逐条输入命令,即提交作业(步) 和控制作业运行,系统则逐条执行并给出应答, 每键入一条或一组有关操作命令,便在系统内部 创建一个进程或若干进程来完成相应命令。 • 键盘命令有:作业控制类;资源申请类;文件操 作类;目录操作类;设备控制类等。
响应比定义
响应比 =(等待时间 + 要求执行时间) / 要求 执行时间=1+等待时间/要求执行时间 •短作业容易得到较高响应比, •长作业等待时间足够长后,也将获得足 够高的响应比, •饥饿现象不会发生。
HRRF算法举例
四个作业到达系统时间/所需CPU时间:作业1-0/20, 作业2-5/15,作业3-10 /5,作业4- 15/ 10。 • SJF调度顺序为作业1、3、4、2,平均作业周转时 间T=25, 平均带权作业周转时间W=2.25 。 • FCFS调度顺序为作业1、2、3、4,平均作业周转 时 间 T=28.75 , 平 均 带 权 作 业 周 转 时 间 W=3.125 。 • HRRF 调度顺序为作业 1 、 3 、 2 、 4 ,平均作业周 转 时 间 T=26.25 , 平 均 带 权 作 业 周 转 时 间 W=2.46 。
多道程序的实验报告

if ready=q=p;else{
q->next=p;
q=p; } } }
void disp//显示作业运行后的周转时间及带权周转时间等{
if //显示高响应比算法调度作业后的运行情况{
printf;printf;printf;printf;printf;printf;getch; }
else//显示先来先服务,最短作业优先算法调度后作业的运行情况{
实验一多道程序设计技术
一.实验内容步骤
1.首先观看DOS单道运行方式
MS-DOS是个单用户、单任务的操作系统。主机任何时候只能接纳和运行一个程序。在Windows中保留了MS-DOS。从桌面的“开始” →“程序” →“附件” →“命令提示符”,便进入了MS-DOS。该系统以命令提示符为交互界面。显示命令提示符C:\>,读者可以逐条地写出程序名字,要求系统为之执行。比如发CD,要求系统报告用户的当前目录。发DIR,要求报告当前目录所包含的文件(包括子目录)名。发DATE,要求系统报告当天日期,等等。
二、实验内容和要求
1、为单道批处Βιβλιοθήκη 系统设计一个作业调度程序、编写并调试一个单道处理系统的作业调度模拟程序。、作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)的调度算法。、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。
操作系统―名词解释

1.操作系统:是一组用于管理和控制计算机资源(包括软件资源和硬件资源)合理地组织计算机的工作流程,并方便用户使用计算机的程序集合。
2.系统抖动:是指被调出的页面又立刻备调入所形成的频繁调入调出的现象。
3.用户独占全机:(用户指的是程序)一台计算机的全部资源由上机用户所独占。
4.脱机输入/输出方式(Off-Line I/O方式):5.批处理技术:指计算机用户对一批作业自动进行处理的一种技术。
6.作业:计算机用户程序及其所需数据和命令的集合。
7.单道批处理:8.多道批处理技术:同时把多个作业放入内存,并允许它们交替执行的一种技术。
9.分时系统:10.实时系统:11.并行性:指两个或多个事件在同一时刻发生。
12.并发:一个程序的执行尚未结束而另一个程序的执行已开始的方式,是操作系统最重要的特征13.事件:14.并发性:指两个或多个事件在同一时间间隔内发生。
15.进程:指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体。
16.线程:17.共享:在OS环境下的资源共享或称为资源复用,指系统中的资源可供内存中多个并发执行的进程共同使用。
18.临界资源(独占资源):在一段时间内只允许一个进程访问的资源。
19.原子操作:一个操作中的所有动作要么全做,要么全不做,它是一个不可分割的操作。
20.进程控制:21.进程同步:22.进程通信:23.信号量:OS中管理公有资源的有效手段,用来代表可用资源实体的数量24.作业调度:作业调度的基本任务是从后备队列按一定的算法选择出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为他们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。
25.进程调度:进程调度的任务是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行。
26.微内核OS结构:27.前趋图:指一个有向无循环图用于描述进程之间执行的先后顺序。
操作系统作业的概念
操作系统作业的概念操作系统作业(Job)是指在计算机系统中由用户或程序提出的一个执行单位。
在操作系统中,作业是计算机系统中的最小执行单位,每个作业都具有独立的运行环境和资源要求。
一、作业的定义与特点作业是指用户或程序提交给计算机系统执行的任务。
它由一系列的指令和数据组成,需要操作系统分配资源并协调它们的执行。
作业的主要特点包括:1. 独立性:每个作业都是独立的执行单位,执行过程中不受其他作业的干扰。
2. 结构性:作业由指令和数据组成,按照一定的结构组织,以便计算机系统能够正确地执行它们。
3. 可重复性:作业可以在不同的时间和不同的计算机上执行,具有重复利用的特点。
4. 有限性:每个作业都有一定的完成时间,在执行完毕后,作业将退出计算机系统。
二、作业的状态在操作系统中,作业的执行过程可以分为不同的状态,常见的包括:1. 未提交状态:作业还没有被提交给计算机系统,处于准备阶段。
2. 等待状态:作业已经提交给计算机系统,但还没有开始执行,此时作业在等待系统分配资源。
3. 执行状态:作业正在被计算机系统执行,CPU正在执行作业的指令。
4. 阻塞状态:作业由于某些原因(如等待I/O操作)被挂起,暂时无法继续执行。
5. 完成状态:作业执行完毕,释放资源,从操作系统中退出。
三、作业调度作业调度是指操作系统根据一定的算法和策略选择要执行的作业。
作业调度的目标是提高系统的利用率和性能,合理分配资源,保证每个作业都能得到适当的执行时间。
常用的作业调度算法包括先来先服务(FCFS)调度算法、短作业优先(SJF)调度算法和时间片轮转(RR)调度算法等。
四、作业管理作业管理是操作系统中重要的组成部分,主要包括作业提交、作业分配、作业调度、作业控制和作业同步等功能。
作业管理通过对作业的管理和控制,实现对计算机系统资源的高效利用,提高系统的处理能力和响应速度。
五、作业同步与互斥在多道程序环境下,不同的作业可能需要访问共享资源,为了保证数据的正确性和一致性,操作系统提供了作业同步和互斥机制。
计算机操作系统—调度算法
计算机操作系统—调度算法# 有些计算会有问题谅解经典进程的同步问题1、吃⽔果桌上有⼀只盘⼦,每次只能放⼊⼀只⽔果,爸爸专向盘⼦中放苹果(apple),妈妈专向盘⼦中放桔⼦(orange),⼀个⼉⼦专等吃盘⼦中的桔⼦,⼀个⼥⼉专等吃盘⼦中的苹果。
只要盘⼦中空则爸爸或妈妈可向盘⼦中放⼀只⽔果,仅当盘中有⾃⼰需要的⽔果时,⼉⼦或⼥⼉可从中取出。
把爸爸、妈妈、⼉⼦、⼥⼉看做四个进程,⽤wait、signal操作进⾏管理,使这4个进程能正确地并发执⾏。
如图所⽰。
.png)1、定义信号量的含义与赋值定义⼀个是否允许向盘⼦中存放⽔果的信号量S,其初值为“1” ;定义两个信号量SP和SO分别表⽰盘⼦中是否有苹果或桔⼦的消息,初值均为“0” ,⼀个互斥信号量\[SP=表⽰盘⼦中有苹果;SO=表⽰盘⼦⾥⾯有桔⼦ \]2、写伪代码begin:S,SP,SO:semaphere; //设置信号量S:=1; SP:=0; SO:=0; //进⾏初始赋值Process 爸爸{BeginL1:准备⼀个苹果;wait(S); //申请空盘⼦的互斥信号量将苹果放⼊盘⼦中signal(SP); //盘⼦中有苹果,返回SPGoto L1; //调⽤L1⼥⼉取⾛盘⼦中的苹果end;}Process 妈妈{BeginL2:准备⼀个桔⼦;wait(S); //申请空盘⼦的互斥信号量将桔⼦放⼊盘⼦中signal(SO); //盘⼦中有桔⼦,返回SOGoto L2; //调⽤L2⼉⼦取⾛盘⼦中的桔⼦end;}Process ⼉⼦{beginL3:.wait(SO); //等待盘⼦中有桔⼦从盘⼦中拿⾛桔⼦signal(S); //拿⾛桔⼦后,盘⼦为空;由SO向S转变end;}Process ⼥⼉{beginL4:.wait(SP); //等待盘⼦中有苹果从盘⼦中拿⾛苹果signal(S); //拿⾛苹果后,盘⼦为空;由SP向S转变end;}end;2、共享打印机现有四个进程R1,R2,W1,W2,它们共享可以存放⼀个数的缓冲区。
计算机操作系统(汤小丹第三版)第3章 处理机调度与死锁
m
Ci P N i 1 i
25
m
第三章 处理机调度与死锁
3.3.2 实时调度算法的分类
1、非抢占式调度算法
图 3-8 非抢占式实时进程调度
26
第三章 处理机调度与死锁
2、抢占式调度算法
图 3-8 抢占式实时进程调度
27
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1、 最早截止时间优先即EDF(Earliest Deadline First)算法
11
第三章 处理机调度与死锁
3.2.2 选择调度方式和调度算法的若成 这段时间间隔。
1 i (2)平均周转时间: T Ti n i 1
W0 T
(3)带权周转时间:作业周转时间T与系统为它提供 的服务时间TS之比:
作业 调度 后 备 队 列
时间片完
进程调度 进程完成
就 绪 队 列
CPU
事件1出现
等待事件1
事件2出现 … 事件n出现 … …
等待事件2 … 等待事件n
图 3-2 具有高、低两级调度的调度队列模型
9
第三章 处理机调度与死锁
3、 同时具有三级调度的调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列 进程完成
进程名 到达 时间 A 0 B C D E 1 2 3 4 服务 时间 4 3 5 2 4 带权平均 周转时间
22
完成 时间
周转 时间
带权周 转时间
平均周转时间
第三章 处理机调度与死锁
2、多级反馈队列调度算法 就绪队列1 S1 S2 S3 至CPU 至CPU
就绪队列2 就绪队列3
操作系统中常用的进程调度算法
操作系统中常用的进程调度算法1、先来先服务调度算法先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。
当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。
该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。
2、短作业(进程)优先调度算法短作业(进程)优先调度算法,是指对短作业或短进程优先调度的算法。
它们可以分别用于作业调度和进程调度。
短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
而短进程优先(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时再重新调度。
3、时间片轮转法在早期的时间片轮转法中,系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。
时间片的大小从几ms到几百ms。
当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。
这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间。
换言之,系统能在给定的时间内响应所有用户的请求。
4、多级反馈队列调度算法前面介绍的各种用作进程调度的算法都有一定的局限性。
如短进程优先的调度算法,仅照顾了短进程而忽略了长进程,而且如果并未指明进程的长度,则短进程优先和基于进程长度的抢占式调度算法都将无法使用。
而多级反馈队列调度算法则不必事先知道各种进程所需的执行时间,而且还可以满足各种类型进程的需要,因而它是目前被公认的一种较好的进程调度算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等待时间 + 要求服务时间 响应时间 优先权 = = 要求服务时间 要求服务时间
(1) 如果作业的等待时间相同,则要求服务的时间愈 短,其优先权愈高,因而该算法有利于短作业。 (2) 当要求服务的时间相同时,作业的优先权决定于 其等待时间,等待时间愈长,其优先权愈高,因而它实 现的是先来先服务。 (3) 对于长作业,作业的优先级可以随等待时间的增 加而提高,当其等待时间足够长时,其优先级便可升到 很高, 从而也可获得处理机。
1. 先来先服务调度算法 FCFS:First Come First Serve 2. 短作业 进程 优先调度算法 短作业(进程 进程)优先调度算法 SJF:Shortest Job First
例
假设在单道批处理环境下有四个作业 ,已知它们进入系统的时间、估计运行时 间。 应用先来先服务、最短作业优先和最 高响应比优先作业调度算法,分别计算出 作业的平均周转时间和带权的平均周转时 间
平均周转时间 t= 平均带权周转时间 w=
先来先服务
作业 提交 时间 8:00 8:30 9:00 9:30 运行 时间 120 40 8 12 开始 时间 8:00 10:00 10:40 10:48 完成 时间 10:00 10:40 10:48 11:00 周转 时间 120 130 108 90
带权 周转 时间
1 2 3 4
1 3.25 13.5 7.5
平均周转时间 t=112 平均带权周转时间 w=6.31
短作业优先
作业 提交 时间 8:00 8:30 9:00 9:30 运行 时间 120 40 8 12 开始 时间 8:00 10:20 10:00 10:08 完成 时间 10:00 11:00 10:08 10:20 周转 时间 120 150 68 50
先来先服务调度算法计算结果
作业 进入时间 估计运行 开始时间 时间 分钟) (分钟) 120 8:00 8:00 : : 50 8:50 10:00 : : 10 9:00 : 10:50 : 20 9:50 11:00 : : 作业平均周转时间 T = 112.5 作业带权平均周转时间 W = 4.975 结束时间 周转时间 分钟) (分钟) 120 120 120 90 450 带权周转 时间 1 2.4 12 4.5 19.9
带权 周转 时间
1 2 3 4
1 3.75 8.5 4.17
平均周转时间 t=97 平均带权周转时间 w=4.355
3.2.3 基于时间片的轮转调度算法
1、时间片的轮转法(RR:Round Robin) 、时间片的轮转法( : ) 各进程按提交顺序排成就绪队列,然后依次占 用处理机,运行某一时间片(通常100ms是一个比 较好的折衷),时间片到则排入就绪队列尾。 时间片的确定:时间片q = 响应时间T / 进程数N q T N 系统开销:如时间片100ms,进程切换需5ms, 则系统开销所占比率:5/(100+5)= 4.8% 可变时间片: 一轮调度开始时,根据现有就绪进程数目重新 计算 q,以减少当进程数很少时频繁调度的开销。
JOB1 JOB2 JOB3 JOB4
10:00 : 10:50 : 11:00 : 11:20 :
最短作业优先作业算法计算结果
作业 进入时间 开始时间 估计运行 时间 分钟) (分钟) 120 8:00 : 8:00 : 50 8:50 10:30 : : 10 9:00 10:00 : : 20 9:50 : 10:10 : 作业平均周转时间 T = 95 作业带权平均周转时间 W = 3.25 结束时间 周转时间 分钟) (分钟) 120 150 70 40 380 带权周转 时间 1 3 7 2 13
(5)作业调度 1) 接纳多少个作业 2) 接纳哪些作业 FCFS 、SJF、HPF、HRN
进程调度
一、进程调度的功能: 在PCB中保存处理机的现场信息 根据算法选取进程 分派程序将处理机分配给进程 附:调度方式 非抢占方式: 运行进程完成或阻塞时,才再分配处理机。 抢占方式: 将正运行进程强行撤下,处理机分配给其它进 程。
实时任务的类型: 实时任务的类型:
按任务执行时是否呈现周期性来划分: –周期性实时任务:每隔一段固定的时间发生 –非周期性实时任务:在不可预测的时间发生。 截止时间(deadline): • 开始截止时间(最晚开始时间) • 完成截止时间(最晚完成时间) 根据对截止时间的要求来划分: –硬实时任务:存在必须满足的时间限制。 –软实时任务:可以容忍偶尔超过时间限制。
3.1.1处理机调度的三个层次 处理机调度的三个层次
作业调度(高级调度) 交换调度(中级调度) 进程调度(低级调度)
!进程调度频率最高,约10~100 ms进行一次,因 而进程调度算法不能太复杂,以免占用太多CPU时 间
(1)作业
作业调度
程序+数据+作业说明书 (2)作业步
(4)作业控制块(JCB:Job Control Block) • 作业控制块是作业存在的标志 • 保存有系统进行作业管理所需要的全部信息 • 位于磁盘区域中
事件1出现
等待事件 1
事件2出现 … 事件n出现 … …
等待事件 2 … 等待事件 n
图 3-2 具有高、低两级调度的调度队列模型
3. 同时具有三级调度的调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列
进程调度
CPU
进程完成
就绪,挂起队列 事件出现
阻塞,挂起队列 事 件 出 现 阻塞队列 等待事件 挂起
3. 高响应比优先调度算法 (HRRN:Highest Response Ratio Next)
等待时间 + 要求服务时间 优先权 = 要求服务时间
由于等待时间与服务时间之和,就是系统对该 作业的响应时间,故该优先权又相当于响应比RP 。
等待时间 + 要求服务时间 响应时间 优先权 = = 要求服务时间 要求服务时间
2)实现实时调度的基本条件
提供必要的信息(就绪时间、截止时间、处 理时间、资源要求、资源优先级) 系统处理能力要足够强: 单处理机情况下:设有m个周期性事件,事件i 的周期为Pi,其中每个事件需要Ci秒的CPU时间 来处理,可调度的的实时系统必须满足: C1/P1 + C2/P2 + … + Cm/Pm ≤ 1 采用抢占式调度机制 具有快速切换机制
第三章 处理机调度与死锁
3.1 处理机调度概述 3.2 调度算法 3.3 实时调度 3.4 死锁的概念 3.5 死锁的预防和避免 3.6 死锁的检测和解除
3.1 处理机调度概述
处理机调度(CPU调度)要解决的问题: WHAT:按什么原则分配CPU —调度算法 WHEN:何时分配CPU —调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换)
II. 最低松弛度优先即 最低松弛度优先即LLF(Least Laxity First)算法 算法
该算法是根据任务紧急(或松弛)的程度,来 确定任务的优先级,即选择松弛度最少的进程执 行该算法。主要用于可抢占调度方式中。 松弛度:即各个进程的富裕时间(裕度) 松弛度=必须完成时间-其本身的运行时间-当前 时间
1 n Ti W = ∑ n i =1 TSi
(2) 响应时间快。 (3) 截止时间的保证。 (4) 优先权准则。 2. 面向系统的准则 (1) 系统吞吐量高。 (2) 处理机利用率好。 (3) 各类资源的平衡利用。
3.2 调度算法
3.2.1 先来先服务和短作业 进程 优先调度算法 先来先服务和短作业(进程 进程)优先调度算法
图 3-3 具有三级调度时的调度队列模型
3.1.3 选择调度方式和调度算法的若干准则
1. 面向用户的准则 (1) 周转时间短。 周转时间短。 平均周转时间:
1 i T = ∑ Ti n i =1
作业的周转时间T与系统为它提供服务的时间TS 之比,即 W=T/TS,称为带权周转时间,而平均带权周转时间则可表 示为:
最高响应比优先作业算法计算结果
练习
• 应用先来先服务、最短作业优先和最高响应比优先作业调度算 法,分别计算出作业的平均周转时间和带权的平均周转时间 作业 1 2 3 4 提交 时间 8:00 8:30 9:00 9:30 运行 时间 120 40 8 12 开始 时间 完成 时间 周转 时间
带权 周转 时间
3.1.2 调度队列模型
1. 仅有进程调度的调度队列模型
时间片完 进程调度 CPU 进程完成
交互用户 事 件 出 现
就 绪 队 列
阻 塞 队 列
等待事件
图 3-1 仅具有进程调度的调度队列模型
2. 具有高级和低级调度的调度队列模型
作业 调度 后 备 队 列 时间片完 进程调度 CPU 进程完成
就 绪 队 列
3)实时调度算法的分类
1)非抢占式调度算法 :
非抢占式轮转调度算法(实时要求不太严格,s) 非抢占式优先调度算法(要求比较严格,数百ms)
2)抢占式调度算法:
基于时钟中断的抢占优先调度算法(要求比较严格,数10ms) 立即抢占优先权调度算法(紧迫任务,几ms甚至百微秒)
图 3-8 实时进程调度ຫໍສະໝຸດ 4)常用的几种实时调度算法
带权 周转 时间
1 2 3 4
1 3.75 8.5 4.17
平均周转时间 t=97 平均带权周转时间 w=4.355
最高响应比优先
作业 提交 时间 8:00 8:30 9:00 9:30 运行 时间 120 40 8 12 开始 时间 8:00 10:20 10:00 10:08 完成 时间 10:00 11:00 10:08 10:20 周转 时间 120 150 68 50
JOB1 JOB2 JOB3 JOB4