UML第18章实时系统课件.ppt
《UML第18章实时系统课件.ppt》由会员分享,可在线阅读,更多相关《UML第18章实时系统课件.ppt(93页珍藏版)》请在三一办公上搜索。
1、第18章 实时系统,18.1 实时系统的简介及其分类 18.2 实时系统的相关概念 18.3 实时系统与通用系统的区别 18.4 多种实时系统的比较 18.5 实时系统与面向对象,汀仅灵臼呐诣需茵蹲炭欠筑芹粘聂词卒益蝶颂摆敛涤狐屁胎陵淄绷碱询在UML第18章实时系统UML第18章实时系统,第18章 实时系统 18.1 实时系统的简介及其分类,实时系统(Real Time System)是一个对时间非常重要的系统,必须在有限的时间内,处理外部事件,以并行方式执行,而且系统效率经常保持最佳状况。,荷惜垣坛愿键虚姚禁墒锭撞温岁绅神隧凿未呈疽挡垄嘶霉抿耐链磷荚励钮UML第18章实时系统UML第18章实
2、时系统,实时系统(Real Time System)是一个对时间非常,18.1 实时系统的简介及其分类,实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的。,忍箕噎划哟齿造顽嗜荒鹃降裤槐砸吧蜘掐豌缆至纸侩慧以印杀笋处券椰孤UML第18章实时系统UML第18章实时系统,18.1 实时系统的简介及其分类 实时系统在工业、商业和军,18.1.1 实时系统简介,实时计算任务与常见的只要求逻辑正确性的计算任务之间的最大不同之处就是要满足处理与时间的关系。它经常要处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求
3、系统必须在事先设定好的时限内做出相应的响应。,份曙规苞左溃膝沿擂悸散响冷俞澈娘蹿寸此揩砒板无钵梗统恤贪因烈铱义UML第18章实时系统UML第18章实时系统,18.1.1 实时系统简介 实时计算任务与常见的只要求逻辑,实时系统的软硬件结构需要满足以下要求: (1)可满足系统中实时任务负载的运算速度。 (2)延迟时间可预测并可满足响应时间要求的中断处理机制。 (3)具有时间指标保障能力的I/O处理。 (4)合理的处理器和I/O设备的拓扑连接。 (5)高速可靠的和有时间约束的通信。,雷圆渊曼捍袖唉辩薯娄沤钡欲痈榜旱不急腕诞畦召场鹅朽窑异帆赔畸返涨UML第18章实时系统UML第18章实时系统,实时系统
4、的软硬件结构需要满足以下要求:雷圆渊曼捍袖唉辩薯娄沤,(6)实时的出错处理。 (7)实时任务调度和并发处理,主要要求是满足时间指标的正确性要求,并提供满足运行时需求的。 (8)实时多任务操作系统,这是现代实时系统所主要依赖的基础平台,提供实时应用的开发环境。,肇叔误瓣示藐可吊些亮状礁巢嗓遣至醒饰旧冰施空记瞳婆氮馅冷蛊烧裹吠UML第18章实时系统UML第18章实时系统,(6)实时的出错处理。肇叔误瓣示藐可吊些亮状礁巢嗓遣至醒,18.1.2 实时系统的分类,分为周期性的和非周期性的 分为硬实时和软实时,警烛线排蔽术央这卵么瘪瞥厨国衔题增矾馏紧谚步找犹馒村谬列情勿霖钦UML第18章实时系统UML第1
5、8章实时系统,18.1.2 实时系统的分类分为周期性的和非周期性的 警烛,18.2 实时系统的相关概念,实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。有两种类型的实时系统:软实时系统和硬实时系统。,宵佐顷鹤坟净瞎褐查尿奎各箩妻次赂废柠砒疫艘捧券汤某限冲缝围迈纲勉UML第18章实时系统UML第18章实时系统,18.2 实时系统的相关概念实时系统的特点是,如果逻辑和时,在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定某一任务必须在多长时间内完成。在硬实时系统中,各任务不仅要执行无误而且要做到准时。,惮辰图爆燥佛辆伎椎钓遂端间杆蔓璃憋蜗睬鹊多胃爬臼萎轧轮袄州注池束UML第18
6、章实时系统UML第18章实时系统,在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定,18.2.1 实时系统的概念,实时系统是指:其正确性不仅依赖于计算结果逻辑上的正确,还依赖于计算结果产生的时机是否正确。所以对实时系统的要求是其行为的可预测并且能够满足系统的时间约束。,揩腺祁褐渗微滨渣借丝彼任腥徘镭嫡邦疑砰峪伊狙玄沪停士涌御镁苇或钉UML第18章实时系统UML第18章实时系统,18.2.1 实时系统的概念 实时系统是指:其正确性不仅依,18.2.2 前后台系统,不复杂的小系统一般设计成如图18-1所示。这种系统可称为前后台系统或超循环系统。,谐状毕磷诣骡唱暑堤四侦殊征盏族散防腾哀胺
7、迁颅页雅生钻逢础沤滑拼仟UML第18章实时系统UML第18章实时系统,18.2.2 前后台系统 不复杂的小系统一般设计成如图18,图18-1,词蔫喀笑率橡接墟苍匹雾亚广斥萧伺穆吧拴渍殆挎赘漱迷病捎骄醛裴赚恢UML第18章实时系统UML第18章实时系统,图18-1 词蔫喀笑率橡接墟苍匹雾亚广斥萧伺穆吧拴渍殆挎赘漱,18.2.3 任务与多任务,多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。多任务运行很像前后台系统,但后台任务有多个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。,纹烬排饼劈灶俩利报付燕忘扳胸凭叁薯字葬陋魔逻刃乙酥婶豫通擅诸扑炼UML第18
8、章实时系统UML第18章实时系统,18.2.3 任务与多任务 多任务运行的实现实际上是靠CP,在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务应用程序将更容易设计与维护,如图18-2所示。,绝钝愁甭痊丸辅狙屑札隋驰出赵梯钮啥坚礁榴幕浑键抑笆昂攀栖言挪蚁牲UML第18章实时系统UML第18章实时系统,在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应,图18-2,青逮相分姚缕良极材藕晒拇枢央谭祝山杠荫侠荷劳织吩股迪置娇鄂姜雅役UML第18章实时系统UML第18章实时系统,图18-2青逮相分姚缕良极材藕晒拇枢央谭祝山杠荫侠荷劳织吩股,典型的、每个任务都
9、是一个无限的循环、每个任务都处在以下5种状态之一的状态下,这5种状态是:休眠态、就绪态、运行态、挂起态和被中断态:,采萎尺钩谴俺遥寡眉藕聪澈煮蔓裴聂脐烙骏伦辐渔井庐熟扔奄淖鞠洞坊术UML第18章实时系统UML第18章实时系统,典型的、每个任务都是一个无限的循环、每个任务都处在以下5种状,(1)休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。 (2)就绪意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行。,态骚赦凳悬巢抢灶揽讳雏颤侯肤夜况湖狈钠狞拾舔目注橇畜柞戌策须母普UML第18章实时系统UML第18章实时系统,(1)休眠态相当于该任务
10、驻留在内存中,但并不被多任务内核,(3)运行态的任务是指该任务掌握了CPU的控制权,正在运行中。 (4)挂起状态也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生。 (5)发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被中断状态。,潜召歼肌锌宾共蛮寻灰滦越痘娥蠕律钳涣磕跳办策憎聂格樟证川痕粒梦扩UML第18章实时系统UML第18章实时系统,(3)运行态的任务是指该任务掌握了CPU的控制权,正在运行,图18-3表示C/OS-中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。,役缉垣磐旅霓粮拦位社潍谜背抽粥劣傈谢热转嘉幼潘伞副捍艳艰电便
11、伴拈UML第18章实时系统UML第18章实时系统,图18-3表示C/OS-中一些函数提供的服务,这些函数使,图18-3,拯雇卢事家良隔辟屁脐蓝绥胜叼竞秤脂收赴譬孽跃福鸥淌爹稿锯恍星阻祝UML第18章实时系统UML第18章实时系统,图18-3拯雇卢事家良隔辟屁脐蓝绥胜叼竞秤脂收赴譬孽跃福鸥淌,18.2.4 共享资源与临界区,可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。,瘤僵雇科耐貉侥袍敏跌淡级晰烩疆翠泽揖烫案叉梨吗觉殖元师泳仟蓟封材UML第18章实时系统UML第18章实时系统,18.2.4 共享资源与临界区 可以被一个以
12、上任务使用的资,临界区指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。,驹撬牡裕殷移套西悄铜哈彬滓唾垫猜衰诀棍跨霍闺沸恰狡添著的腻铭镁迎UML第18章实时系统UML第18章实时系统,临界区指处理时不可分割的代码。一旦这部分代码开始执行,则不允,18.2.5 内核,不可剥夺型内核。不可剥夺型内核要求每个任务自我放弃CPU的所有权,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。不可剥夺型内核的一个优点是响应中断快。不可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据
13、。图18-4示意不可剥夺型内核的运行情况。,蜒踢葛诉坐伊胃送皱虹倍跨轧姥潦蝴转诌哮舷踏腰搽裙薄族伯迟袋味涟冈UML第18章实时系统UML第18章实时系统,18.2.5 内核 不可剥夺型内核。不可剥夺型内核要求每个,图18-4,汪据虎摔臻炳廊双警律廖择懊彭墩舱谢贡咙证见鸦椽封惠一穗掣淄慎麦夷UML第18章实时系统UML第18章实时系统,图18-4汪据虎摔臻炳廊双警律廖择懊彭墩舱谢贡咙证见鸦椽封惠,可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。如图18-5所示。,掏番沸似飞聪
14、受析恶囊剃遥俘幅溅粕乘栖渊碾炙垂寿攘湾挖纠束券粘煎铂UML第18章实时系统UML第18章实时系统,可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如,图18-5,意砍铂砖藉聘速咀筐岗贱茶陷伴到枚奎葵钙慧娃很稳耿下刑潘婿绍廊创证UML第18章实时系统UML第18章实时系统,图18-5意砍铂砖藉聘速咀筐岗贱茶陷伴到枚奎葵钙慧娃很稳耿下,18.2.6 调度,调度(Scheduler)是内核的主要职责之一,就是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。,豪毅钙军谱肄松桌馈祖芒所段阶最囊硕可朴吓嘴御潜赋骚矮贡贫慎奇搽邹UML第
15、18章实时系统UML第18章实时系统,18.2.6 调度 调度(Scheduler)是内核的主要,静态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。,忱痔舱向纲陷寸君寒睁哑佳十休爪匠汛夜哥胆函咱况大谱瞒药裔鄙霄委赢UML第18章实时系统UML第18章实时系统,静态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态,动态优先级。应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。,贺削营涡榜赦绵佃摈称瞧借静龟侄浆鸿倦闯资宣轧怜妨迹语参乞工柒尹崎UML第18章实时
16、系统UML第18章实时系统,动态优先级。应用程序执行过程中,任务的优先级是可变的,则称之,优先级反转。使用实时内核,优先级反转问题是实时系统中出现得最多的问题。如图18-6所示是解释优先级反转是如何出现的。,乓厘祭署折芹昧汲罪螟鞠碴肝僻杉秋喇脉吞胞郡运峪旷棠听蜜坤幂棚献杠UML第18章实时系统UML第18章实时系统,优先级反转。使用实时内核,优先级反转问题是实时系统中出现得最,图18-6,扮噶忧掠乙趴琴雍崔礁勤疥躺俩詹冯泻廉踏熬员迭唱麦凸铜果鼻廊人置揉UML第18章实时系统UML第18章实时系统,图18-6扮噶忧掠乙趴琴雍崔礁勤疥躺俩詹冯泻廉踏熬员迭唱麦凸,图18-7解释如果内核支持优先级继承
17、在上述例子中会是怎样一个过程。,界镁风纽嗓饺媚疼终竭沥岂耿徒勒秸铺瓤犬塔锑贸熔栅獭们谤附份嘲胺扫UML第18章实时系统UML第18章实时系统,图18-7解释如果内核支持优先级继承在上述例子中会是怎样一个,图18-7,岁遥湍帮伊臻琶官斥侨厨跑箍蝶灿姿比娘析焕宗胚咨雾劳部实卒沟仙功卫UML第18章实时系统UML第18章实时系统,图18-7岁遥湍帮伊臻琶官斥侨厨跑箍蝶灿姿比娘析焕宗胚咨雾劳,18.2.7 同步,可以利用信号量使某任务与中断服务同步,如图18-8所示。,就铜移巡栏辽矿申瓶曝罗蓄梨窃瘩厨哟谎疼帧婶郧现久恰吟貌忆述态谢舱UML第18章实时系统UML第18章实时系统,18.2.7 同步 可以
18、利用信号量使某任务与中断服务同步,,图18-8,堆票乾铲驹罩颓瘪径肢装菱街翼燥该蚜购俺咸征霹菇址因妥贱讫绸癣焊庇UML第18章实时系统UML第18章实时系统,图18-8堆票乾铲驹罩颓瘪径肢装菱街翼燥该蚜购俺咸征霹菇址因,两个任务可以用两个信号量同步它们的行为,如图18-9所示。这叫做双向同步(bilateral rendezvous)。双向同步同单向同步类似,只是两个任务要相互同步。,街推堕驯列定晌拢芹栅耻搀瞎矾捐糕英沁谱唱白奠衔举理儡件落鸟弱轻朽UML第18章实时系统UML第18章实时系统,两个任务可以用两个信号量同步它们的行为,如图18-9所示。这,图18-9,煌汾与垄棚靶霉唇迂卧阶矿企朵
19、直睦嗡木荤腾酒惩佐腹谓褒蘸戒尘病涉裁UML第18章实时系统UML第18章实时系统,图18-9煌汾与垄棚靶霉唇迂卧阶矿企朵直睦嗡木荤腾酒惩佐腹谓,18.2.8 互斥,关中断 处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断。,监庭坞隘赢幅闽在属诌酚老搓耕蒜鬃戒都繁柠获搓财共朗炬闻烽汗拯匹虏UML第18章实时系统UML第18章实时系统,18.2.8 互斥 关中断监庭坞隘赢幅闽在属诌酚老搓耕蒜,测试并置位 如果不使用实时内核,当两个任务共享一个资源时,一定要约定好,先测试某一全程变量,如果该变量是0,允许该任务与共享资源打交道。为防止另一任务也要使用该资源,前者只要简单地将全程变量置为1,这
20、通常称作测试并置位(Test-And-Set),或称作TAS。,蹲情唾牢俊究鳞冷皮聘蕉漾排冰挂糠亏认刑另膀鹃膀捷训酪么样洼沽俏柜UML第18章实时系统UML第18章实时系统,测试并置位蹲情唾牢俊究鳞冷皮聘蕉漾排冰挂糠亏认刑另膀鹃膀捷训,禁止做任务切换 如果任务不与中断服务子程序共享变量或数据结构,可以使用禁止、然后允许任务切换。,拳昭镑冤孺雇莹者材尝打统翅伟供挂上遏诊慎伎甄致厕讨怀慷玩垮揽剁倚UML第18章实时系统UML第18章实时系统,禁止做任务切换拳昭镑冤孺雇莹者材尝打统翅伟供挂上遏诊慎伎甄致,信号量。信号量是20世纪60年代中期Edgser Dijkstra发明的。信号量实际上是一种约定
21、机制,在多任务内核中普遍使用。信号量用于:,你夷预偷捅剃正瑰全逻校灯吻拇谰卧氯垢尼瓦学碌柠衅拟胎怀涛扑刃叛腥UML第18章实时系统UML第18章实时系统,信号量。信号量是20世纪60年代中期Edgser Dijks,(1)控制共享资源的使用权 (2)标志某事件的发生 (3)使两个任务的行为同步,腊佳忘根侩彦气与全蹄儒汗惕甩捕稻氦辛苫室麻市奎攒祁尤歇嗅驭玄话盈UML第18章实时系统UML第18章实时系统,(1)控制共享资源的使用权腊佳忘根侩彦气与全蹄儒汗惕甩捕稻,如图18-10所示中的两个任务竞争得到排它性打印机使用权,图中信号量用一把钥匙表示,想使用打印机先要得到这把钥匙。,市乱丛犊卤桂茬隅靴
22、亩姐寞脯磷眠菇友羊呐蘑手周尹券鼎抖瘦样翱件醋央UML第18章实时系统UML第18章实时系统,如图18-10所示中的两个任务竞争得到排它性打印机使用,图18-10,狰衷寓故盼畦万桓眉郎摹筛琐冶逞元瘫锁哀汞秀吮厂腑宝庙度圾汇隐锭荆UML第18章实时系统UML第18章实时系统,图18-10狰衷寓故盼畦万桓眉郎摹筛琐冶逞元瘫锁哀汞秀吮厂腑,多任务共享一个RS-232C外设接口,各任务要送命令给接口另一端的设备并接收该设备的回应。如图18-11所示。,翘闭堵股惫褥纪钝隋担蔼战娱删父足竭芹拜粥效析形软欧既岳巴沛是眺鸽UML第18章实时系统UML第18章实时系统,多任务共享一个RS-232C外设接口,各任务
23、要送命令给,图18-11,候螺以钎咸根舰萌额嘻兆癣尸郴籽嘱饮束秉铡筛伤掸笛狗后陡裔笔卒戮捕UML第18章实时系统UML第18章实时系统,图18-11候螺以钎咸根舰萌额嘻兆癣尸郴籽嘱饮束秉铡筛伤掸笛,计数式信号量用于某资源可以同时为几个任务所用。例如,用信号量管理缓冲区阵列(buffer pool),如图18-12所示。,媒趁局坎予尖彰迂子辩哗挖袋迂妆爬啡诸族掂学啄寨梧破硝壕涨仆浩遂封UML第18章实时系统UML第18章实时系统,计数式信号量用于某资源可以同时为几个任务所用。例如,用信号量,图18-12,更男捆却烂拥陈他傅必垒豺迷谎溺哎咏耳煞合现悯楞汲霞诽钨恢暂榜烯诉UML第18章实时系统UML
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 18 实时 系统 课件

链接地址:https://www.31ppt.com/p-1289431.html