87计算机操作系统(大学课程)第三章PPT课件
合集下载
计算机操作系统课件(第四版)第三章
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 星期三
第三章 处理机调度与死锁
第一节 处理机调度的层次 第二节 调度队列模型和调度准则 第三节 调度算法 第四节 实时调度 第五节 产生死锁的原因和必要条件 第六节 预防死锁的方法 第七节 死锁的检测和解除
操作系统第三章PPT课件
一、处理机调度的层次 二、调度队列模型 三、选择调度方式和算法的准则
2021
第三章 处理机调度和死锁4
一、处理机调度的层次
创建
高级调度
就绪态
运行态
退出
等待态
低级调度
挂起等待态 挂起就绪态
中级调度
2021
第三章 处理机调度和死锁5
一个作业从提交开始,往往要经历三级调度:
高级调度、低级调度、中级调度
P1 P2 P3 P4
❖ Gantt图
到达时间 0.0 2.0 4.0 5.0
服务时间 7 4 1 4
优先权 3 2 4 1
P1 P2
P4
P2 P1
P3
02
5
9 10
15 16
平均周转时间=((15-0)+(10-2)+(16-4)+(9-5))/4=9.75
2021
第三章 处理机调度和死锁30
3、优先权:通常用某范围内的整数表示,称为优先数。有些系 统中,优先数越大优先权越高,有些则反之。如: 优先权的类型:静态优先权和动态优先权
计算机操作系统
Computer Operating System
主讲:姜 华
聊城大学计算机学院
2021
1
第三章 处理机调度与死锁
Processor Scheduling and Deadlock
调度是操作系统的基本功能,几乎所有的计算机 资源在使用之前都要经过调度。处理机是最重要的计 算机资源,提高处理机的利用率及改善系统性能,在 很大程度上取决于处理机调度性能的好坏,因而,处 理机调度成为操作系统设计的中心问题之一。
❖ FCFS
P1 0 2 45
2021
第三章 处理机调度和死锁4
一、处理机调度的层次
创建
高级调度
就绪态
运行态
退出
等待态
低级调度
挂起等待态 挂起就绪态
中级调度
2021
第三章 处理机调度和死锁5
一个作业从提交开始,往往要经历三级调度:
高级调度、低级调度、中级调度
P1 P2 P3 P4
❖ Gantt图
到达时间 0.0 2.0 4.0 5.0
服务时间 7 4 1 4
优先权 3 2 4 1
P1 P2
P4
P2 P1
P3
02
5
9 10
15 16
平均周转时间=((15-0)+(10-2)+(16-4)+(9-5))/4=9.75
2021
第三章 处理机调度和死锁30
3、优先权:通常用某范围内的整数表示,称为优先数。有些系 统中,优先数越大优先权越高,有些则反之。如: 优先权的类型:静态优先权和动态优先权
计算机操作系统
Computer Operating System
主讲:姜 华
聊城大学计算机学院
2021
1
第三章 处理机调度与死锁
Processor Scheduling and Deadlock
调度是操作系统的基本功能,几乎所有的计算机 资源在使用之前都要经过调度。处理机是最重要的计 算机资源,提高处理机的利用率及改善系统性能,在 很大程度上取决于处理机调度性能的好坏,因而,处 理机调度成为操作系统设计的中心问题之一。
❖ FCFS
P1 0 2 45
操作系统课件-OS-第三章-第3章-3.3+3.4
不能满足紧迫性作业要求
“短”值得怀疑
2021/3/18
13
3.3.2 高优先权优先调度算法
1.优先权调度算法的类型
为了照顾紧迫型作业,使之在进入系统后便获得优先处 理,引入了最高优先权优先(FPF)调度算法。此算法常被用于 批处理系统中,作为作业调度算法,也作为多种操作系统中 的进程调度算法,还可用于实时系统中。当把该算法用于作 业调度时,系统将从后备队列中选择若干个优先权最高的作 业装入内存。
2021/3/18
15
2) 抢占式优先权调度算法
在这种方式下,系统同样是把处理机分配给优先权最高 的进程,使之执行。但在其执行期间,只要又出现了另一个 其优先权更高的进程,进程调度程序就立即停止当前进程(原 优先权最高的进程)的执行,重新将处理机分配给新到的优先 权最高的进程。
显然,这种抢占式的优先权调度算法能更好地满足紧迫 作业的要求,故而常用于要求比较严格的实时系统中,以及 对性能要求较高的批处理和分时系统中。
短作业插队!
2021/3/18
12
SJ(P)F调度算法也存在不容忽视的缺点:
(2) 该算法完全未考虑作业的紧迫程度,因而不能保证 紧迫性作业(进程)会被及时处理。
(3) 由于作业(进程)的长短只是根据用户所提供的估计 执行时间而定的,而用户又可能会有意或无意地缩短其作业 的估计运行时间,致使该算法不一定能真正做到短作业优先 调度。
2021/3/18
14
1) 非抢占式优先权算法
在这种方式下,系统一旦把处理机分配给就绪队列中优 先权最高的进程后,该进程便一直执行下去,直至完成;或 因发生某事件使该进程放弃处理机时,系统方可再将处理机 重新分配给另一优先权最高的进程。
操作系统课件-OS-第三章-第3章-3.+3.2
(2) 作业步(Job Step)。通常,在作业运行期间,每个 作业都必须经过若干个相对独立,又相互关联的顺序加工步 骤才能得到结果,我们把其中的每一个加工步骤称为一个作 业步,各作业步之间存在着相互联系,往往是把上一个作业 步的输出作为下一个作业步的输入。
例如,一个典型的作业可分成三个作业步:
另一种较常用的是基于作业优先级的调度算法,该算法是将外存上 优先级最高的作业优先调入内存;
比较好的一种算法是“响应比高者优先”的调度算法。
2021/3/18
12
在批处理系统中,作业进入系统后,总是先驻留在外存的 后备队列上,因此需要有作业调度的过程,以便将它们分批 地装入内存。
然而在分时系统中,为了做到及时响应,用户通过键盘输 入的命令或数据等都是被直接送入内存的,因而无需再配置 上述的作业调度机制,但也需要有某些限制性措施来限制进 入系统的用户数。即,如果系统尚未饱和,将接纳所有授权 用户,否则,将拒绝接纳。
2021/3/18
7
每当作业进入系统时,系统便为每个作业建立一个JCB,根 据作业类型将它插入相应的后备队列中。
作业调度程序依据一定的调度算法来调度它们,被调度到的 作业将会装入内存。
在作业运行期间,系统就按照JCB中的信息对作业进行控制 。
当一个作业执行结束进入完成状态时,系统负责回收分配给 它的资源,撤消它的作业控制块。
① “编译”作业步,通过执行编译程序对源程序进行编译,产生若 干个目标程序段;
② “连结装配”作业步,将“编译”作业步所产生的若干个目标程 序段装配成可执行的目标程序;
③ “运行”作业步,将可执行的目标程序读入内存并控制其运行。
2021/3/18
5
(3) 作业流。若干个作业进入系统后,被依次存放在外 存上,这便形成了输入的作业流;在操作系统的控制下,逐 个作业进行处理,于是便形成了处理作业流。
《计算机操作系统》ppt课件完整版
线程的实现方式
1 2
用户级线程 在用户空间中实现的线程,内核对其无感知,线 程管理和调度由用户程序自己完成。
内核级线程 在内核空间中实现的线程,内核负责线程的创建、 撤销和调度等操作,线程管理开销较大。
3
混合实现方式 结合用户级线程和内核级线程的特点,将部分线 程管理功能交给用户程序完成,以提高效率。
进程的状态与转换
进程的基本状态包括就绪、执行和阻塞三种。
进程状态转换的典型情况包括:运行到就绪、就绪到运行、运行到阻塞、阻塞到就 绪等。
进程状态转换由操作系统内核中的进程调度程序完成。
进程控制与管理
进程控制包括进程的创建、撤销、阻塞和唤醒等操作。
进程管理包括进程同步、进程通信、进程调度和进程死锁 等问题。
优点
提高了系统的并发性和响应速度,充分利用了多核处理器 的优势。
缺点
线程间的同步和通信可能增加编程的复杂度和出错概率。
对象管理技术
对象管理概念
对象管理是指操作系统 采用面向对象的思想来 管理系统的资源,如文 件、设备、进程等。
优点
提高了系统的模块化程 度,便于扩展和维护; 增强了系统的安全性, 通过封装和访问控制保 护对象。
THANKS
感谢观看
嵌入式操作系统
嵌入式操作系统概念
嵌入式操作系统是用于嵌入式系统的专用操作系统, 负责管理和控制嵌入式设备的硬件和软件资源。
优点
嵌入式操作系统具有实时性、可靠性和可定制性等特 点,适用于各种嵌入式应用场景。
缺点
嵌入式操作系统的资源受限,如处理器速度、内存大 小和存储容量等,需要针对特定应用进行优化。
享内存等。
调度与分配
按照一定策略对进程进 行调度,分配处理机资
计算机系统结构第三章PPT课件
第5级 0 0 0 1 1
06.11.2020
第三章 总线中断与输入输出系统
16
一、中断系统
2)机器有五级中断,中断级屏蔽位“1”表示开放,“0”表 示屏蔽;中断响应次序为1-2-3-4-5,各级中断处理程序的中 断级屏蔽位设置如下表所示。
①中断处理次序为什么?
②若在运行用户程序时,同时发生4、5级中断请求,而在5级
17
一、中断系统
3)机器有五级中断,中断响应次序为1-2-3-4-5,现要求 中断处理次序为3-5-2-4-1 。 ①设计各级中断处理程序的中断级屏蔽位,令“1”表示开 放,“0”表示屏蔽; ②若在运行用户程序时,同时发生4、5级中断请求,而在 5级中断服务尚未完成时,又发生1、2、3级中断,请画出 处理机执行程序的全过程示意图。
中中断级屏蔽位的状态,并正确画出发生多种中断级请求时, CPU执行程序时的状态转移过程示意图。
06.11.2020
第三章 总线中断与输入输出系统
3
本章的基本要求
关于通道处理机的基本要求
✓了解采用通道处理机的目的。 ✓掌握字节多路、数组多路和选择三类通道的工作原理; ✓了解三种通道各自的适用场合。 ✓熟练掌握通道处理机和I/O系统的流量设计与分析。 ✓掌握字节多路通道流量的计算和通道工作周期的设计,能
中断服务尚未完成时,又发生1、2、3级中断,请画出处理机
执行程序的全过程示意图。
中断处理
中断级屏蔽位
程序级别 1级 2级 3级 4级 5级
第1级 0 0 0 0 0
第2级 1 0 1 1 1
第3级 1 0 0 0 0
第4级 1 0 1 0 1
06.11.2020
第5级 1 0 1 0 0
操作系统第3章1PPT课件
➢ 运行状态(Running)
进程占有CPU,并在CPU上运行。
➢ 阻塞状态(Wait / Blocked )
指进程因等待某种事件的发生而暂时不能运行的状 态。(即使CPU空闲,该进程也不可运行)
06.11.2020
14
进程状态转换(1)
在进程运行过程中,由于进程自身进展情况及 外界环境的变化,这三种基本状态可以依据一定 的条件相互转换。
程序经过多次执行后,虽然它们执行时的环境和 初始条件相同,但得到的结果却各不相同。
➢程序与计算不再一一对应
在程序顺序执行时,一个程序总是对应一个具体的 计算,但在程序的并发执行时,可能有多用户共享使用 同一个程序,但处理(计算)的对象却是不同的,
例如,在多用户环境下,可能同时有多个用户调用C 语言的编译程序,这就是典型的一个程序对应多个用户 源程序的情况。
就绪 --> 运行
▪ 调度程序选择一个新的进程运行 运行 --> 就绪
▪ 运行进程用完了时间片 ▪ 运行进程被中断,因为一高优先级进程处于就
绪状态
➢ 进程的存在是暂时的,而程序的存在是相对长久的。程序 可以作为一种软件资料长期存在,而进程是有一定生命期 的。程序是永久的,进程是暂时的。
➢ 进程=程序+数据+PCB。
➢ 同一程序可以对应多个进程,一个进程只对应一个程序。 同一程序同时运行于若干个数据集合上,它将属于若干个 不同的进程。
➢ 进程具有创建其他进程的功能,而程序没有。
这些程序在系统中执行时是对时间的偏序,有些操 作必须在其它操作之前执行,这是有序的,但有些操作 是可以同时执行的。例如: I1、C1、P1的执行必须严格 按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是 可以同时执行的。
进程占有CPU,并在CPU上运行。
➢ 阻塞状态(Wait / Blocked )
指进程因等待某种事件的发生而暂时不能运行的状 态。(即使CPU空闲,该进程也不可运行)
06.11.2020
14
进程状态转换(1)
在进程运行过程中,由于进程自身进展情况及 外界环境的变化,这三种基本状态可以依据一定 的条件相互转换。
程序经过多次执行后,虽然它们执行时的环境和 初始条件相同,但得到的结果却各不相同。
➢程序与计算不再一一对应
在程序顺序执行时,一个程序总是对应一个具体的 计算,但在程序的并发执行时,可能有多用户共享使用 同一个程序,但处理(计算)的对象却是不同的,
例如,在多用户环境下,可能同时有多个用户调用C 语言的编译程序,这就是典型的一个程序对应多个用户 源程序的情况。
就绪 --> 运行
▪ 调度程序选择一个新的进程运行 运行 --> 就绪
▪ 运行进程用完了时间片 ▪ 运行进程被中断,因为一高优先级进程处于就
绪状态
➢ 进程的存在是暂时的,而程序的存在是相对长久的。程序 可以作为一种软件资料长期存在,而进程是有一定生命期 的。程序是永久的,进程是暂时的。
➢ 进程=程序+数据+PCB。
➢ 同一程序可以对应多个进程,一个进程只对应一个程序。 同一程序同时运行于若干个数据集合上,它将属于若干个 不同的进程。
➢ 进程具有创建其他进程的功能,而程序没有。
这些程序在系统中执行时是对时间的偏序,有些操 作必须在其它操作之前执行,这是有序的,但有些操作 是可以同时执行的。例如: I1、C1、P1的执行必须严格 按照I1,C1,P1的顺序,而P1与I2,C1与I2,I3与P1是 可以同时执行的。
操作系统第三章ppt课件
• 就绪 --> 运行
–调度程序选择一个新的进程运行
• 运行 --> 就绪
–运行进程用完了时间片 –运行进程被中断,因为一高优先级进程处于就绪
是系统分配资源和调度的独立单位; • 异步性:由于进程间的相互制约,使进程具有执行的
间断性,即进程按各自独立的、不可预知的速度向前 推进 • 结构特征:为了控制和管理进程,系统为每个进程设 立一个进程控制块- PCB。
17
2)进程状态转换条件
在进程运行过程中,由于自身进展情况及外界 环境的变化,这三种基本状态可以依据一定的条件 相互转换:
分时操作系统:是一种联机的多用户交互式的操作系统。一般采用 时间片轮转的方式使一台计算机为多个终端服务。 对每个用户能保证足够快的响应时间,并提供交互 会话能力。
设计目标:适应用户人机交互需要而出现的,实现对用户的请求及时响应 ,并在可能条件下尽量提高系统资源的利用率。
如何实现:主要采用时钟和中断技术。系统配置多路卡及时接受各终端输 入命令和数据。
适合大型科学计算、数据处理。
6
3.多道批处理系统的资源利用
7
3.多道批处理系统的资源利用
8
1.2.4 分时系统
时间片 :是把计算机的系统资源(尤其是 CPU时间)进行时间上 的分割,每个时间段称为一个时间片,每个用户依次轮 流使用时间片。
分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流 把处理机分给各联机作业使用。
15
内核的执行特点
由中断驱动的: 中断→内核→退出 内核执行是连续的 内核执行进程的特征
• 动态性:进程的实质是程序的一次执行过程,
– 进程是动态产生,动态消亡的,进程在其生命周期内,在三 种基本状态之间转换
–调度程序选择一个新的进程运行
• 运行 --> 就绪
–运行进程用完了时间片 –运行进程被中断,因为一高优先级进程处于就绪
是系统分配资源和调度的独立单位; • 异步性:由于进程间的相互制约,使进程具有执行的
间断性,即进程按各自独立的、不可预知的速度向前 推进 • 结构特征:为了控制和管理进程,系统为每个进程设 立一个进程控制块- PCB。
17
2)进程状态转换条件
在进程运行过程中,由于自身进展情况及外界 环境的变化,这三种基本状态可以依据一定的条件 相互转换:
分时操作系统:是一种联机的多用户交互式的操作系统。一般采用 时间片轮转的方式使一台计算机为多个终端服务。 对每个用户能保证足够快的响应时间,并提供交互 会话能力。
设计目标:适应用户人机交互需要而出现的,实现对用户的请求及时响应 ,并在可能条件下尽量提高系统资源的利用率。
如何实现:主要采用时钟和中断技术。系统配置多路卡及时接受各终端输 入命令和数据。
适合大型科学计算、数据处理。
6
3.多道批处理系统的资源利用
7
3.多道批处理系统的资源利用
8
1.2.4 分时系统
时间片 :是把计算机的系统资源(尤其是 CPU时间)进行时间上 的分割,每个时间段称为一个时间片,每个用户依次轮 流使用时间片。
分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流 把处理机分给各联机作业使用。
15
内核的执行特点
由中断驱动的: 中断→内核→退出 内核执行是连续的 内核执行进程的特征
• 动态性:进程的实质是程序的一次执行过程,
– 进程是动态产生,动态消亡的,进程在其生命周期内,在三 种基本状态之间转换
计算机操作系统第三章
时间,包含两部分:一是等待时间;二为执行时间,
即
Ti Twi Tri
-带权周转时间 Wi Ti / Tri
平均带权周转时间:
W
1 n
n i1
Wi
2019/7/5
第三章 处理机调度与死锁
26
中级调度
又称中程调度(Medium-Term Scheduling)、交换调 度。
在批处理系统中,把一批作业依次放置在相应的输入设备上, 在操作系统的控制下,依次将它们输入辅助存储器中,这样就形 成了一个作业流,也称输入流。
2019/7/5
第三章 处理机调度与死锁
8
作业说明书
作业说明书包括作业基本情况、作业控制、作业资源要求的描 述;它体现用户的控制意图。如:预计运行时间、要求的资源 情况、执行优先级等。
作业的输入; 作业控制块的建立。
2019/7/5
第三章 处理机调度与死锁
10
JCB 的建立
在系统把作业信息输入到外存输入井之后, 还需要根据作业说明书中的说明及其它信息 建立作业控制块(JCB)。只有在获得JCB表 项和足够的输入井空间之后,一个作业才可 能创建成功。
JCB是作业存在的唯一标志。作业进入系 统时,则为之建立JCB,当作业退出系统时, 则其JCB也被撤消。
2019/7/5
第三章 处理机调度与死锁
19
作业调度功能
1: 记录系统中各作业的状况 2:按某种算法从后备队列中挑选一个或一批 作业调入内存,让它们投入执行。 3:为被选中作业做好执行前的准备工作。 4:在作业执行结束时做善后处理工作
2019/7/5
第三章 处理机调度与死锁
第三单元操作系统课件
设备的分配与回收
设备的分配
当用户程序需要使用设备时,操作系 统需要为其分配相应的设备资源。分 配的依据包括设备的类型、数量、使 用时间等。
设备的回收
当用户程序不再需要使用设备时,操 作系统需要将设备回收,以便其他程 序可以使用。回收时需要考虑设备的 状态、使用时间和优先级等因素。
THANKS
感谢观看
调的重要手段,有助于提高系统的可靠性和效率。
进程的优先级与调度
要点一
总结词
优先级决定了进程的执行顺序,调度程序负责按照优先级 进行进程切换。
要点二
详细描述
每个进程都有一个优先级,用于确定其在可执行状态时的 执行顺序。高优先级的进程会优先于低优先级的进程执行 。调度程序负责按照优先级进行进程切换,选择当前可执 行状态中最高优先级的进程执行。调度算法有多种,如先 来先服务、最短作业优先、最短剩余时间优先等。合理的 优先级设置和调度算法选择可以提高系统的性能和响应速 度。
进程的同步与通信
总结词
进程同步是协调并发进程的行为,防止发生与时间有关的错误;进程通信是实现并发进 程间的信息交换。
详细描述
进程同步是操作系统的一种机制,用于协调并发进程的行为,确保它们能够按照一定的 顺序和规则执行,避免发生与时间有关的错误。进程通信是实现并发进程间信息交换的 一种手段,通过消息传递、共享内存等方式实现。进程同步和通信是实现并发控制和协
进程的创建与终止
总结词
进程可以通过系统调用、作业调度等方式创建,也可 以因为完成、异常、资源不足等原因终止。
详细描述
进程的创建可以通过系统调用或作业调度实现。系统调 用提供了一组接口,允许用户程序请求操作系统为其创 建一个新进程。作业调度则根据一定的策略选择一个或 多个作业,为其分配必要的资源并创建进程。进程的终 止原因有多种,如正常结束、异常结束、资源不足等。 当进程完成其任务或异常结束时,操作系统会回收其占 用的资源并销毁该进程。当系统资源不足时,操作系统 可能会选择终止某些进程以释放资源。
计算机操作系统课件第3章
第三章 处理机调度与死锁
图 3-4 FCFS和SJF调度算法的性能
第三章 处理机调度与死锁
通过对上表的分析可以看出, 通过对上表的分析可以看出,不论是平均 周转时间还是平均带权周转时间, 周转时间还是平均带权周转时间,都有 较大的改善,尤其是对短作业D,其周转 较大的改善,尤其是对短作业 , 时间从原来的11降为 降为3; 时间从原来的 降为 ; 而平均带权周转时间从5.5降为 , 而平均带权周转时间从 降为1.5,这说明 降为 SJF算法能有效的降低作业的平均等待时 算法能有效的降低作业的平均等待时 提高系统的吞吐量。 间,提高系统的吞吐量。
第三章 处理机调度与死锁
短进程优先(SPF)调度算法,则是从就绪队列中 调度算法, 短进程优先 调度算法 选出一估计运行时间最短的进程, 选出一估计运行时间最短的进程, 将处理机分配给它, 将处理机分配给它,使它立即执行并一直执 行到完成, 行到完成,或发生某事件而被阻塞放弃处理 机时,再重新调度。 机时,再重新调度。 FCFS算法和 算法和SJ(P)F算法的比较: 算法的比较: 算法和 算法的比较
该种调度队列模型的特征: 该种调度队列模型的特征: 就绪状态:内存就绪; 就绪状态 内存就绪;外存就绪 内存就绪 阻塞状态:内存阻塞;外存阻塞 阻塞状态:内存阻塞;
第三章 处理机调度与死锁
3.1.3 选择调度方式和调度算法的若干准则
1. 面向用户的准则 (1) 周转时间短(批处理系统) 周转时间短(批处理系统) 1)周转时间的含义: )周转时间的含义: 2)可把平均周转时间描述为: )可把平均周转时间描述为:
第三章 处理机调度与死锁
3. 同时具有三级调度的调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列
计算机操作系统第三章.ppt
特点:
1. 卡片输入机与打印 机并行工作,系统 效率高。
2. 由于卡片输入机与 打印机的速度不一 致,誊抄工作不能 正确的完成。
2019/12/24
第三章 进程管理
第18页
这两个程序段并发执行时可能出现如下情况:
1、输出程序运行的速度比输入程序快时,有些输出会重复;
如输入送入了一个字符“A”,输出取出打印“A”,当输入还未送入 新的数据,输出程序已执行,又取出“A”打印,这样“A”的输出就 重复了,出错。
第三章 进程管理
第21页
四. 与时间有关的错误
1. 什么是与时间有关的错误 执行结果与并发程序执行的相对速度相关。
2. 为什么会发生与时间有关的错误 当两个或多个程序有共同的临界资源时,由于程
序执行的速度不同,则会发生与时间有关的错误。
2019/12/24
第三章 进程管理
第22页
五. 并发程序的特征
2019/12/24
第三章 进程管理
第16页
2. 誊抄方案2——两个并发程序
输入程序
输出程序
ห้องสมุดไป่ตู้卡片输入机
缓冲区
行式打印机
2019/12/24
第三章 进程管理
第17页
输入: f 输出:g {
cobegin while(f不为空) {
input; send; } while(誊抄未完成) { receive; output; } coend }
1. 失去程序的封闭性和可再现性
如果程序执行的结果是一个与时间无关的函数,即具有封 闭性。
若一个程序的执行可改变另一个程序的变量,象二个并发 程序完成誊抄的例子,程序执行的结果不仅依赖于程序的初始 条件,还依赖于程序执行时的相对速度,在这种情况下就失去 了程序的封闭性。
操作系统第三章课件
Bernstein并发执行的条件:
如果对于语句S1和S2,有 ① R(S1)∩ W(S2)={∮}, ② W(S1)∩ R(S2)={∮}, ③ W(S1)∩ W(S2)={∮} 同时成立, 则语句S1和S2是可以并发执行的。
程序的并发执行所带来的影响
如果并发执行的程序段不按照特定的规则和方 法进行资源共享和竞争,则其执行结果将不可 避免地失去封闭性和可再现性。 例如: 图3.1 堆栈的取数和存数过程
进程和程序的区别:
进程是动态的,程序是静态的:程序是有序代码 的集合;进程是程序的执行。通常进程不可在计 算机之间迁移;而程序通常对应着文件、静态和 可以复制。 进程是暂时的,程序的永久的:进程是一个状态 变化的过程,程序可长久保存。 进程与程序的组成不同:进程的组成包括程序、 数据和进程控制块(即进程状态信息)。 进程与程序的对应关系:通过多次执行,一个程 序可对应多个进程;通过调用关系,一个进程可 包括多个程序。
例:设有堆栈S,栈指针top,栈中存放内存中相 应数据块地址(如图3.1(a))设有两个程序段 getaddr(top)和reladdr(blk): procedure getaddr(top) begin local r r ←(top) top ← top-1 return(r) end
procedure reladdr(blk) begin top ← top+1 (top)← blk end getaddr 和 reladdr程序段进行顺序执行,其执 行结果具有封闭性和可再现性 两个程序段采用并发执行 1. reladdr:执行完:top ← top+1 2. getaddr(top):执行后;出现读空出错;
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等待事件1 等待事件2
三、具有三级调度
作业调度
时间片完
后备队列 交互型作业
就绪队列
中级调度 就绪、挂起队列
事件出现 阻塞、挂起队列
阻塞队列
进程调度 CPU
进程 完成
事件出现 挂起
等待事件
3.1.3选择调度方式和算法的若干准则
❖ 一、面向用户的准则 ٭1.周转时间短(常用于批处理系统) ▪ 概念:作业从提交――> 完成的时间.分为: ▪ (1)驻外等待调度时间 ▪ (2)驻内等待调度时间 ▪ (3)执行时间 ▪ (4)阻塞时间
❖ 2.优先权类型: ٭1.静态优先权: ▪ 进程优先权在整个运行期不变。 ▪ 确定优先权依据 – (1)进程类型 – (2)进程对资源的需求; – (3)根据用户需求。 ▪ 特点:简单,但低优先权作业可能长期不被 调度。
3.2.2高优先权优先调度算法(2)
❖ 2.动态优先权: ٭如:优先权随执行时间而下降,随等待时间而升高。 ٭响应比Rp=(等待时间+服务时间)/服务时间 作为优 先权 ٭优点:长短兼顾 缺点:需计算Rp
❖ 2、低级调度(进程调度,短程调度) ❖ 主要是由分派程序(Dispatcher)分派处理机。
٭1.非抢占方式: 简单,实时性差 (如win31)
٭2.抢占方式 (1)时间片原则 (2)优先权原则 (3)短作业优先原则。
❖3、中级调度(中程) ❖为提高系统吞吐量和内存利用率而引入的一内------外存对 换功能(换出时,进程为挂起或就绪驻外状态)
图3-5多级队列反馈调度算法
就绪队列1 就绪队列2 就绪队列3 就绪队列n
S1
至CPU
S2
至CPU
S3
至CPU
Sn
至CPU
时间片:S1<S2<S3
3.3实时调度
❖ 3.3.1实现实时调度的基本条件 ٭1.提供必要的调度信息 ▪ (1)就绪时间; ▪ (2)开始/完成截止时间; ▪ (3)处理时间; ▪ (4)资源要求; ▪ (5)优先级;
3.1.3选择调度方式和算法的若干准则
❖ 一、面向用户的准则
٭平均周转时间
1n
T n [ i1 Ti ]
٭平均带权
1 n
W [
Ti ]
n T i1 s
٭可见带权w越小越好,Ts为实际服务时间。
3.1.3选择调度方式和算法的若干准则
❖ 一、面向用户的准则 ٭2.响应时间快:(对交互性作业) ▪ 概念:键盘提交请求到首次响应时间 ▪ (1)输入传送时间 ▪ (2)处理时间 ▪ (3)响应传送时间 ٭3.截止时间的保证(特别于实时系统) ٭4.优先权准则:(即需要抢占调度)
例
进程名 到达时 服务时 开始执 完成时 周转时 带权周
间
间
行时间 间
间
转时间
A
0
1
0
1
1
1
B
1
100 1
101 100 1
C
2
1
101 102 100 100
D
3
100 102 202 199 1.99
FCFS SJF
图3.4FCFS和SJF比较
进程名 到达时间 服务时间 完成时间 周转时间 带权周转时间 完成时间 周转时间 带权周转时间
第三章 处理机的调度和死锁
整体概况
+ 概况1
您的内容打在这里,或者通过复制您的文本后。
概况2
+ 您的内容打在这里,或者通过复制您的文本后。
概况3
+ 您的内容打在这里,或者通过复制您的文本后。
处理机调度与死锁
3.1 处理机调度的基本概念
❖ 3.1高、中、低三级调度 ❖ 1、高级调度(作业调度、长程调度、接纳调度)
▪ 太大:退化为FCFS; ▪ 太小:系统开销过大
٭系统对响应时间的要求;T=nq ٭就绪队列中进程的数目; ٭系统的处理能力:(应保证一个时间片处理完常用命令)
3.2.3基于时间片的轮转调度算法
❖ 2.多级反馈队列调度 ٭特点:长、短作业兼顾,有较好的响应时间 ▪ (1)短作业一次完成; ▪ (2)中型作业周转时间不长; ▪ (3)大型作业不会长期不处理。
ABCDE 0 1 2 34 4 3 5 24 4 7 12 14 18 4 6 10 11 14 1 2 2 5.5 3.5 4 9 18 6 13 4 8 16 3 9 1 2.67 3.1 1.5 2.25
平均
9 2.8 8 2.1
3.2.2高优先权优先调度算法
❖ 1.优先权调度算法类型 ٭非抢占式优先权算法 ٭抢占式优先权算法,实时性更好。
▪ 将外存作业调入内存,创建PCB等,插入就绪 队列。
▪ 一般用于批处理系统,分/实时系统一般直接 入内存,无此环节。
٭调度特性 ▪ 1.接纳作业数(内存驻留数) 太多―――> 周转时间T长 太少―――> 系统效率低 ▪ 2.接纳策略:即采用何种调度算法:FCFS、短 作业优先等
处理机调度的基本概念(2)
❖运行频率:低>中>高。
3.1.2调度的队列模型
❖ 一、仅有进程调度的队列模型
时间片完
交互用户
就绪队列
事件出现 阻塞队列
进程完成 进程调度 CPU 等待事件
3.1.2调度的队列模型
❖ 二、具有高/低级模型
作业调度
时间片完
后备队列
就绪队列
进程调度
C件2出现
阻塞队列 阻塞队列
❖ 3.高响应比优先算法: ٭特点: ٭响应比Rp=(tw+ts)/ts ( ٭1)短作业 RP大。 ( ٭2)ts(要求服务时间)相同的进程间相当于FCFS。 ( ٭3)长作业等待一段时间仍能得到服务。
3.2.3基于时间片的轮转调度算法
❖ 1.时间片轮转 ٭时间片大小的确定
3.1.3选择调度方式和算法的若干准则
❖ 二、面向系统的准则 ٭1.吞吐量高(特别于批处理):单位时间完成作 业数 ٭2.处理机利用率好:(因CPU贵,特别于大中型 多用户系统) ٭3.各类资源的平衡利用。(?折算标准)
3.2调度算法——是一个资源分配问题
❖ 3.2.1先来先服务和短作业(进程)优先调度算法 ٭1.FCFS ▪ 特点:简单,有利于长作业 即CPU繁忙性作业 ٭2.短作业进程优先调度算法:SJ(P)F ▪ 提高了平均周转时间和平均带权周转时间(从而提 高了系统吞吐量) ▪ 特点:对长作业不利,有可能得不到服务(饥饿) ▪ 估计时间不易确定