第三章 处理机调度与死锁

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
第三章 处理机调度与死锁
3. 分时系统的目标 (1) 响应时间快
响应时间指用户提交请求到系统首次响应为止的时 间。
(2) 均衡性。 系统响应时间的快慢应与用户所请求的复杂性相适
应。
9
第三章 处理机调度与死锁
4. 实时系统的目标 (1) 截止时间的保证。 (2) 可预测性。
10
第三章 处理机调度与死锁
第三章 处理机调度与死锁
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度 3.5 死锁概述 3.6 预防死锁 3.7 避免死锁 3.8 死锁的检测与解除 习题
1
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标
为了提高系统效率,应当让管理输入输出的I/O进程与计算 进程搭配起来,并给予I/O进程较高的优先级。这样,一旦 I/O进程被唤醒就可很快得到运行,启动低速外设,而后再 被阻塞起来让计算进程使用CPU,使主机和外设高度并行 运行。
24
第三章 处理机调度与死锁
2. 高响应比优先调度算法(Highest Response Ratio Next,HRRN)
16
第三章 处理机调度与死锁 17
第三章 处理机调度与死锁
FCFS算法的优缺点 • 比较有利于长作业(进程),而不利于短作业(进
程)。 上图中短作业C的带权周转时间高达100,不能容忍。 而D仅为1.99。 • FCFS算法有利于CPU繁忙型作业(该类型的作业需 要大量CPU时间进行计算,很少I/O。)不利于I/O繁 忙型作业(频繁的请求I/O服务的作业)
5
第三章 处理机调度与死锁
2. 批处理系统的目标 (1) 平均周转时间短。 对每个用户而言,都希望自己作业的周转时间最短。但 作为计算机系统的管理者,则总是希望能使平均周转时间最 短,这不仅会有效地提高系统资源的利用率,而且还可使大 多数用户都感到满意。应使作业周转时间和作业的平均周转 时间尽可能短。否则,会使许多用户的等待时间过长,这将 会引起用户特别是短作业用户的不满。可把平均周转时间描 述为:
21
第三章 处理机调度与死锁
(3) 在采用SJF算法时,人—机无法实现交互。 (4) 该调度算法完全未考虑作业的紧迫程度,故不能保 证紧迫性作业能得到及时处理。
22
第三章 处理机调度与死锁
3.2.4 优先级调度算法和高响应比优先调度算法 1. 优先级调度算法(priority-scheduling algorithm,
在批处理系统中,FCFS算法所考虑的只是作业的等待 时间,而忽视了作业的运行时间。而SJF算法正好与之相反, 只考虑作业的运行时间,而忽视了作业的等待时间。高响应 比优先调度算法则是既考虑了作业的等待时间,又考虑作业 运行时间的调度算法,因此既照顾了短作业,又不致使长作 业的等待时间过长,从而改善了处理机调度的性能。
18
第三章 处理机调度与死锁
2. 短作业优先(short job first,SJF)的调度算法 由于在实际情况中,短作业(进程)占有很大比例,为了 能使它们能比长作业优先执行,而产生了短作业优先调度算 法。 1) 短作业优先算法 SJF算法是以作业的长短来计算优先级,作业越短,其 优先级越高。作业的长短是以作业所要求的运行时间来衡量 的。SJF算法可以分别用于作业调度和进程调度。在把短作 业优先调度算法用于作业调度时,它将从外存的作业后备队 列中选择若干个估计运行时间最短的作业,优先将它们调入 内存运行。
3.2.2 作业调度的主要任务 作业调度的主要任务是,根据JCB中的信息,检查系统
中的资源能否满足作业对资源的需求,以及按照一定的调度 算法,从外存的后备队列中选取某些作业调入内存,并为它 们创建进程、分配必要的资源。然后再将新创建的进程排在 就绪队列上等待调度。因此,也把作业调度称为接纳调度 (Admission Scheduling)。在每次执行作业调度时,都需做出 以下两个决定。
(2) 当要求服务的时间相同时,作业的优先权决定于 其等待时间,等待时间愈长,其优先权愈高,因而它实 现的是先来先服务。
(3) 对于长作业,作业的优先级可以随等待时间的增
加而提高,当其等待时间足够长时,其优先级便可升到
很高, 从而也可获得处理机。
28
第三章 处理机调度与死锁
(选择题)有三个作业A(到达时间8:50,执行时间1.5小 时)、B(到达时间9:00,执行时间0.4小时)、C(到 达时间9:30,执行时间1小时)。当作业全部到达后,
25
第三章 处理机调度与死锁
高响应比优先算法是如何实现的呢? 如果我们能为每个 作业引入一个动态优先级,即优先级是可以改变的,令它随 等待时间延长而增加,这将使长作业的优先级在等待期间不 断地增加,等到足够的时间后,必然有机会获得处理机。该 优先级的变化规律可描述为:
优先权
等待时间 要求服务时间 要求服务时间
30
第三章 处理机调度与死锁
3.3 进 程 调 度
PSA) 我们可以这样来看作业的优先级,对于先来先服务调度
算法,作业的等待时间就是作业的优先级,等待时间越长, 其优先级越高。对于短作业优先调度算法,作业的长短就是 作业的优先级,作业所需运行的时间越短,其优先级越高。 但上述两种优先级都不能反映作业的紧迫程度。
23
第三章 处理机调度与死锁
(问答题)现有两道作业同时执行,一道以计算为主,另一 道以输入输出为主,你将怎样赋予作业进程占有处理器的优 先级?为什么?
在多道程序系统中,调度的实质是一种资源分配,处理 机调度是对处理机资源进行分配。处理机调度算法是指根据 处理机分配策略所规定的处理机分配算法。在多道批处理系 统中,一个作业从提交到获得处理机执行,直至作业运行完 毕,可能需要经历多级处理机调度,下面先来了解处理机调 度的层次。
2
第三章 处理机调度与死锁
(3) 平衡性。由于在系统中可能具有多种类型的进程, 有的属于计算型作业,有的属于I/O型。为使系统中的CPU和 各种外部设备都能经常处于忙碌状态,调度算法应尽可能保 持系统资源使用的平衡性。
(4) 策略强制执行。对所制订的策略其中包括安全策略, 只要需要,就必须予以准确地执行,即使会造成某些工作的 延迟也要执行。
19
第三章 处理机调度与死锁 20
第三章 处理机调度与死锁
2) 短作业优先算法的缺点 SJF调度算法较之FCFS算法有了明显的改进,但仍然存 在不容忽视的缺点: (1) 必须预知作业的运行时间。在采用这种算法时,要 先知道每个作业的运行时间。即使是程序员也很难准确估计 作业的运行时间,如果估计过低,系统就可能按估计的时间 终止作业的运行,但此时作业并未完成,故一般都会偏长估 计。 (2) 对长作业非常不利,长作业的周转时间会明显地增 长。更严重的是,该算法完全忽视作业的等待时间,可能使 作业等待时间过长,出现饥饿现象。
单道批处理系统按照响应比高者优先算法进行调度,
则作业被选中的次序是( )。
A.(ABC) C.(BCA)
B.(BAC) D.(CBA)
29
第三章 处理机调度与死锁
(计算题)有5个待运行作业J1、J2、J3、J4和J5,各自 预计运行时间分别是9、6、3、5和7。假定这些作业同 时到达,并且在一台处理机上按单道方式执行。 讨论采用短作业优先调度算法和高响应比优先算法, 哪种算法使运行平均周转时间最短,平均周转时间为 多少?
1. 接纳多少个作业 2. 接纳哪些作业
15
第三章 处理机调度与死锁
3.2.3 先来先服务(FCFS)和短作业优先(SJF)调度算法 1. 先来先服务(first-come first-served,FCFS)调度
算法 FCFS是最简单的调度算法,该算法既可用于作业调度,
也可用于进程调度。当在作业调度中采用该算法时,系统将 按照作业到达的先后次序来进行调度,或者说它是优先考虑 在系统中等待时间最长的作业,而不管该作业所需执行时间 的长短,从后备作业队列中选择几个最先进入该队列的作业, 将它们调入内存,为它们分配资源和创建进程。然后把它放 入就绪队列。
事件 出现
进程 完成
阻塞 ,挂起 队列

件 出
挂起

阻塞 队列
等待 事件
3
第三章 处理机调度与死锁
3.1.2 处理机调度算法的目标 1. 处理机调度算法的共同目标 (1) 资源利用率。为提高系统的资源利用率,应使系统
中的处理机和其它所有资源都尽可能地保持忙碌状态,其中 最重要的处理机利用率可用以下方法计算:
13
第三章 处理机调度与死锁
3. 作业运行的三个个阶段。相应的作业也就有“后备状态”、“运行 状态”和“完成状态”。 (1) 收容阶段。 --后备状态 (2) 运行阶段。 --运行状态 (3) 完成阶段。 --完成状态
14
第三章 处理机调度与死锁
1 n
T [ Ti] n i1
6
第三章 处理机调度与死锁
为了进一步反映调度的性能,更清晰地描述各进程在其 周转时间中,等待和执行时间的具体分配状况.
带权周转时间:即作业的周转时间T与系统为它提供服务的 时间Ts之比,即W = T/Ts。
而平均带权周转时间则可表示为:
W 1 n Ti n i1 Ts
CPU 的利用率 =
CP U有效工作时间 CPU有效工作时间 CPU空闲等待时间
4
第三章 处理机调度与死锁
(2) 公平性。公平性是指应使诸进程都获得合理的CPU 时间,不会发生进程饥饿现象。公平性是相对的,对相同类 型的进程应获得相同的服务;但对于不同类型的进程,由于 其紧急程度或重要性的不同,则应提供不同的服务。
12
第三章 处理机调度与死锁
2. 作业控制块(Job Control Block,JCB) 为了管理和调度作业,在多道批处理系统中,为每个作 业设置了一个作业控制块JCB,它是作业在系统中存在的标 志,其中保存了系统对作业进行管理和调度所需的全部信息。 通常在JCB中包含的内容有:作业标识、用户名称、用户账 号、作业类型(CPU 繁忙型、I/O 繁忙型、批量型、终端型)、 作业状态、调度信息(优先级、作业运行时间)、资源需求(预 计运行时间、要求内存大小等)、资源使用情况等。
26
第三章 处理机调度与死锁
由于等待时间与服务时间之和就是系统对该作业的响应 时间,故该优先级又相当于响应比RP。据此,优先又可表示 为:
RP
等待时间 要求服务时间 要求服务时间
响应时间 要求服务时间
27
第三章 处理机调度与死锁
优先权
等待时间 要求服务时间 要求服务时间
(1) 如果作业的等待时间相同,则要求服务的时间愈 短,其优先权愈高,因而该算法有利于短作业。
3.1.1 处理机调度的层次
1. 高级调度(High Level Scheduling)
2. 低级调度(Low Level Scheduling)
3. 中级调度(Intermediate Scheduling)
作业 调度
时间 片完
后备 队列 批量 作业
交互 型作业
就绪 队列
进程 调度 CP U
中级 调度 就绪 ,挂起 队列
7
第三章 处理机调度与死锁
(2) 系统吞吐量高。由于吞吐量是指在单位时间内系统 所完成的作业数,因而它与批处理作业的平均长度有关。事 实上,如果单纯是为了获得高的系统吞吐量,就应尽量多地 选择短作业运行。
(3) 处理机利用率高。对于大、中型计算机,CPU价格 十分昂贵,致使处理机的利用率成为衡量系统性能的十分重 要的指标;而调度方式和算法又对处理机的利用率起着十分 重要的作用。如果单纯是为使处理机利用率高,应尽量多地 选择计算量大的作业运行。由上所述可以看出,这些要求之 间是存在着一定矛盾的。
3.2 作业与作业调度
在多道批处理系统中,作业是用户提交给系统的一项相 对独立的工作。操作员把用户提交的作业通过相应的输入设 备输入到磁盘存储器,并保存在一个后备作业队列中。再由 作业调度程序将其从外存调入内存。
11
第三章 处理机调度与死锁
3.2.1 批处理系统中的作业 1. 作业和作业步 (1) 作业(Job)。 用户提交给计算机系统的任务。 由程序、数据、作业说明书组成。 (2) 作业步(Job Step)。 作业执行期间所经历在加工步骤。
相关文档
最新文档