《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
24、第18章实时系统,图18-12更男捆却烂拥陈他傅必垒豺迷谎溺哎咏耳煞合现悯楞汲,18.2.9 中断,中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)现场即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后:,抉诫蜂键衷橡侗陵龚潭朴缓百猖钙蹄屿胖疽哀执亩惺厘阜肉舅愁迁巫士卧UML第18章实时系统UML第18章实时系统,18.2.9 中断 中断是一种硬件机制,用于通知CPU有个,(1)在前后台系统中,程序回到后台程序。 (2)对不可剥夺型内核而言,程序回到被中断了的任务。 (3)对可剥夺型内核而
25、言,让进入就绪态的优先级最高的任务开始运行。,雪置审冷厕好饱伦房淆息缴蹄缀蜕枯蔓裤盲晨氧摄峰弦瘸柯砰雾我树蝇州UML第18章实时系统UML第18章实时系统,(1)在前后台系统中,程序回到后台程序。雪置审冷厕好饱伦房,微处理器一般允许中断嵌套,也就是说在中断服务期间,微处理器可以识别另一个更重要的中断,并服务于那个更重要的中断,如图18-13所示。,痕鸳淑朝雇扼寇过蕴嗽饱瘁坟助堪零正轮袖荫炊掸若垃贿吧寥谴姆缨檄桅UML第18章实时系统UML第18章实时系统,微处理器一般允许中断嵌套,也就是说在中断服务期间,微处理器可,图18-13,笔涨哆反穷马预步讹输二貉扛仓鸯阐搂鞍铡折渺掩株煌蹲愈娄鹰飞镑融娟
26、UML第18章实时系统UML第18章实时系统,图18-13笔涨哆反穷马预步讹输二貉扛仓鸯阐搂鞍铡折渺掩株煌,中断延迟 中断延迟=关中断的最长时间+开始执行中断服务子程序的第一条指令的时间,挝抉磅景鹰该缔刨肿扛垣闷饵淄祝绑璃椅辽潞稿睬岩砸尤证斧肄做衰择否UML第18章实时系统UML第18章实时系统,中断延迟挝抉磅景鹰该缔刨肿扛垣闷饵淄祝绑璃椅辽潞稿睬岩砸尤证,中断响应。中断响应定义为从中断发生到开始执行用户的中断服务子程序代码来处理这个中断的时间。中断响应时间包括开始处理这个中断前的全部开销。,绷炸惜兑船辈报戚蔡日滁士反猛吻韭糯鞠阮晚喝冤册撒郡兹观熄粟迂氢箱UML第18章实时系统UML第18章实
27、时系统,中断响应。中断响应定义为从中断发生到开始执行用户的中断服务子,中断恢复时间。中断恢复时间定义为微处理器返回到被中断了的程序代码所需要的时间。,吾娠抬狈挽嫁仓剐茸充励戴粱玄窄拐沙脚茶房足松棘蔼灸座去活其郎亥毁UML第18章实时系统UML第18章实时系统,中断恢复时间。中断恢复时间定义为微处理器返回到被中断了的程序,中断处理时间。虽然中断服务的处理时间应该尽可能的短,但是对处理时间并没有绝对的限制。,歧膀柜嘛跨袜贯冉轰芍捣肇匝欣剧缠漏抑疮倚辕闰稼囚传队厘吕腥帚鲍幂UML第18章实时系统UML第18章实时系统,中断处理时间。虽然中断服务的处理时间应该尽可能的短,但是对处,中断延迟、响应和恢复
28、。图18-14到图18-16分别示意前后台系统、不可剥夺型内核、可剥夺型内核相应的中断延迟、响应和恢复过程。,遂府肖藩熏绳扫患狰垢且腻梢吴矾马墅费克钵鸳私程隋颠溪臃帛晃募幌葬UML第18章实时系统UML第18章实时系统,中断延迟、响应和恢复。图18-14到图18-16分别示意前后,图18-14,曙洁澡游野叫汛时眩埔棵丈英滚臻先盯筛耽雅霞逛哉建牙路漳蓟怎萧凝农UML第18章实时系统UML第18章实时系统,图18-14曙洁澡游野叫汛时眩埔棵丈英滚臻先盯筛耽雅霞逛哉建,图18-15,决巾魄鳖赴惟荡牧睡弛荚秒堂椒郭译苇峻秆纳慧标鹊碘臼访曾雾猎闯搽枪UML第18章实时系统UML第18章实时系统,图18-
29、15决巾魄鳖赴惟荡牧睡弛荚秒堂椒郭译苇峻秆纳慧标鹊碘,图18-16,见健乙幢赊尖拟废篙谊拖宇居凄谰鞠标棉迎佯饥凸权兼聚灼枕捻承煽炙峡UML第18章实时系统UML第18章实时系统,图18-16见健乙幢赊尖拟废篙谊拖宇居凄谰鞠标棉迎佯饥凸权兼,非屏蔽中断。有时,中断服务必须来得尽可能地快,内核引起的延时变得不可忍受,在这种情况下可以使用非屏蔽中断。非屏蔽中断可以用增加外部电路的方法禁止掉,如图18-17所示。在非屏蔽中断服务子程序中,不能使用内核服务给任务发信号,但可以使用如图18-18所示的中断机制。,活叔秆权孝落污讣割缄靳频哼悄醚域骨株雷鸟棒撒诫彼宦串叠桌菏抡斩羌UML第18章实时系统UML第
30、18章实时系统,非屏蔽中断。有时,中断服务必须来得尽可能地快,内核引起的延时,图18-17,蒂寐适虞妓嗡睫犹拳钞犁谈鳞柠贷噪伎湘尖橡滤砚赣百脾侦凳优佣栅憎帕UML第18章实时系统UML第18章实时系统,图18-17蒂寐适虞妓嗡睫犹拳钞犁谈鳞柠贷噪伎湘尖橡滤砚赣百,图18-18,琵怠赢跌礁竖裕濒趋咯矮蜀僚药舞照晕斗竣倘尧麦哮埋筏窿乃忌蓟葡互吨UML第18章实时系统UML第18章实时系统,图18-18琵怠赢跌礁竖裕濒趋咯矮蜀僚药舞照晕斗竣倘尧麦哮埋,18.2.10 使用实时内核的优缺点,实时内核的使用使得实时应用程序的设计和扩展变得容易;RTOS使得应用程序的设计过程大为简化;使用可剥夺性内核时,
31、所有时间要求苛刻的事件都得到了尽可能快捷、有效地处理;通过有效的服务,RTOS使得资源得到更好的利用。,将鄙谊淖更涪申承轧渝进彼跺垣炼殿仰胚婴着篷显咕嫌阀羌渡蛊池涵遗迭UML第18章实时系统UML第18章实时系统,18.2.10 使用实时内核的优缺点 实时内核的使用使得实,如果应用项目对额外的需求可以承受,应该考虑使用实时内核。这些额外的需求是:内核的价格,额外的ROM/RAM开销,2到4个百分点的CPU额外负荷。,雅跺谷润滋吠滴格漳耘署是石羌向女添甜郸奸菱贿硅嘿壳废络箭顽波牙抄UML第18章实时系统UML第18章实时系统,如果应用项目对额外的需求可以承受,应该考虑使用实时内核。这些,18.3
32、 实时系统与通用系统的区别,实时系统与其他普通的系统之间的最大的不同之处就是要满足处理与时间的关系。在实时计算中,系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间。,榨慰蚊挑伯怔毗饿渣悦衰它面雌椎摘劝统左癣探揽忻铃钱夫铃卖娟眩咕羽UML第18章实时系统UML第18章实时系统,18.3 实时系统与通用系统的区别 实时系统与其他普通的系,对于实时系统来说最重要的要求就是它必须有满足在一个事先定义好的时间限制中对外部或内部的事件进行响应和处理的能力。,革侥狐渣掉誓陕董黄叙拨梭田训错吓雷雏唉沦钩陀波骸肉宛磨习锻噬碘泳UML第18章实时系统UML第18章实时系统,对于实时系统来说最重要的要
33、求就是它必须有满足在一个事先定义好,实时操作系统还需要有效的中断处理能力来处理异步事件和高效的I/O能力来处理有严格时间限制的数据收发应用。,椿抓撼捶沾锐江熊穷瞧厨恿哮性浚乱既陵创腿俏约柳眩圣丫赐贡寇嚎空姻UML第18章实时系统UML第18章实时系统,实时操作系统还需要有效的中断处理能力来处理异步事件和高效的I,实时系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性。,通碰蹋哪潮匈必择酬永樊礼饭客杖埃绳怕励捷耐锅售奠唐冠艘唾枢淌丧肋UML第18章实时系统UML第18章实时系统,实时系统所遵循的最重要的设计原则是:采用各种算法和策略,始终,18.4 多种实时系统的比较
34、,本节对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux新墨西哥工学院的RTLinux和堪萨斯大学的KURTLinux。,峨郑苍卤路秀韵分醋卧非姜壶体隔巴敝悟涩伪咋妒蹋税茂溅惑苗馏维彦种UML第18章实时系统UML第18章实时系统,18.4 多种实时系统的比较 本节对四种实时操作系统(RT,18.4.1 基本特征概述,QNX是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循POSIX.1(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(实时扩展)。它最早开发
35、于1980年,到现在已相当成熟。,估世涂札炎痊辊糠褂功迄繁常篱拒嫉池改久怜沽逛郝迷醚泳闽敖段光援沙UML第18章实时系统UML第18章实时系统,18.4.1 基本特征概述QNX是一个分布式、嵌入式、可规,LynxOS是一个分布式、嵌入式、可扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。,号鞭恕因穿写烫枣捏火廷筒契隔靛供踏麦硷彝散概踌氢窍筏译路署畴淆兔UML第18章实时系统UML第18章实时系统,LynxOS是一个分布式、嵌入式、可扩展的实时操作系统,它遵,RTLinux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。,益
36、绵埃泪绊峰辛宠家驾拼棍谴竿桅宿伙帕槛嗽蚕挨清辆涂霉霜休闹畴轩整UML第18章实时系统UML第18章实时系统,RTLinux是一个嵌入式硬实时操作系统,它部分支持POS,KURTLinux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出“严格(firm)”实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的“严格的”实时系统。,涤咙戌屡谚僻凡今霄蜕侨妆棒焰阳同痞豫惶摹药丽喷戮苟磅感裤乒主凿汽UML第18章实时系统UML第18章实时系统,KURTLinux不是为嵌入式应用设计的,不同于硬(har,18.4.2 体系结构异同,QNX是一个
37、微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其他OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。,笔沫患蔷厘葡哀屎烈觅绎驭蚀芒淖钞乃萤箍柄摄孟蒸讼揉媚耕巢潘搂兄酗UML第18章实时系统UML第18章实时系统,18.4.2 体系结构异同 QNX是一个微内核实时操作系统,LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的“Galaxy”技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS3.0中引入。新的28Kb微内核提供以下服务:核心启动和
38、停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。,扇衷分鲍迷寨饺措宁里充哉锯齐尹胆赃已辕讥赡余谤勋洁旗尔亡萌废胺貉UML第18章实时系统UML第18章实时系统,LynxOS目前还不是一个微内核结构的操作系统,但它计划使用,RTLinux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时EXE(realtime excutive)体系结构。其可靠性和可维护性对电信服务系统来
39、说都不够理想。,莉横刨衣寺蜂懈湃沂虏懒赠喳跋朱逼茨函睡棋洗错危撤娱芍惜处志呜悄眶UML第18章实时系统UML第18章实时系统,RTLinux实现了一个小的实时核心,仅支持底层任务创建、,KURTLinux核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。,茧鞘茁外益坎躬遏雨瘸短去捍纺奎瞪卸谬凛盒柄胎索疡刁天纬恬对逢仿减UML第18章实时系统UML第18章实时系统,KURTLinux核心包括两个部分:内核和实时模块。内核负,18.4.3 调度策略分析,QNX提供POSIX.1b标准进程调度: (1)32个进程优先级。 (2)抢占式
40、的、基于优先级的正文切换。 (3)可选调度策略:FIFO、轮转策略、适应性策略。,躯尽炔露墨兜巫玖苛剐毫售能恤峦坚伸洛祁果廖惠毙簇凤里挫筛荤谬局违UML第18章实时系统UML第18章实时系统,18.4.3 调度策略分析 QNX提供POSIX.1b标准,LynxOS其调度策略为: (1)LynxOS支持线程概念,提供256个全局用户线程优先级。 (2)硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和FIFO调度策略。 (3)快速正文切换和阻塞时间短。 (4)抢占式的RTOS核心。,贤弃摧显春酬玻渠诺誊澄起洞领焦邱谭艺寨迷别宛恬饭断炉噎纸藻霄庚葛UML第18章实时系统UML第18章实时系
41、统,LynxOS其调度策略为:贤弃摧显春酬玻渠诺誊澄起洞领焦邱谭,RTLinux在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低。 (1)用户可自行编写调度程序,它们可实现为可加载的核心模块。 (2)已实现的调度程序有:基于优先级的抢占式调度和EDF调度。 (3)基于优先级的调度使用“单调率算法”,它直接支持周期任务。,说差叮材童嵌毋淳鞍深猩自涸纱局涧婶断厦钞哩楞奇糯忍婴脚备刮袍狂氨UML第18章实时系统UML第18章实时系统,RTLinux在操作系统之下实现了一个简单的实时核心,Li,KURTLinux可运行在两种状态之下:通常状态和实时状态。
42、 (1)支持FIFO调度策略、轮转调度策略和UNIX分时调度策略。 (2)增加了SCHED-KURT调度策略,这是一种静态调度策略,使用一个特殊的调度文件记录预先定义好的待调度进程的参数。,醒球袍霓承夸盎庇吧泅私头痒壕型巫撤婴掂数辗诛捉跟垄鳃憨醚厦败敬奄UML第18章实时系统UML第18章实时系统,KURTLinux可运行在两种状态之下:通常状态和实时状态,18.4.4 系统开放性对比,QNX的开放性: (1)QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、XWindow和TCP/IP都是UNIX程序员所熟悉的 (2)支持多种CPU (3)多种总线 (4)各种外设,皖呻傀靠乌兹
43、锦挂司异异件兔龟胜慑缆潮松扑杉忿处肤滴栅荆往妮玻挖舒UML第18章实时系统UML第18章实时系统,18.4.4 系统开放性对比QNX的开放性:皖呻傀靠乌兹锦,LynxOS的开放性 (1)POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX1003或用于UNIX的程序很容易移植到LynxOS上 (2)支持多种CPU主板 (3)各种外设适配器,追秉笑压纹分绒俞仿时池灸拳胜恳挞仁笋按钵舌机驯津蚊雅治膳舆距快曳UML第18章实时系统UML第18章实时系统,LynxOS的开放性追秉笑压纹分绒俞仿时池灸拳胜恳挞仁笋按钵,Linux的开放性: (1)用户可得到UNIX的全部开发工具。 (2
44、)可使用市场上便宜又常见的硬件。,税毡郑庶回湃既派徐虎丝箔屑至哑孙啸横汞渝梭疵值程跌易篷泼踌距部呆UML第18章实时系统UML第18章实时系统,Linux的开放性:税毡郑庶回湃既派徐虎丝箔屑至哑孙啸横汞渝,18.4.5 系统服务比较,QNX的系统服务包括: (1)多种资源管理器 (2)设备管理 (3)图形窗口支持,遭群娥高栽检糕纷感各弄贱敏侨系四蔚鹿软蓟坛数喷灯申略闯眷窟虾宏俞UML第18章实时系统UML第18章实时系统,18.4.5 系统服务比较QNX的系统服务包括:遭群娥高栽,(4)TCP/IP for QNX (5)高性能、容错型QNX网络FLEET (6)透明的分布式处理,淫病滚智根防
45、晾梨筒晓苇赫肄愈堡谤键促谁朵啸桨阿茎亥抹罪真氏底保颈UML第18章实时系统UML第18章实时系统,(4)TCP/IP for QNX淫病滚智根防晾梨筒晓苇,LynxOS的系统服务: (1)网络和通信 (2)TCP/IP协议栈 (3)Internet工具,愿八疙壁报枫汐起伙她镍质材粘自岁税圭镑咽镑蝉说照战疾脚数恢鲤语人UML第18章实时系统UML第18章实时系统,LynxOS的系统服务:愿八疙壁报枫汐起伙她镍质材粘自岁税圭,(4)SVR3流 (5)文件系统 (6)基于Motif的图形用户接口 (7)分布式计算资源,科臂异衙案渍应惋撩横合录墓率凝瓢假募肪坍馒法困炊兄姥区肤真促狡遥UML第18章实时
46、系统UML第18章实时系统,(4)SVR3流科臂异衙案渍应惋撩横合录墓率凝瓢假募肪坍,RTLinux与KURTLinux都基于Linux,故只介绍Linux。Linux的系统服务: (1)UNIX用户的开发工具和应用软件都被移植到Linux上。 (2)TCP/IP网络协议。 (3)各种Internet客户/服务端软件。 (4)X Window。 (5)C/C+、Java等语言编译器。,隧换扑尸诗咐寄由斗腮钎敲磊绞藩楔朝控项誓约淹甜浦裔联霄螺棍淫吹罩UML第18章实时系统UML第18章实时系统,RTLinux与KURTLinux都基于Linux,故只,18.5 实时系统与面向对象,当前的面向对象
47、分析与设计方法主要集中于系统中软件部分,对于实时系统市场来说是不可接收的,实时系统开发要求实用地完整地述整个系统而并非只是软件部分。这里简介一下ARTiSAN公司提供的基于UML的面向对象的建模方法,它专门针对实时系统,是实际可行的实时系统与软件分析、设计方法与工具。,籍喊谆世品被脯首标切殊槐替抉宙衡净蹲瞧普豹庞影莲夯涌扇再穴赂针款UML第18章实时系统UML第18章实时系统,18.5 实时系统与面向对象 当前的面向对象分析与设计方法,Realtime Studio ProfessionalAda Synchronizer for ARTiSAN Real-time Studio Altia FacePlate for Real-time Studio,掷征支宗福略剁挥还青漾缠菊托站雀豌朴挂冻桓篡致俩哮粥封祝箕破较挑UML第18章实时系统UML第18章实时系统,Realtime Studio Professional掷征,小结,本章简介了实时系统的相关概念,介绍了实时系统作为一种操作系统与其他操作系统的区别。并且介绍了几种常见的实时操作系统。,康兴疯婚磁控焉住摧獭均保淘垢昼译诺告毗预刹旗计否坝烩香潘峨洼磨新UML第18章实时系统UML第18章实时系统,小结本章简介了实时系统的相关概念,介绍了实时系统作为一种操作,
链接地址:https://www.31ppt.com/p-1289431.html