处理机调度与死锁(5)

合集下载

第3章 处理机调度与死锁-完整

第3章  处理机调度与死锁-完整

3.2 调度准则
1、面向用户的准则 (1)周转时间短 周转时间:
Ti Tci Tsi
平均周转时间:
Ti为作业i的周转时间;Tci为作业 i的完成时间;Tsi为作业进入系 统(即进入磁盘后备队列的时间)
1 n T Ti n i 1
n为进入系统的作业个数
Notice:周转时间只考虑了作业等待的时间,没有 考虑作业执行时间的长短! 带权平均周转时间:
(2)处理机利用率好
CPU的有效工作时间 CPU的利用率=
CPU的有效工作时间+CPU的空闲时间
(3)各类资源的平衡利用
3.3 调度算法
1、先来先服务调度算法(FIFO, FCFS) 策略: 作业来到的先后次序进行调度

特点: 每次选择的作业是等待时间最久的,而不管 作业运行时间的长短。这种调度算法突出的 优点是实现简单,但效率较低,在一些实际 的系统和一般应用程序中采用这种算法的较 多。
调度算法
3、最高响应比优先调度算法(HRRF)
先来先服务调度算法只考虑了作业的等待时间而忽 视了作业本身的运行时间,而短作业(短进程)优 先调度算法只考虑了作业的运行时间,而忽视了作 业的等待时间。
系统响应时间 作业等待时间 作业要求运行时间 R 作业要求运行时间 作业要求运行时间
(单位:小时,并以十进制记)
Ti wi Tri
1 W Wi n i 1
n
Wi为作业i的带权周转时间;Tri为作业i的实际执 行时间
调度准则
(2) 响应时间快
常把响应时间的长短用来评价分时系统的性能,这 是选择分时系统中进程调度算法的重要准则之一。 所谓响应时间,是从用户通过键盘提交一个请求开 始,直至系统首次产生响应为止的时间,或者说, 直到屏幕上显示出结果为止的一段时间间隔。

第3章 调度与死锁

第3章 调度与死锁

• 2.短作业(进程)优先调度算法(Shortest Job/Process First,SJF/SPF) –(1) 算法描述 • 对预计执行时间短的作业(进程)优 先分派处理机。通常后来的短作业不 抢先正在执行的作业。 • 是对FCFS算法的改进,其目标是减少 平均周转时间。
• (2) SJF的特点 –优点: • 比FCFS改善平均周转时间和平均带权周转 时间,缩短作业的等待时间; • 提高系统的吞吐量; – 缺点: • 对长作业非常不利,可能长时间得不到执 行; • 未能依据作业的紧迫程度来划分执行的优 先级; • 难以准确估计作业(进程)的执行时间, 从而影响调度性能。
进程
P1 P2 P3 P4
P1 0 2 P2 4
到达时间
0.0 2.0 4.0 5.0
执行时间
7 4 1 4
• 最短剩余时间优先(抢先式SJF)
P3 5 P2 7 P4 11 P1 16
• 平均等待时间 = (9 + 1 + 0 +2)/4 = 3 • 平均周转时间=(16+5+1+6)/4=7
3.2.2 优先权调度算法(Priority Scheduling)
10.00 10.10 2 1
10.25 0.25
作 业 1 2 3
提交 运行 开始 完成时 周转 带权周转 时间 时间 时间 间 时间 时间 10.00 10.10 2 1 10 12 12.00 13.00 13.25 2 2.9 3 2/2 2.9/1 3/0.25
10.25 0.25 13
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则

计算机操作系统课件(第四版)第三章

计算机操作系统课件(第四版)第三章

9
3.1.3、中级调度
中级调度(中程调度) 目的:提高内存利用率和系统吞吐量 按一定的算法将外存上已具备运行条件的挂起进
程换入内存,挂到就绪队列上,准备执行;而将 内存中处于阻塞状态的某些进程换出至外存。
2021/4/14 星期三
10
3.2、调度队列模型
调度队列模型 选择调度方式和调度算法的若干准则
RR
周转时间
4
6
9 10
q=4
带权周转时间 1 2 2.25 5
周转时间
= 完成时间 – 到达时间
带权周转时间 = 周转时间 / 服务时间
2021/4/14 星期三
E 平均
4 4 17 13 11.8 3.33 3.46 17 13 8.4 3.33 2.5
33
2、多级反馈队列调度算法 原理:
设置多个就绪队列,并为各个队列赋予不同的优 先级和不同长度的时间片;
2021/4/14 星期三
34
时间 片完
时间 片完
就绪队列一 就绪队列二 就绪队列三
进程
调度
进程完成
CPU
时间 片完
…… 就绪队列 n
多级反馈队列调度算法示意图
2021/4/14 星期三
入内存运行。 短进程优先(SPF) 从就绪队列中选出估计运行时间最短的进程,将
处理机分配给它,使它立即执行。 直到运行完成进程才会让出处理机--非抢占式。 缺点: 对长作业不利,有可能长期不被调度; 完全没考虑作业的紧迫程度(某些特殊的); 用户做出的估计时间带有很大的主观性。
2021/4/14 星期三
第三章 处理机调度与死锁
第一节 处理机调度的层次 第二节 调度队列模型和调度准则 第三节 调度算法 第四节 实时调度 第五节 产生死锁的原因和必要条件 第六节 预防死锁的方法 第七节 死锁的检测和解除

处理机调度与死锁习题

处理机调度与死锁习题

处理机调度和死锁习题第一部分:处理机的调度一、单项选择题1.时间片轮转调度算法是为了()。

A.多个终端能够得到系统及时响应B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由()决定的。

A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于}/0繁忙型的作业。

A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中不正确的是()。

A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道运行,则平均周转时间为()。

A.1h B.5h C.2.5h D.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业.长作和交互作业用户都满意,应采用()。

A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。

A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2,T3,且T1 <T2 <T3。

系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()。

A.T1 + T2 + T3 B.(3 x Tl+2 x T2 + T3)/3C.(T1+T2+T3)/3 D.(TI+2 x T2+3 x T3 )/39.设有三个作业,其运行时间分别是2h,5h,3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。

第8讲-处理机调度与死锁

第8讲-处理机调度与死锁

24
自调度(Self-Scheduling)方式

自调度机制 是多处理系统中最简单的一种调度方式。 在系统中设置有一个公共的进程或线程就绪队列, 所有的处理器空闲时,都可自己到该队列中取得一 进程(线程)来运行。调度算法可以采用FCFS、 FPF和抢占式最高优先权优先调度算法等。经实验 证明FCFS算法在多处理器环境下简单开销小,目 前成为较好的调度算法。
8
非抢占式轮转调度图示
实时进程要求调度
调度实时进程运行
进程1 进程2 调度时间
进程n 实时进程
9
非抢占式优先权调度图示
实时进程请求调度 当前进程运行完成
当前进程 调度时间
实时进程
10
(2)抢占式调度算法
用于要求较严格的实时系统中,(t约为数十 ms),采用抢占式优先权调度算法。根据抢占 发生时间的不同可分为两种: 基于时钟中断的抢占式优先权调度算法。某高 优先级任务到达后并不立即抢占,而等下一个 时钟中断时抢占。 立即抢占的优先权调度算法。一旦出现外部中 断,只要当前任务未处于临界区,就立即抢占 处理机。
32
竞争资源引起进程死锁

可剥夺和非剥夺性资源 可把系统中的资源分为两类:一类是可剥夺性资源, 即该类资源分配给进程后可以被高优先级的进程剥 夺。如CPU和主存。 另一类是不可剥夺性资源,即分配给进程后只能在 进程用完后释放。如磁带机、打印机等。
33
竞争资源引起进程死锁

竞争非剥夺性资源 在系统中配置的非剥夺性资源,由于数量不能 满足诸进程运行的需要,会使进程在运行过程中, 因争夺这些资源而陷入僵局。例如,打印机R1磁带 机R2,可供进程P1和P2共享,假定P1已占用R1, P2已占用R2,此时P2又要求R1,因得不到进入阻 塞状态,P1又要求R2,也得不到而进入阻塞状态。 由于R1R2均为非剥夺性资源,所以进入死锁状态。

2013 第三章 处理机调度课堂讨论-习题解析

2013 第三章 处理机调度课堂讨论-习题解析
A.时间片轮转 B.先来先服务 C.短作业(进程)优先 D.优先权调度
第三章 处理机调度与死锁(2)
下面不属于作业调度算法评估标准的是( )
A.CPU利用率 C.吞吐量 B.内存利用率 D.周转时间
有5个待运行作业J1~J5,各自预计运行的 时间分别是9,6,3,5和7。假定这些作 业同时到达,并且在一台处理机上按单道 方式执行。讨论采用哪种调度算法和哪种 运行次序将使平均周转时间最短,平均周 转时间为多少。
第三章 处理机调度与死锁
课堂论
第三章 处理机调度与死锁
调度及调度层次 选择调度算法的准则 调度算法:FCFS、SJF、优先权、RR 死锁:
概念 产生死锁的原因 产生死锁的必要条件 死锁的处理方法:避免、预防、检测和解除 银行家算法
第三章 处理机调度与死锁(1)
设有4个作业同时到达,每个作业的执行时间 均为2小时,它们在一台处理机上按单道式运 行,则平均周转时间为( ) 设有3个作业J1、J2、J3,其运行时间分别为 2小时、5小时、3小时,假定它们同时到达, 并在同一台处理机上以单道方式运行,则平 均周转时间最小的执行顺序是( )
处理器调度采用可抢占式的优先级算法,忽略其它 辅助操作时间,回答下列问题:
分别计算作业J1~J3从开始到完成所用的时间 3个作业全部完成时CPU的利用率 3个作业全部完成时外设IO1的利用率
第三章 处理机调度与死锁(6)
已分配的资源 最大需求量 剩余资源 A B C A B C A B C P1 0 1 0 7 5 3 3 3 2 P2 2 0 0 3 2 2 P3 3 0 2 9 0 2 P4 2 1 1 2 2 2 P5 0 0 2 4 3 3 问:1)此状态是否为安全状态,是则找出安全序列 2)在此基础上

计算机操作系统(第四版)课后习题答案第三章

计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

处理机调度与死锁

处理机调度与死锁

优先权的类型
• 静态优先权还是动态优先权 • 1)静态优先权:在创建进程是确定,而且 在整个运行期间保持不变。 • 确定进程优先权的依据: • 1)进程类型。一般来说系统进程的优先权 高于用户进程的优先权。 • 2)进程对资源的需求。对资源需求少的进 程应该赋予高的优先权。 • 3)用户要求。用户进程的紧迫程度。 静态优先权简单易行,系统开销小,很可能
进程调度中的三个基本机制
• 1、排队器。为了提高进程调度的效率,应 事先将系统中所有的就绪进程按照一定的 方式排成一个或者多个队列,以便调度程 序能最快的找到它。 • 2、分派器。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然 后进行上下文切换,将处理机分配给它。 • 3、上下文切换机制。当对处理机进行切换 的时候,会发生两队上下文切换操作。在
• 注意:上下文切换会花去不少的处理器时 间,每一次上下文切换大约需要花费几毫 秒的时间,该时间大约可以执行上千条指 令。为此,现在已有通过硬件的方法来减 少上下文切换的时间。一组寄存器供处理 机在系统态时使用,另一组寄存器供应用 程序使用。在这种条件下的上下文切换只 需改变指针,使其指向当前寄存器组即可。
进程调度方式
• 1、非抢占方式。在采用这种调度方式时, 一旦把处理机分配给某个进程后,不管它 要运行多长时间,都一直让它运行下去, 决不会因为时钟中断等原因而抢占正在运 行进程的处理机,也不允许其他进程抢占 已经分配给它的处理机。直至该进程完成, 自愿释放处理机,或发生某事件而被阻塞 时,才把处理机分配给其它进程。
非抢占调度方式引起调度的因素
• 1、正在执行的进程执行完毕,或因发生某 事件而不能再继续执行。 • 2、执行中的进程因提出IO请求而暂停执行 • 3、在进程通信或者同步过程中执行了某种 原语操作,如P操作、block原语、wakeup 原语等。

第3章处理机调度与死锁课后习题解答

第3章处理机调度与死锁课后习题解答
8
第3章 处理机调度与死锁
12.在解决死锁问题的几个方法中,哪种方法最易实现? 哪种方法资源利用率最高? 【解答】解决死锁问题的方法有:死锁的预防、死锁的避免、死锁
的检测和解除等。
死锁的预防:主要是破坏产生死锁的必要条件。该方法容易实现,但 资源的利用率低。 死锁的避免:比较常用的有银行家算法。在该算法中有一些数据结构 及必要的计算,因此,实现起来不太容易,但资源的利用率最高。 死锁的检测和解除:是基于死锁定理而设计的,定期或不定期运行该 算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较 一下各种死锁解除方案的代价,找到代价最小的方案。该算法资源利 用率较高,但最难实现。因此,在以上几种方法中,死锁的预防最易 实现;死锁的避免资源利用率最高。
15.说明Linux系统的进程有哪几个状态? 【解答】 Linux系统内核在进程控制块中用state成员描述 进程当前的状态,并明确定义了5种进程状态。它们分别 是: (1)TASK-RUNNING状态,Linux系统中的运行状态实 际包含了上述基本状态中的执行和就绪两种状态。 (2)TASK-INTERRUPTIBLE状态,可中断的等待态。 (3)TASK-UNINTERRUPTIBLE状态,等待态,不可中 断状态。 (4)TASK-ZOMBIE状态,僵死态。 (5)TASK-STOPPED状态,暂停态。
1
第3章 处理机调度与死锁
2.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。

第3章 处理机调度与死锁练习答案

第3章 处理机调度与死锁练习答案

第三章处理机调度与死锁一、单项选择题1、操作系统中的作业管理是一种(A )。

A.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。

系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。

然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。

供选择的答案:[1]: A、高级调度 B、低级调度 C、中级调度 D、进程调度[2]: A、就绪 B、阻塞 C、提交 D、后备[3]: A、存储管理模块 B、处理机管理模块 C、文件管理模块 D、设备管理模块[4]: A、指令 B、子程序 C、进程 D、程序段[5]: A、把它们挂到就绪队列上 B、为它们分配处理机C、把它们挂到后备队列上D、为它们分配设备3、处于后备状态的作业存放在(A )中。

A.外存B.内存C.A和BD.扩展内存4、在操作系统中,JCB是指(A )。

A.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是( C)。

A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。

A.先来先服务法B. 短作业优先法C.时间片轮转法D. 优先级法7、在批处理系统中,周转时间是(B )。

A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用( B)。

A.先来先服务法B. 优先级法C.短作业优先法D. 时间片轮转法9、操作系统中,( A)负责对进程进行调度。

A.处理机管理B. 作业管理C.高级调度管理D. 存储和设备管理10.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。

(完整版)计算机操作系统(第四版)课后习题答案第三章

(完整版)计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

计算机操作系统(汤小丹第三版)第3章 处理机调度与死锁

计算机操作系统(汤小丹第三版)第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

第三章处理机调度

第三章处理机调度

第三章 处理机调度与死锁
3. 2 调度队列模型 和调度准则
3.2.1. 调度队列模型
1.仅有进程调度的调度队列模型 时间片完
交互用户
事 件 出 现
就绪 队列 阻塞 队 列
进程调度
进程完成 CPU
等待事件
图 3 - 1 仅具有进程调度的调度队列模型
第三章 处理机调度与死锁
…… …
CPU 进程X
进程i
当前进程 调度时间
实时进程
实时进程请求调度 实时进程抢占当前 进程并立即执行
当前进程
实时进程
调度时间
(b) 非抢占式优先权调度
(d) 立即抢占的优先权调度
图 3-6 实时进程调度
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1. 最早截止时间优先即EDF(Earliest Deadline First)算法 开始截止时间
要求服务时间 10 25 5 10
到达时间 完成时间 周转时间
0 5 10 15 10 35 40 50 10 30 30 35
带权周转时间 1 1.2 6 3.5
先 来 先 服 务
105/4=26.2 5 11.7/4=2.9 25
FCFS
例:FCFS算法比较有利于长作业(进程),而不 利于短作业(进程)。下表列出了A、B、C、D四 个作业分别到达系统的时间、要求服务的时间、 开始执行的时间及各自的完成时间,并计算出各 自的周转时间和带权周转时间。
2.作业控制块JCB(Job Control Block)
在多道批处理系统中为每个作业设置了一个作业 控制块(JCB),它是作业在系统中存在的标志.
当作业进入系统时,OS为其建立JCB.

操作系统作业(第3章处理机调度和死锁)_答案

操作系统作业(第3章处理机调度和死锁)_答案

第三部分作业管理一、选择题1、在操作系统中,JCB是指()。

A、作业控制块B、进程控制块C、文件控制块D、程序控制块2、处于后备状态的作业存放在()中。

A、外存B、内存C、A和BD、扩展内存3、作业调度程序从处于()状态的队列中选取适当的作业调入主存运行。

A、执行B、提交C、完成D、后备4、作业在系统中存在与否的唯一标志是()。

A、源程序B、作业说明书C、作业控制块D、目的程序5、作业调度的关键在于()。

A、选择恰当的进程管理程序B、选择恰当的作业调度算法C、用户作业准备充分D、有一个较好的操作环境6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指()调度算法。

A、先来先服务B、最短作业优先C、响应比高者优先D、优先级7、用户在一次计算过程中,或者一次事物处理中,要求计算机完成所做的工作的集合,这是指()。

A、进程B、程序C、作业D、系统调用8、在进行作业调度时,要想兼顾作业等待时间和计算时间,应选取()。

、A、先来先服务B、最短作业优先 C、响应比高者优先D、优先级9、在批处理系统中,周转时间是()。

A、作业运行时间B、作业等待时间和运行时间之和C、作业的相对等待时间D、作业被调度进入内存到运行完毕的时间10、作业调度算法提到的响应比是指()。

A、要求服务时间与响应时间之比B、响应时间与要求服务时间之比C、要求服务时间与作业等待时间之比D、作业等待时间与要求服务时间之比11、为了对紧急进程或重要进程进行调度,调度算法应采用()。

A、先来先服务法B、优先级法C、短作业优先法D、时间片轮转法12、时间片轮转调度算法是为了()。

A、多个终端都能得到系统的及时响应B、先来先服务C、优先级高的进程先使用CPUD、紧急事件优先使用CPU13、在操作系统中,作业处于()状态时,已处于进程的管理之下。

A、后备B、阻塞C、运行D、完成14、一个作业8:00提交系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。

计算机操作系统 第三版 第三章处理机调度

计算机操作系统 第三版 第三章处理机调度

周转时间 (分钟) 65 20 20 20 125
带权周转时间 2.167 1 4 2 9.167
调度算法应用举例
最短作业优先算法执行分析过程
10:00,JOB1进入,只有一作业,JOB1被调入执行, 10:05,JOB2到达,最多允许两作业同时进入,所以 JOB2也被调入 内存中有两作间长短调整执行次序
多级反馈队列
调度算法应用举例
在两道环境下有四个作业, 已知它们进入系统的时 间、估计运行时间, 系统采用短作业优先作业调度 算法,作业被调度运行后不再退出内存, 当一新作 业投入运行后,可按照作业运行时间长短调整作业 执行的次序(可抢占式调度占用CPU) 请给出这四个作业的执行时间序列,并计算出平均 周转时间及带权平均周转时间
2.低级(Short-term)调度——进程调度
进程调度决定就绪队列中哪个进程将获得处理机,然 后由分派程序执行把处理机分配给该进程的操作。进程 调度是最基本的调度,任何操作系统都有进程调度。



低级调度:最基本。各类0S必须具有的 功能。 中级调度:较完善的OS中,引入其来改 善内存的利用率和提高作业的吞吐量。 高级调度:批处理OS必须配置,纯粹的 分时或实时OS中,通常无须配置。
说明
前两种算法主要用于宏观调度,说明怎样选择一 个进程或作业开始运行,开始运行后的作法都相 同,即运行到结束或阻塞,阻塞结束时等待当前 进程放弃CPU
本算法主要用于微观调度,说明怎样并发运行, 即切换的方式;设计目标是提高资源利用率 其基本思路是通过时间片轮转,提高进程并发性 和响应时间特性,从而提高资源利用率
第3级:进程调度、
交换调度
完成 状态
微观调度、低级调度
选取一个处于就 绪状态的进程占 用处理机,之后, 进行上下文切换 以便建立与占用 处理机进程相适 应的执行环境。

处理机调度与死锁实验报告

处理机调度与死锁实验报告

探索处理机调度与死锁的实验本次实验主要针对处理机调度与死锁展开,旨在让学生深入理解操作系统中的重要概念,掌握具体的解决方案。

一、实验目的
1. 探究操作系统中的处理机调度算法并了解其原理。

2. 了解死锁概念及其分类,并学习有关死锁预防和避免的方法。

二、实验内容
1. 处理机调度实验
在实验中,我们学习了几种不同的处理机调度算法:先来先服务(FCFS)、短作业优先(SJF)、优先级调度(PS)、时间片轮转调度(RR)等。

通过模拟不同进程的到达和运行,学生们了解每个算法的特点和缺点,并分析在不同场景下使用算法的合理性。

2. 死锁实验
在死锁实验中,学生们学习了死锁的原理和分类。

为了更好地理解死锁的产生,我们首先逐步增加资源请求数量来模拟进程的资源竞争。

在后面的实验中,我们使用了银行家算法和资源分配图等工具来预防和避免死锁。

三、实验结果
在本次实验中,学生们深入理解了处理机调度的相关概念,并通过实践提高了分析和解决问题的能力。

同时,学生们也掌握了死锁的原理和可能出现的场景,并学会了如何通过预防和避免的方法解决这些问题。

总之,本次实验是一次极为成功的尝试,也是学生们加深对操作系统理论知识的关键步骤。

通过深入探究实验中的内容,可以帮助学生更好地理解和掌握操作系统相关知识,并为今后在实际工作中提供指导和支持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

示为:
W
1 n
n i1
Ti TSi
10
第三章 处理机调度与死锁
(2) 响应时间快。 (3) 截止时间的保证。 (4) 优先权准则。
11
第三章 处理机调度与死锁
2. (1) 系统吞吐量高。 (2) 处理机利用率好。 (3) 各类资源的平衡利用。
12
第三章 处理机调度与死锁
3.2 调 度 算 法
9
图 3-3 具有三级调度时的调度队列模型
第三章 处理机调度与死锁
3.1.3 选择调度方式和调度算法的若干准则
1. 面向用户的准则
(1) 周转时间短。
可把平均周转时间描述为:
T
1 n
i i1
Ti
作业的周转时间T与系统为它提供服务的时间TS之比,即
W=T/TS,称为带权周转时间,而平均带权周转时间则可表
1. 高级调度(High Scheduling) 在每次执行作业调度时,都须做出以下两个决定。 1) 接纳多少个作业 2) 接纳哪些作业
2
第三章 处理机调度与死锁
2. 低级调度(Low Level Scheduling)
1) 非抢占方式(Non-preemptive Mode)
在采用非抢占调度方式时,可能引起进程调度的因素可 归结为这样几个:① 正在执行的进程执行完毕, 或因发生 某事件而不能再继续执行; ② 执行中的进程因提出I/O请求 而暂停执行;③ 在进程通信或同步过程中执行了某种原语 操作,如P操作(wait操作)、Block原语、Wakeup原语等。这 种调度方式的优点是实现简单、系统开销小,适用于大多数 的批处理系统环境。但它难以满足紧急任务的要求——立即 执行,因而可能造成难以预料的后果。显然,在要求比较严 格的实时系统中,不宜采用这种调度方式。
后 备队 列
时间 片完 就绪 队 列
进程 调度
进程 完成 CP U
事件1出现
等待 事件1
事件2出现
等待 事件2
… … … …
事件n出现
等待 事件n
图 3-2 具有高、低两级调度的调度队列模型 7
第三章 处理机调度与死锁
图 3-2 示出了具有高、低两级调度的调度队列模型。 该模型与上一模型的主要区别在于如下两个方面。
30
第三章 处理机调度与死锁
2. 系统处理能力强
在实时系统中,通常都有着多个实时任务。若处理机的 处理能力不够强,则有可能因处理机忙不过来而使某些实时 任务不能得到及时处理, 从而导致发生难以预料的后果。 假定系统中有m个周期性的硬实时任务,它们的处理时间可 表示为Ci,周期时间表示为Pi,则在单处理机情况下,必须 满足下面的限制条件:
27
第三章 处理机调度与死锁
(3) 仅当第一队列空闲时,调度程序才调度第二队列 中的进程运行; 仅当第1~(i-1) 队列均空时,才会调度第i 队列中的进程运行。如果处理机正在第i队列中为某进程 服务时,又有新进程进入优先权较高的队列(第1~(i-1)中 的任何一个队列),则此时新进程将抢占正在运行进程的 处理机,即由调度程序把正在运行的进程放回到第i队列 的末尾,把处理机分配给新到的高优先权进程。
满足紧迫作业的要求,故而常用于要求比较严格的实时系统
中, 以及对性能要求较高的批处理和分时系统中。
18
第三章 处理机调度与死锁
2. 优先权的类型
1) 静态优先权是在创建进程时确定的,且在进程的整个 运行期间保持不变。一般地,优先权是利用某一范围内的 一个整数来表示的,例如,0~7或0~255中的某一整数, 又把该整数称为优先数。只是具体用法各异:有的系统用 “0”表示最高优先权,当数值愈大时,其优先权愈低;而 有的系统恰恰相反。
3.2.1 先来先服务和短作业(进程)优先调处理机调度与死锁
图 3-4 FCFS和SJF调度算法的性能
14
第三章 处理机调度与死锁
2. 短作业(进程)优先调度算法
短作业(进程)优先调度算法SJ(P)F,是指对短作业或 短进程优先调度的算法。它们可以分别用于作业调度和 进程调度。短作业优先(SJF)的调度算法,是从后备队列 中选择一个或若干个估计运行时间最短的作业,将它们 调入内存运行。而短进程优先(SPF)调度算法,则是从就 绪队列中选出一估计运行时间最短的进程,将处理机分 配给它,使它立即执行并一直执行到完成,或发生某事 件而被阻塞放弃处理机时,再重新调度。
5
第三章 处理机调度与死锁
3.1.2 调度队列模型
1. 仅有进程调度的调度队列模型
交互 用户
事 件 出 现
时间 片完 就绪 队列 阻塞 队 列
进程 调度
进程 完成 CP U
等待 事件
图 3 - 1 仅具有进程调度的调度队列模型
6
第三章 处理机调度与死锁
2. 具有高级和低级调度的调度队列模型
作业 调度
21
第三章 处理机调度与死锁
3. 高响应比优先调度算法
优先权的变化规律可描述为:
优先权
等待时间 要求服务时间 要求服务时间
由于等待时间与服务时间之和,就是系统对该作业的响应 时间,故该优先权又相当于响应比RP。据此,又可表示为:
优先权
等待时间 要求服务时间 要求服务时间
响应时间 要求服务时间
22
第三章 处理机调度与死锁
第三章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
1
第三章 处理机调度与死锁
3.1 处理机调度的基本概念
3.1.1 高级、中级和低级调度
3
第三章 处理机调度与死锁
2) 抢占方式(Preemptive Mode)
(1) 优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则。
4
第三章 处理机调度与死锁
3. 中级调度(Intermediate-Level Scheduling)
中级调度又称中程调度(Medium-Term Scheduling)。 引 入中级调度的主要目的,是为了提高内存利用率和系统吞 吐量。 为此,应使那些暂时不能运行的进程不再占用宝贵 的内存资源,而将它们调至外存上去等待,把此时的进程 状态称为就绪驻外存状态或挂起状态。当这些进程重又具 备运行条件、且内存又稍有空闲时,由中级调度来决定把 外存上的哪些又具备运行条件的就绪进程,重新调入内存, 并修改其状态为就绪状态,挂在就绪队列上等待进程调度。
1. 优先权调度算法的类型
1) 非抢占式优先权算法
在这种方式下,系统一旦把处理机分配给就绪队列中 优先权最高的进程后,该进程便一直执行下去,直至完成; 或因发生某事件使该进程放弃处理机时,系统方可再将处 理机重新分配给另一优先权最高的进程。这种调度算法主 要用于批处理系统中;也可用于某些对实时性要求不严的 实时系统中。
第三章 处理机调度与死锁
(1) 如果作业的等待时间相同,则要求服务的时间愈 短,其优先权愈高,因而该算法有利于短作业。
(2) 当要求服务的时间相同时,作业的优先权决定于 其等待时间,等待时间愈长,其优先权愈高,因而它实 现的是先来先服务。
(3) 对于长作业,作业的优先级可以随等待时间的增 加而提高,当其等待时间足够长时,其优先级便可升到 很高, 从而也可获得处理机。
(1) 就绪队列的形式。 (2) 设置多个阻塞队列。
8
第三章 处理机调度与死锁
3. 同时具有三级调度的调度队列模型
作业 调度
时间 片完
后备 队列 批量 作业
交互 型作业
就绪 队列
进程 调度 CP U
中级 调度 就绪 ,挂起 队列
事件 出现
进程 完成
阻塞 ,挂起 队列

件 出
挂起
现 阻塞 队列
等待 事件
23
第三章 处理机调度与死锁
3.2.3 基于时间片的轮转调度算法
1.
在早期的时间片轮转法中,系统将所有的就绪进程按先 来先服务的原则,排成一个队列,每次调度时,把CPU分配 给队首进程,并令其执行一个时间片。时间片的大小从几 ms到几百ms。当执行的时间片用完时,由一个计时器发出 时钟中断请求,调度程序便据此信号来停止该进程的执行, 并将它送往就绪队列的末尾;然后,再把处理机分配给就绪 队列中新的队首进程,同时也让它执行一个时间片。这样就 可以保证就绪队列中的所有进程,在一给定的时间内,均能 获得一时间片的处理机执行时间。
17
第三章 处理机调度与死锁
2)
在这种方式下,系统同样是把处理机分配给优先权最高
的进程,使之执行。但在其执行期间,只要又出现了另一个
其优先权更高的进程,进程调度程序就立即停止当前进程(原
优先权最高的进程)的执行,重新将处理机分配给新到的优先
权最高的进程。因此,在采用这种调度算法时,是每当系统
中出现一个新的就绪进程i时,就将其优先权Pi与正在执行的 进程j的优先权Pj进行比较。如果Pi≤Pj,原进程Pj便继续执行; 但如果是Pi>Pj, 则立即停止Pj的执行,做进程切换,使i进程 投入执行。显然,这种抢占式的优先权调度算法,能更好地
28
第三章 处理机调度与死锁
3. 多级反馈队列调度算法的性能 (1) 终端型作业用户。 (2) 短批处理作业用户。 (3) 长批处理作业用户。
29
第三章 处理机调度与死锁
3.3 实 时 调 度
3.3.1 实现实时调度的基本条件
1. 提供必要的信息 (1) 就绪时间。 (2) 开始截止时间和完成截止时间。 (3) 处理时间。 (4) 资源要求。 (5) 优先级。
(2) 该算法完全未考虑作业的紧迫程度,因而不能保证 紧迫性作业(进程)会被及时处理。
相关文档
最新文档