计算机操作系统慕课版第3章处理机调度与死锁NotYourferry

在多道程序系统中,一个作业从提交到执行,通常都要经过多级调度,而系统运行的性能在很大程度上取决于调度,因此调度便成为操作系统设计的一个中心问题之一。

1、高级调度--作业调度,长程调度

作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。因此,有时也把作业调度称为接纳调度(AdmissionScheduling)。

2、低级调度

低级调度的功能---进程调度,短程调度

(1)保存处理机的现场信息

(2)按某种算法选取进程

(3)把处理机分配给进程

3、中级调度---交换调度

1、目的:提高内存利用率和系统吞吐量。

2、方法:

(1)将暂时不能运行的进程调至外存上去等待,此时进程状态为:就绪驻外存状态或挂起状态。

(2)再次满足运行条件时,由中级调度把外存上的具备运行条件的进程,调入内存,挂在就绪队列上等待进程调度

1、作业

(1)作业(Job)。作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的。

(2)作业步(JobStep)。通常,在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果,我们把其中的每一个加工步骤称为一个作业步,各作业步之间存在着相互联系,往往是把上一个作业步的输出作为下一个作业步的输入。

例如,一个典型的作业可分成三个作业步:①“编译”作业步,通过执行编译程序对源程序进行编译,产生若干个目标程序段;②“连结装配”作业步,将“编译”作业步所产生的若干个目标程序段装配成可执行的目标程序;③“运行”作业步,将可执行的目标程序读入内存并控制其运行。

(3)作业流。若干个作业进入系统后,被依次存放在外存上,这便形成了输入的作业流;在操作系统的控制下,逐个作业进行处理,于是便形成了处理作业流。

2、作业控制块JCB

为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块,如同进程控制块是进程在系统中存在的标志一样,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。

每当作业进入系统时,系统便为每个作业建立一个JCB,根据作业类型将它插入相应的后备队列中。作业调度程序依据一定的调度算法来调度它们,被调度到的作业将会装入内存。在作业运行期间,系统就按照JCB中的信息对作业进行控制。当一个作业执行结束进入完成状态时,系统负责回收分配给它的资源,撤消它的作业控制块。

3、作业运行的三个阶段和三个状态

4、作业调度的任务

2)决定接纳哪些作业应将哪些作业从外存调入内存,这将取决于所采用的调度算法。最简单的是先来先服务调度算法,这是指将最早进入外存的作业最先调入内存;较常用的一种算法是短作业优先调度算法,是将外存上最短的作业最先调入内存;另一种较常用的是基于作业优先级的调度算法,该算法是将外存上优先级最高的作业优先调入内存;比较好的一种算法是“响应比高者优先”的调度算法。我们将在后面对上述几种算法作较为详细的介绍。

1、低级调度的任务

2、进程调度的三个基本机制

(1)排队器(进程队列);

(2)分派器(分派程序)(调度程序)

(3)上下文切换机制(环境信息切换)

3、进程调度的方式

(1)非抢占方式(Non-preemptiveMode)

引发调度的事件:

①正在执行的进程执行完毕;

②发生某事件而不能再继续执行;

③执行中的进程因提出I/O请求而暂停执行;

④执行了某种原语操作。

特点:实现简单、系统开销小,适用于大多数的批处理系统环境,难以满足紧急任务的要求。

(2)抢占方式(PreemptiveMode)

抢占的原则:

(1)优先权原则

(2)短作业(进程)优先原则

1、处理机调度算法的共同目标

(1)资源利用率

(2)公平性

(3)平衡性

(4)策略强制执行

2、批处理系统的目标

3、分时系统的目标

2)均衡性

4、实时系统的目标

2)可预测性

1、先来先服务调度算法(FCFS)

2、短作业(进程)优先调度算法(SJF/SPF)

SJF/SPF算法的缺点:

(1)对长作业(进程)不利。调度程序总是优先调度那些(即使是后进来的)短作业(进程),可能使长作业(进程)长期不被调度。

(2)未考虑作业(进程)的紧迫程度。不能保证紧迫性作业(进程)被及时处理。

(3)作业(进程)的长短没有客观标准。可能有失公平,损害算法初衷。

1、优先权调度算法的类型

(1)非抢占式优先权算法

主要用于批处理系统中;

(2)抢占式优先权调度算法

能更好地满足紧迫作业的要求,常用于要求比较严格的实时系统中,以及对性能要求较高的批处理系统和分时系统中。

2、优先权的类型

(1)静态优先权

优先权是在创建进程时确定,在进程的整个运行期间保持不变。

优先权的确定依据:进程类型,进程对资源的需求,用户要求。

(2)动态优先权

3、高响应比优先调度算法

(2)高响应比优先调度算法优点:

2、进程切换时机

1、保证调度算法

不做要求

1)可重用性资源

2)可消耗性资源

1)可抢占性资源

2)不可抢占性资源

死锁:指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。

产生死锁的原因:

1、竞争不可抢占性资源引起进程死锁

2、竞争可消耗性资源

3、进程推进顺序不当引起的死锁

当进程P1、P2共享资源A、B时,若推进顺序合法则不会产生死锁,否则会产生死锁。

合法的推进路线:①②③不合法的推进线路:④

1、死锁的定义

如果系统中的每一个进程都在等待仅由该组进程中的其他进程才能引发的事件,那么该组进程就是死锁的。

2、产生死锁的必要条件

(1)互斥条件

(2)请求和保持条件

(3)不剥夺条件

(4)环路等待条件

3、处理死锁的基本方法

(1)预防死锁

(2)避免死锁

(3)检测死锁

(4)解除死锁

1、第一种协议

系统要求所有进程要一次性地申请在整个运行过程所需要的全部资源。

摒弃请求条件:进程在整个运行期间,不再提出资源要求。

摒弃保持条件:等待期间进程不占有任何资源。

优点:简单、易于实现、且安全。

缺点:(1)资源严重浪费(2)进程延迟运行

2、第二种协议

思想:允许一个进程只获得运行初期所需的资源后,便开始运行。进程运行过程中再逐步释放已分配给自己、且已用完的全部资源,然后再请求新的所需资源。

思想:允许进程还未执行完成时释放已经占有的资源。

方法:

方法:

给资源编号,进程必须按序申请资源。

局限:

所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)(称P1,P2,…,Pn序列为安全序列),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。

如果系统无法找到这样一个安全序列,则称系统处于不安全状态。

避免死锁的关键就是:让系统在动态分配资源的过程中,不要进入不安全状态。

2、安全状态之例

3、由安全状态向不安全状态的转换

如果不按照安全序列分配资源,则系统可能会由安全状态进入不安全状态,进而可能造成死锁。

1965年由Dijkstra为T.H.E系统设计

基本思想:借用了银行借贷系统的分配策略。

基本规则:

(2)满足最大需求后要及时归还资金

(3)客户申请的贷款数量不超过它自己拥有的最大值时,银行要尽量满足客户需求

客户---->资金

银行---->进程

资源---->操作系统

1、银行家算法中的数据结构

(1)可利用资源向量Available,表示系统中可利用的资源的数目;如Available[j]=K,表示系统中Rj类资源有K个。

(2)最大需求矩阵Max,表示n个进程中的各进程对m类资源的最大需求,如Max[i,j]=K,表示进程i需要Rj类资源的最大数目为K个。

(3)分配矩阵Allocation,表示各进程当前已分得各类资源的数目;如Allocation[i,j]=K,表示进程i当前已分得K个Rj类资源。

(4)需求矩阵Need,表示各进程尚需的各类资源的数目;如Need[i,j]=K,表示进程i还需要K个Rj类资源,方能完成其任务。

Need[i,j]=Max[i,j]-Allocation[i,j]

2、银行家算法

(1)如果Requesti[j]≤Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。

(2)如果Requesti[j]≤Available[j],便转向步骤3;否则,表示尚无足够资源,Pi须等待。

(3)系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:Available[j]:=Available[j]-Requesti[j];Allocation[i,j]:=Allocation[i,j]+Requesti[j];Need[i,j]:=Need[i,j]-Requesti[j];

(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi;否则,恢复原来的资源分配状态,让进程Pi等待。

3、安全性算法

(1)设置两个向量:

①工作向量Work:表示系统可提供给进程继续运行的各类资源数目,在执行安全算法开始时,Work=Available;

②Finish:表示系统是否有足够的资源分配给进程,开始时先做Finish[i]:=false;当有足够资源分配给进程时,再令Finish[i]=true.

(2)从进程集合中找到一个能满足下述条件的进程:

①Finish[i]=false且

②Need[i,j]≤Work[j];若找到,执行步骤(3),否则,执行步骤(4)。

(3)进程Pi获得资源后,能顺利完成,并释放全部资源,则修改向量:Work[j]:=Work[i]+Allocation[i,j];Finish[i]:=true;gotostep2;

(4)如果所有进程的Finish[i]=true都满足,则表示系统处于安全状态;否则,系统处于不安全状态。

设置两个向量:work、Finish

从进程集合中找到一个能满足下述条件的进程:Finish[i]=false&Needi<=work

执行:

Work:=Work+Allocation;

Finish[i]:=true;

循环,如果所有进程的Finish[i]=true则安全。

5、银行家算法的优缺点

优点:

缺点:

要求:

1、资源分配图(ResourceAllocationGraph)

资源分配图化简:

2、死锁定理

当且仅当系统某状态S所对应的资源分配图是不可完全化简的,则S是死锁状态,而相应进程被死锁。

如果资源分配图中没有环路,则系统中没有死锁,如果图中存在环路则系统中可能存在死锁

如果每个资源类中只包含一个资源实例,则环路是死锁存在的充分必要条件。

有环有死锁

有环无死锁

3、死锁检测中的数据结构

(1)可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。

(2)把不占用资源的进程(向量Allocation∶=0)记入L表中,即Li∪L。

(3)从进程集合中找到一个Requesti≤Work的进程,做如下处理:

①将其资源分配图简化,释放出资源,增加工作向量Work∶=Work+Allocationi。

②将它记入L表中。

(4)若不能把所有进程都记入L表中,便表明系统状态S的资源分配图是不可完全简化的。因此,该系统状态将发生死锁。

重新启动:这是一种常用但比较粗暴的方法,虽然实现简单,但会使之前的工作全部白费,造成很大的损失和浪费。

撤消进程:死锁发生时,系统撤消造成死锁的进程,解除死锁。一次性撤消所有的死锁进程。损失较大。逐个撤消,分别收回资源。

剥夺资源:死锁时,系统保留死锁进程,只剥夺死锁进程占有的资源,直到解除死锁。选择被剥夺资源进程的方法和选择被撤消进程相同。

进程回退:死锁时,系统可以根据保留的历史信息,让死锁的进程从当前状态向后退回到某种状态,直到死锁解除。

THE END
1.KTJ102DS综合应急融合调度应用系统● 多媒体调度:指挥人员可在融合通信指挥调度系统的调度台上实现语音调度、视频调度、GIS调度、视频会商、信息发布、智能预案等各类调度功能的操作,实现对各个子系统的集成化管理、一体化控制、可视化展现吉便捷性操作,达到高效直观的融合指挥、统一调度。 系统功能 https://zhuanlan.zhihu.com/p/686411850
2.全响应综合治理应急指挥系统——智慧城市的守护神全响应综合治理应急指挥系统迅速响应,立即启动应急预案。系统通过视频监控、语音调度等功能,协调公安、消防、医疗等部门迅速到达现场进行救援。同时,系统还实时更新事故现场情况,为救援人员提供准确信息。在系统的帮助下,救援行动有序进行,伤员得到了及时救治。案例三:公共卫生事件,疫情防控 在新冠疫情爆发初期,全https://baijiahao.baidu.com/s?id=1815946246597229333&wfr=spider&for=pc
3.智能报警系统:实时预警和快速响应智能报警系统是一种基于大数据、人工智能和计算机科学技术的系统,它的主要目的是实时预警和快速响应。在现代社会,智能报警系统已经广泛应用于各个领域,例如安全监控、交通管理、气候变化监测、金融风险预警等。智能报警系统可以帮助人们更快速地发现问题,并采取措施进行处理,从而提高工作效率和降低风险。 https://blog.csdn.net/universsky2015/article/details/135809157
4.客服系统的实时性与响应性:迅速回应用户的每一个问题一个能够迅速回应用户问题的客服系统,不仅能够提升用户满意度,也能够增强用户对企业的信任感和忠诚度。 在当今的互联网时代,用户体验已经成为企业持续发展的关键。而在众多影响用户体验的因素中,客服系统的实时性和响应性尤为重要。一个能够迅速回应用户问题的客服系统,不仅能够提升用户满意度,也能够增强用户对企业的信任https://www.live800.com/news/knowledge/1700620810.html
5.智能尘埃粒子计数器实时预警系统运作机制的详细描述资讯中心实时预警系统是监管平台的重要组成部分,其运作机制对于及时响应异常情况、保障运营安全和提升管理效率至关重要。以下是智能尘埃粒子计数器实时预警系统运作机制的详细描述: 一、数据收集与预处理 1.数据源: 实时预警系统通常从多个数据源收集数据,这些数据源通过有线或无线方式将数据传输到监管平台的服务器。 https://www.instrument.com.cn/news/20241219/760508.shtml
6.多形态MVC式Web架构:完成实时响应系统架构 具有集中式数据库的博客 Web 应用将用 dWMVC 范式予以设计和开发。总的来说,应用组件间的通讯将用 AngularJS、SSE、InSoR 和 CDC 来实现。这些技术将使系统能够响应任何对集中式数据库中记录的修改(通过这个 Web 应用或未来的集成模块),并实时传递这种变化给最终用户,概览图如图 2。 https://www.infoq.cn/articles/mvc-real-time-reactive-fulfillment
7.响应式架构在实时处理系统中的应用:从消息驱动到背压机制的实现响应式架构是一种基于非阻塞、消息驱动、弹性和可消息组合的架构风格,用于构建高可扩展的实时系统。它旨在确保系统能够快速、可靠地响应用户请求,并且具有适应性和弹性,能够处理大量的并发请求。响应式架构具备以下特点:弹性,消息驱动,流式处理,以及背压机制。 https://www.jianshu.com/p/4e5e8c90acf2
8.220kV变电所综合自动化系统设计配置直观方便、可靠的监视和操作手段,快速地反映系统的运行状况,响应和执行操作命令;配置高分辨率彩色图形汉字显示、功能键盘和汉字打印机等设备。 4.5.1 主要显示内容 (1)全所主结线图; (2)按电压等级划分的分结线图(各线路、母线的潮流实时值); (3)按单元划分的单元结线图(设备主要参数和运行工况趋势曲线或棒https://supplier.alibaba.com/article/CTGNI37S9U6.htm
9.安防是什么工作安防系统的作用与意义→十大品牌网制定应急计划,建立紧急响应机制,迅速、有效地应对紧急情况。 11、法律合规与监察 确保安防措施符合法规,进行监察和审查,以防范违规行为。 安防系统的作用与意义 1、防范犯罪和入侵 安防系统通过监控摄像头、入侵检测器等设备,可以实时监视周围环境,防范和减少入侵、盗窃和其他犯罪行为。 https://www.cnpp.cn/focus/38583.html
10.智能网联汽车ADAS仿真软件:特点与重要性智能网联汽车其高度仿真的虚拟环境、大规模数据生成与处理、实时系统响应、可扩展性与定制性、安全性验证等特点,使得汽车制造商能够更快速、更经济地推出安全、可靠的ADAS系统。随着技术的不断发展,ADAS仿真软件将继续发挥重要作用,助力智能网联汽车迎接更大的挑战和更广阔的发展空间。https://www.auto-testing.net/baike/show-1183.html
11.实时操作系统实时操作系统(RTOS)是指具有实时性能的操作系统。不可预测的外部事件或数据产生后,能在可预测的时间内被接受,并以足够快的速度进行处理,处理结果能在规定时间内控制生产过程或快速响应处理系统,并能调度一切可用资源完成实时任务。与一般的操作系统相比,实时操作系统更加“实时”,即当一个任务需要执行时,实时操作系统https://www.qwbaike.cn/doc-view-9860.html
12.LEC3230产品作为网络报文记录及分析装置的应用3) 实时系统,响应迅速 LEC-3230基于LINUX系统开发,完全满足工业现场控制的要求。 4) 接口丰富,扩展容易 LEC-3230具有多个串口、多块以太网卡,支持光口扩展,支持IEC103、104,IEC61850等现场通信协议,还可以根据需要灵活增加。 5) 高精度对时模块 LEC-3230支持电B码和光B码两种方式,精度可达us级,满足现场对时要求https://www.hdzx.cn/CaseStd_586.html
13.科技能力持续领跑!菜鸟智慧园区项目供应链计划等多个项目入选通过菜鸟提供的车辆预约调度系统、门禁道闸系统、智能地磅系统、智能安全监控系统、访客管理系统以及智慧地磅、场内物流运营平台等一系列软硬件产品,乖宝宠物聊城工厂成功实现智能化管理升级:系统实现毫秒级处理数据,并可以根据分析实时响应,自动化程度也得到大幅提升。基于前期合作取得的积极成果,目前,乖宝宠物正与菜鸟一起https://www.cainiao.com/4768.html
14.系统不一定都具有人机交互功能.C.从响应时间的角度看,实时系统B.分时系统不一定都具有人机交互功能.C.从响应时间的角度看,实时系统与分时系统差不多.D.由于采用了分时技术,用户可以独占计算机的资源. 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 答案: A分时操作系统是一个多用户交互式操作系统 解析看不懂?免费查看同类题视频解析查看解答https://www.zybang.com/question/062722fd09ba68e03c7d1221b2ecb637.html
15.终端安全响应系统(EDR)上海华义匀安信息科技有限公司奇安信终端安全响应系统(EDR)是传统终端安全产品在高级威胁检测和响应方面的扩展和补充,通过威胁情报、攻防对抗、机器学习等方式,从主机、网络、用户、文件等维度来评估企业网络中存在的未知风险,以行为引擎为核心,利用威胁情报,缩短威胁从发现到处置的时间,有效降低业务损失,增加可见性,提升整体安全能力。 http://www.huayuantech.com/qianxin/10
16.SORA微软基于PC的软件无线电平台软件无线电技术为了确保CPU可以实时响应,Sora采用了独占线程技术,可以让某个或者某几个内核专用于SDR的任务,不被其他系统调用影响。 实现这种技术不需要修改操作系统的内核。 Sora的性能测试 以WiFi 802.11a/b/g的实现为案例,测试Sora的性能。算法优化前后对比 Sora与商业网卡吞吐量对比 https://www.mwrf.net/tech/sdr/2012/9105.html
17.基于RTX51实时操作系统的交通灯控制系统的设计AET一个高效的单片机智能控制系统,不仅要求系统能够同时执行多个任务,对每个任务作出实时响应,而且要求系统能够及时响应随机发生的外部事件,并对其作出快速处理。对于这样的系统应用,采用实时操作系统RTOS(Real-time-Operating System)作为系统软件设计平台是一个良好的选择,它可以灵活地安排系统资源,简化复杂的软件设计,加快软件http://www.chinaaet.com/article/91122
18.流域治理视角下,构建弹性城市排水系统实时控制策略实现可靠的实时控制有以下要点:①要有优化点位的过程变量在线监测;②需要动态制定控制策略以及具有可靠的过程控制系统;③管网-处理厂等调节设施具有协同可控性、硬件设施能力有匹配度;④排水系统快速实时的响应特性及反馈控制机制。这一定义明确了排水系统实时控制的基本架构、建设内容、方法和目标。https://www.h2o-china.com/news/313406.html