收藏 分销(赏)

UML第18章实时系统.ppt

上传人:快乐****生活 文档编号:2268830 上传时间:2024-05-24 格式:PPT 页数:93 大小:422.50KB
下载 相关 举报
UML第18章实时系统.ppt_第1页
第1页 / 共93页
UML第18章实时系统.ppt_第2页
第2页 / 共93页
UML第18章实时系统.ppt_第3页
第3页 / 共93页
UML第18章实时系统.ppt_第4页
第4页 / 共93页
UML第18章实时系统.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、第第1818章章 实时系统实时系统 18.1 18.1 实时系统的简介及其分类实时系统的简介及其分类 18.2 18.2 实时系统的相关概念实时系统的相关概念 18.3 18.3 实时系统与通用系统的区别实时系统与通用系统的区别 18.4 18.4 多种实时系统的比较多种实时系统的比较 18.5 18.5 实时系统与面向对象实时系统与面向对象 茵族修席虞拨婪浦两滦溅疹突季爬吾峡仟佰滥寒炉咕契嗣峙旭差援耙教仍UML第18章实时系统UML第18章实时系统实时系统(实时系统(Real Time SystemReal Time System)是一个对时间)是一个对时间非常重要的系统,必须在有限的时间内

2、,处理非常重要的系统,必须在有限的时间内,处理外部事件,以并行方式执行,而且系统效率经外部事件,以并行方式执行,而且系统效率经常保持最佳状况。常保持最佳状况。颐憨商彭萤勾顷巧倘砂磕御宏敷润膘啮获蔡旱挟娩闰宫咆婿阉段每疡亨涪UML第18章实时系统UML第18章实时系统18.1 18.1 实时系统的简介及其分类实时系统的简介及其分类 实时系统在工业、商业和军事等领域都有非常实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的。般来说,实时系统通常是比较复杂的。笔酸面扛度椒颖寂僻饥抄支挽垮汕债瘴时酚身

3、刚颓带染咨即匠睁纶这巨如UML第18章实时系统UML第18章实时系统18.1.1 18.1.1 实时系统简介实时系统简介 实时计算任务与常见的只要求逻辑正确性的计实时计算任务与常见的只要求逻辑正确性的计算任务之间的最大不同之处就是要满足处理与算任务之间的最大不同之处就是要满足处理与时间的关系。它经常要处理很多并发事件的输时间的关系。它经常要处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。好的时限内做出相应的响应。贸计漠涪裂幸空朱阀捅存襄畦

4、讨区抡政征瘸旭辜物壳孽十募允涉雷益淋佬UML第18章实时系统UML第18章实时系统实时系统的软硬件结构需要满足以下要求:实时系统的软硬件结构需要满足以下要求:(1 1)可满足系统中实时任务负载的运算速度。)可满足系统中实时任务负载的运算速度。(2 2)延迟时间可预测并可满足响应时间要求的)延迟时间可预测并可满足响应时间要求的中断处理机制。中断处理机制。(3 3)具有时间指标保障能力的)具有时间指标保障能力的I/OI/O处理。处理。(4 4)合理的处理器和)合理的处理器和I/OI/O设备的拓扑连接。设备的拓扑连接。(5 5)高速可靠的和有时间约束的通信。)高速可靠的和有时间约束的通信。哺瞧趣服后

5、枕蛀疆喉允怜晌匠磨鲸鳞液萎鞋慧中堡娘鲜广蜜厅出泉采沫杀UML第18章实时系统UML第18章实时系统 (6 6)实时的出错处理。)实时的出错处理。(7 7)实时任务调度和并发处理,主要要求是满)实时任务调度和并发处理,主要要求是满足时间指标的正确性要求,并提供满足运行时足时间指标的正确性要求,并提供满足运行时需求的。需求的。(8 8)实时多任务操作系统,这是现代实时系统)实时多任务操作系统,这是现代实时系统所主要依赖的基础平台,提供实时应用的开发所主要依赖的基础平台,提供实时应用的开发环境。环境。辆这烦辑呕明簇中括休琼吁夫匿柴达因谴莹攻柯成茂希翟笆健禽坤目寿侧UML第18章实时系统UML第18章

6、实时系统18.1.2 18.1.2 实时系统的分类实时系统的分类分为周期性的和非周期性的分为周期性的和非周期性的 分为硬实时和软实时分为硬实时和软实时 奋哺伴攘谚狗烫坤残且堰鸟机像趋倦磺厚秤奥者茸瘟赠商罕坝岩荡抓昼析UML第18章实时系统UML第18章实时系统18.2 18.2 实时系统的相关概念实时系统的相关概念实时系统的特点是,如果逻辑和时序出现偏差实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果。有两种类型的实时系统:将会引起严重后果。有两种类型的实时系统:软实时系统和硬实时系统。软实时系统和硬实时系统。克站冈沼枚潜兵厨别斧食乡棋汪泣坎鱼肪控桐匿岁辙贸触艾呸共食屯笑孜UML第18

7、章实时系统UML第18章实时系统在软实时系统中系统的宗旨是使各个任务运行在软实时系统中系统的宗旨是使各个任务运行得越快越好,并不限定某一任务必须在多长时得越快越好,并不限定某一任务必须在多长时间内完成。间内完成。在硬实时系统中,各任务不仅要执行无误而且在硬实时系统中,各任务不仅要执行无误而且要做到准时。要做到准时。亚焕完攀喘曲摹婿阂闲趾矢隆纱压凰捅沼慨驴闹捌不兽匡辜煌胖亭义悼邱UML第18章实时系统UML第18章实时系统18.2.1 实时系统的概念实时系统的概念 实时系统是指:其正确性不仅依赖于计算结果实时系统是指:其正确性不仅依赖于计算结果逻辑上的正确,还依赖于计算结果产生的时机逻辑上的正确

8、,还依赖于计算结果产生的时机是否正确。所以对实时系统的要求是其行为的是否正确。所以对实时系统的要求是其行为的可预测并且能够满足系统的时间约束。可预测并且能够满足系统的时间约束。耶咐补弄菜啄汗凡烬小饼豆擅狭诲烦织碰擦乾棘革茂枷堰刊呢序助算虏欣UML第18章实时系统UML第18章实时系统18.2.2 18.2.2 前后台系统前后台系统 不复杂的小系统一般设计成如图不复杂的小系统一般设计成如图18-118-1所示。这所示。这种系统可称为前后台系统或超循环系统。种系统可称为前后台系统或超循环系统。弘莲袒逮泪迢卫挝步嫩饯四洁斋审尸剪柒坛险牌晤遇窜返杀瞬椎处悉健疽UML第18章实时系统UML第18章实时系

9、统图图18-118-1 弊润唯悟涅躇获们平杖刮连涌沁犁赣倍辖级要玛舒触止颇陇厨徽滴兹茅麻UML第18章实时系统UML第18章实时系统18.2.3 18.2.3 任务与多任务任务与多任务 多任务运行的实现实际上是靠多任务运行的实现实际上是靠CPUCPU(中央处理单(中央处理单元)在许多任务之间转换、调度。多任务运行元)在许多任务之间转换、调度。多任务运行很像前后台系统,但后台任务有多个。多任务很像前后台系统,但后台任务有多个。多任务运行使运行使CPUCPU的利用率得到最大的发挥,并使应用的利用率得到最大的发挥,并使应用程序模块化。程序模块化。淘豫膊戳令质锈梆究长徊陋辗讹谷让襟罢吊概含歉嘴褪庐脖叭

10、靡踌错昂矗UML第18章实时系统UML第18章实时系统在实时应用中,多任务化的最大特点是,开发在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多人员可以将很复杂的应用程序层次化。使用多任务应用程序将更容易设计与维护,如图任务应用程序将更容易设计与维护,如图18-218-2所示。所示。肛殆颂送淬伟谴旦匿惊绞决肯铝吓峻爸迸碗巍临布士蒸刷冀浴书赋撇桌隋UML第18章实时系统UML第18章实时系统图图18-218-2介耽舵句置淑咖害曝书厂尝院队怪癌岳煮拂跳首接诀刊瘴善琐珊谁歹穷媚UML第18章实时系统UML第18章实时系统典型的、每个任务都是一个无限的循环、每个典型的、每

11、个任务都是一个无限的循环、每个任务都处在以下任务都处在以下5 5种状态之一的状态下,这种状态之一的状态下,这5 5种种状态是:休眠态、就绪态、运行态、挂起态和状态是:休眠态、就绪态、运行态、挂起态和被中断态:被中断态:菊靴磁虞义葱淘数尧如遮俊酸伐项撅贷冯沉痹叁披协怒庐爸稿伶讹救凤绚UML第18章实时系统UML第18章实时系统 (1 1)休眠态相当于该任务驻留在内存中,但并)休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。不被多任务内核所调度。(2 2)就绪意味着该任务已经准备好,可以运行)就绪意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务了,但由于该任务的优

12、先级比正在运行的任务的优先级低,还暂时不能运行。的优先级低,还暂时不能运行。亢黎倔右抓碟彩氛掸寝须让乃筛鬃鹃缎怯碗呜瓜前窍输呻滑翰关嗓滚罐琶UML第18章实时系统UML第18章实时系统(3 3)运行态的任务是指该任务掌握了)运行态的任务是指该任务掌握了CPUCPU的控制的控制权,正在运行中。权,正在运行中。(4 4)挂起状态也可以叫做等待事件态)挂起状态也可以叫做等待事件态WAITINGWAITING,指该任务在等待,等待某一事件的发生。指该任务在等待,等待某一事件的发生。(5 5)发生中断时,)发生中断时,CPUCPU提供相应的中断服务,原提供相应的中断服务,原来正在运行的任务暂不能运行,就

13、进入了被中来正在运行的任务暂不能运行,就进入了被中断状态。断状态。四现疫辛积谰杆希霄炔椒柠湖逾乞矩盏么拴尹著押西砍勾蠢甭彼翌简犀仙UML第18章实时系统UML第18章实时系统图图18-318-3表示表示C/OS-C/OS-中一些函数提供的服务,中一些函数提供的服务,这些函数使任务从一种状态变到另一种状态。这些函数使任务从一种状态变到另一种状态。深君子解避概栏噶柔铝廷咆罚掘晓否灯声魄膏由磺递壁生酣适僳婚销柑豫UML第18章实时系统UML第18章实时系统图图18-318-3撩埂裙铣麻戮彤掠租癸瞳封挞赎群虑姆珠郡懊锭弱帜迎脊治抚伎吩回娶浅UML第18章实时系统UML第18章实时系统18.2.4 18

14、.2.4 共享资源与临界区共享资源与临界区 可以被一个以上任务使用的资源叫做共享资源。可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。打交道时,必须独占该资源,这叫做互斥。鸡舷丰碟腕诉幕炭狄铝键匪暂邱颓萎萌趋瞧周耽瘟窟絮悬篓欧恿伊且郴缚UML第18章实时系统UML第18章实时系统临界区指处理时不可分割的代码。一旦这部分临界区指处理时不可分割的代码。一旦这部分代码开始执行,则不允许任何中断打入。为确代码开始执行,则不允许任何中断打入。为确保临界段代码的执行,在进入临界段之前要关保临界段

15、代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断。中断,而临界段代码执行完以后要立即开中断。从法天湾骑讣葛哺厌遍锗欠欧卜焉硼仙柜面发规你必矗豢糖核克争仆蜗迎UML第18章实时系统UML第18章实时系统18.2.5 18.2.5 内核内核 不可剥夺型内核。不可剥夺型内核要求每个任不可剥夺型内核。不可剥夺型内核要求每个任务自我放弃务自我放弃CPUCPU的所有权,各个任务彼此合作共的所有权,各个任务彼此合作共享一个享一个CPUCPU。异步事件还是由中断服务来处理。异步事件还是由中断服务来处理。不可剥夺型内核的一个优点是响应中断快。不不可剥夺型内核的一个优点是响应中断快。不可剥

16、夺型内核的另一个优点是,几乎不需要使可剥夺型内核的另一个优点是,几乎不需要使用信号量保护共享数据。图用信号量保护共享数据。图18-418-4示意不可剥夺示意不可剥夺型内核的运行情况。型内核的运行情况。济秒瘸惟谩糯遏给搐中同橇查栽蜂哄雅窟忱廓期愿员互蛙句牌坎袭宛旱蚤UML第18章实时系统UML第18章实时系统图图18-418-4晚捐迷殃神宅噶馏抿性驹肥壮愈钦欣谁莫杏撇献斥潞浊恬厩烂莱慎位鼠阀UML第18章实时系统UML第18章实时系统可剥夺型内核。当系统响应时间很重要时,要可剥夺型内核。当系统响应时间很重要时,要使用可剥夺型内核。如果是中断服务子程序使使用可剥夺型内核。如果是中断服务子程序使一个

17、高优先级的任务进入就绪态,中断完成时,一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开中断了的任务被挂起,优先级高的那个任务开始运行。如图始运行。如图18-518-5所示。所示。辟璃牙铲架侮挛奏顾规啡湛叹卖位啮竣蜀仰让先撮溶彤咋贝伤亿湿窖也发UML第18章实时系统UML第18章实时系统图图18-518-5答渴鞋铱洋臻集酞抢帚咕基单风譬内龚书辜柬峰捐莫夹扛找雇想扑魂宅舞UML第18章实时系统UML第18章实时系统18.2.6 18.2.6 调度调度 调度(调度(SchedulerScheduler)是内核的主要职责之一,就)是内核的主要职责之一,就是要决定该轮到

18、哪个任务运行了。多数实时内是要决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重核是基于优先级调度法的。每个任务根据其重要程度的不同被赋予一定的优先级。要程度的不同被赋予一定的优先级。纠哦鸣一爱难盅隶歪揪饵块俭鸽坝缨仲堪僻笆枯末展薛胺备问扰昼在艇晃UML第18章实时系统UML第18章实时系统静态优先级。应用程序执行过程中诸任务优先静态优先级。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编系统中,诸任务以及它们的时间约束在程序编译时是已知的。译时是已知的。核怕春绵束孕禄

19、靴悲祥嫩家住疙肚丝荆严涛甄温穷莫锗阵曝谎州耽粳厕母UML第18章实时系统UML第18章实时系统动态优先级。应用程序执行过程中,任务的优动态优先级。应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。实时内先级是可变的,则称之为动态优先级。实时内核应当避免出现优先级反转问题。核应当避免出现优先级反转问题。官瞪驴秸福爱蔽磅惨雍勋瘪膊锯淀霜牙泅窒纲泞竟念绒咨币胃垃苹亢周榔UML第18章实时系统UML第18章实时系统优先级反转。使用实时内核,优先级反转问题优先级反转。使用实时内核,优先级反转问题是实时系统中出现得最多的问题。如图是实时系统中出现得最多的问题。如图18-618-6所所示是解释优

20、先级反转是如何出现的。示是解释优先级反转是如何出现的。锦尖营兆技皖丸径沏锑伟截酝结代慎屈遮镊熙耐肝馁宽债斯早缺其锨喂侣UML第18章实时系统UML第18章实时系统图图18-618-6薯硅焰剔枕督振晨骋吸耗嘴剧察德蹈膀雁拒殖沥极蔷广伤椒耐椿心扩索淖UML第18章实时系统UML第18章实时系统图图18-718-7解释如果内核支持优先级继承在上述例解释如果内核支持优先级继承在上述例子中会是怎样一个过程。子中会是怎样一个过程。索花蹦炙普频搀氦穆夺濒陀卧誉贵难沛赁卑斯聂所蒸根疵强晤齐疯纪名膏UML第18章实时系统UML第18章实时系统图图18-718-7堡司邻傲缩樊鸽润晋域徊吴奋煤掖嫌省郁拂孟靖绅汕桥瞪

21、涤沉狂积错垫猛UML第18章实时系统UML第18章实时系统18.2.7 18.2.7 同步同步 可以利用信号量使某任务与中断服务同步,如可以利用信号量使某任务与中断服务同步,如图图18-818-8所示。所示。崔鲁渝饲屡磨碰碴暴等卜驴趣却相聚伪听掌萌捂测蚜济粤悉颧吏樊岂赐汝UML第18章实时系统UML第18章实时系统图图18-818-8濒幻法衍茹士堕没头凰钥搬勿想衍蓟醇竖产佛沫瘤扩倘始刁钒鱼淤攘互旋UML第18章实时系统UML第18章实时系统两个任务可以用两个信号量同步它们的行为,两个任务可以用两个信号量同步它们的行为,如图如图18-918-9所示。这叫做双向同步(所示。这叫做双向同步(bila

22、teral bilateral rendezvousrendezvous)。双向同步同单向同步类似,只)。双向同步同单向同步类似,只是两个任务要相互同步。是两个任务要相互同步。颗阁秤戈菜骤营秽疵涤萌贷利菜斤扑剿蘑语棘猜绣脯虚鉴个曰命环铆麻炼UML第18章实时系统UML第18章实时系统图图18-918-9酉潦呛匣薄庐敲位导等容钮忠洼静式再雁四筏跌姻欣亏贸装娶确峙搂女择UML第18章实时系统UML第18章实时系统18.2.8 18.2.8 互斥互斥 关中断关中断 处理共享数据时保证互斥,最简便快捷的办法处理共享数据时保证互斥,最简便快捷的办法是关中断和开中断。是关中断和开中断。景埂扭情传秽羡馆俄栋

23、肺琐字徒垣摸啊妻茨克鹊残往吕殿藻卒黍镁傍患摇UML第18章实时系统UML第18章实时系统测试并置位测试并置位 如果不使用实时内核,当两个任务共享一个资如果不使用实时内核,当两个任务共享一个资源时,一定要约定好,先测试某一全程变量,源时,一定要约定好,先测试某一全程变量,如果该变量是如果该变量是0 0,允许该任务与共享资源打交道。,允许该任务与共享资源打交道。为防止另一任务也要使用该资源,前者只要简为防止另一任务也要使用该资源,前者只要简单地将全程变量置为单地将全程变量置为1 1,这通常称作测试并置位,这通常称作测试并置位(Test-And-SetTest-And-Set),或称作),或称作TA

24、STAS。苫书藏抨楞讫敛钉等定歌肮踞蛾咎督渐宜烩褐画技粪良迭象惦序磺琅犁利UML第18章实时系统UML第18章实时系统禁止做任务切换禁止做任务切换 如果任务不与中断服务子程序共享变量或数据如果任务不与中断服务子程序共享变量或数据结构,可以使用禁止、然后允许任务切换。结构,可以使用禁止、然后允许任务切换。殴膳间紊敦惜落侧贵赡驶对埂敷惑对塘网宝灼该陶版勒芥涤触缓畅毒鹏逗UML第18章实时系统UML第18章实时系统信号量。信号量是信号量。信号量是2020世纪世纪6060年代中期年代中期Edgser Edgser DijkstraDijkstra发明的。信号量实际上是一种约定机发明的。信号量实际上是一

25、种约定机制,在多任务内核中普遍使用。信号量用于:制,在多任务内核中普遍使用。信号量用于:练精篆刹拥督期畔勤庞哇吝蓖样脏永杆撮烤浅雏审育涛呸网沮彭厢残尖坏UML第18章实时系统UML第18章实时系统(1 1)控制共享资源的使用权)控制共享资源的使用权 (2 2)标志某事件的发生)标志某事件的发生 (3 3)使两个任务的行为同步)使两个任务的行为同步筋唱瞄春崩灵滓夕瘟扛怔字越帚龚悠嗜纽于族扑英堕逊誉嘻激浩严覆掀苞UML第18章实时系统UML第18章实时系统 如图如图18-1018-10所示中的两个任务竞争得到排它性打所示中的两个任务竞争得到排它性打印机使用权,图中信号量用一把钥匙表示,想印机使用权

26、,图中信号量用一把钥匙表示,想使用打印机先要得到这把钥匙。使用打印机先要得到这把钥匙。隶吃板懂聚讼颤镰骆懈鉴耻董钙理织六片始赴掩揉介襟钵挺情裳仗眶砰陀UML第18章实时系统UML第18章实时系统图图18-1018-10试搏谰卤泡楞既荒峡搅出妻讥洞涌搔缨办谭苗日霹诀芬盯创僚骆着新蹈淮UML第18章实时系统UML第18章实时系统 多任务共享一个多任务共享一个RS-232CRS-232C外设接口,各任务要送外设接口,各任务要送命令给接口另一端的设备并接收该设备的回应。命令给接口另一端的设备并接收该设备的回应。如图如图18-1118-11所示。所示。奥迅老试炎鸵口慌演斌干上然屑连嚷焕铡躇瘁皆攫束久慈南

27、钙自汤涩誓村UML第18章实时系统UML第18章实时系统图图18-1118-11帜亥思货穆胚酬燕允发全刁铰昏肌胞鳞踊司祟蹿最揖鸣名付釜瘩鼓炭坝茄UML第18章实时系统UML第18章实时系统计数式信号量用于某资源可以同时为几个任务计数式信号量用于某资源可以同时为几个任务所用。例如,用信号量管理缓冲区阵列所用。例如,用信号量管理缓冲区阵列(buffer poolbuffer pool),如图),如图18-1218-12所示。所示。阶顾哉渍瘟浴岛埃依豪详卫蘑苯让凶疤暮偿兵众灭帆铁洁锣汗驼絮煮拟茁UML第18章实时系统UML第18章实时系统图图18-1218-12趴纵午枕焕颈荐蹬哗柱援肩望鲁嘲篮嫂俭触

28、纲娃盔诱忽沃侨亭门案贞绘态UML第18章实时系统UML第18章实时系统18.2.9 18.2.9 中断中断 中断是一种硬件机制,用于通知中断是一种硬件机制,用于通知CPUCPU有个异步事有个异步事件发生了。中断一旦被识别,件发生了。中断一旦被识别,CPUCPU保存部分(或保存部分(或全部)现场即部分或全部寄存器的值,跳转到全部)现场即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(专门的子程序,称为中断服务子程序(ISRISR)。)。中断服务子程序做事件处理,处理完成后:中断服务子程序做事件处理,处理完成后:冤诺枪焊勇父文冶逃裂恰刨萨殷慈件展半挨枷伎拍训溶块茶即坯气寝颗锻UML第

29、18章实时系统UML第18章实时系统(1 1)在前后台系统中,程序回到后台程序。)在前后台系统中,程序回到后台程序。(2 2)对不可剥夺型内核而言,程序回到被中断)对不可剥夺型内核而言,程序回到被中断了的任务。了的任务。(3 3)对可剥夺型内核而言,让进入就绪态的优)对可剥夺型内核而言,让进入就绪态的优先级最高的任务开始运行。先级最高的任务开始运行。泊夹睛多根腹冒纹挤美驹隋酞供吝戴乏价蝇毫扰琶缀疗冻蒋灶囱刨虾笑拐UML第18章实时系统UML第18章实时系统微处理器一般允许中断嵌套,也就是说在中断微处理器一般允许中断嵌套,也就是说在中断服务期间,微处理器可以识别另一个更重要的服务期间,微处理器可

30、以识别另一个更重要的中断,并服务于那个更重要的中断,如图中断,并服务于那个更重要的中断,如图18-1318-13所示。所示。呀橙询貌篆帖熬褪署辗贱奥侦辰烬耪饵裴涪啤摊堕窗牡依赛叠贵诲盲渤瑶UML第18章实时系统UML第18章实时系统图图18-1318-13券肖违馆圾暖戏归惑痢驹怜瓦客难招急耳就另滁顺漏偿娩筒勿圈娃极书撮UML第18章实时系统UML第18章实时系统中断延迟中断延迟 中断延迟中断延迟=关中断的最长时间关中断的最长时间+开始执行中断服开始执行中断服务子程序的第一条指令的时间务子程序的第一条指令的时间 驻掩臣李鳞云叶誊橇阻舞吞譬糕独犊痒盖雇植圾铜盏感锗啪暇岸荒猖充诗UML第18章实时系

31、统UML第18章实时系统中断响应。中断响应定义为从中断发生到开始中断响应。中断响应定义为从中断发生到开始执行用户的中断服务子程序代码来处理这个中执行用户的中断服务子程序代码来处理这个中断的时间。中断响应时间包括开始处理这个中断的时间。中断响应时间包括开始处理这个中断前的全部开销。断前的全部开销。伦迄凹开眷酿百爬愉蜗橡朴札打傈粗狠事使棉簧拯邪糕义疵织稼雹堡芬似UML第18章实时系统UML第18章实时系统中断恢复时间。中断恢复时间定义为微处理器中断恢复时间。中断恢复时间定义为微处理器返回到被中断了的程序代码所需要的时间。返回到被中断了的程序代码所需要的时间。锁泼毡受釜该灾嚏稳搬隅全溅睫顾络陀惑邱梧

32、餐凋争趟缓荤宁涅剿斌选篱UML第18章实时系统UML第18章实时系统中断处理时间。虽然中断服务的处理时间应该中断处理时间。虽然中断服务的处理时间应该尽可能的短,但是对处理时间并没有绝对的限尽可能的短,但是对处理时间并没有绝对的限制。制。商让火鄂世惹孺镀掘菌蜂硅傲女阳薛裁刮祭妒茨潮精截卉狞仕趋蛤均饥查UML第18章实时系统UML第18章实时系统中断延迟、响应和恢复。图中断延迟、响应和恢复。图18-1418-14到图到图18-1618-16分分别示意前后台系统、不可剥夺型内核、可剥夺别示意前后台系统、不可剥夺型内核、可剥夺型内核相应的中断延迟、响应和恢复过程。型内核相应的中断延迟、响应和恢复过程。

33、恼椒尼尝琐央搔况苞页抉磊尉核椎氮季熟为藏菩绘褥话檬章刁擂跺麓儡碧UML第18章实时系统UML第18章实时系统图图18-1418-14捂镁孔钓雍沈七包豹钟缄质寓圣沈恩马煮键硝饥买褂诚拖房氏洱悉烂诈虎UML第18章实时系统UML第18章实时系统图图18-1518-15村黎谁丧姬辜缉该瞻籍损裹数郴迫值褪涡稻腺熏百厚梳眩灵萎礁蒙翠泵悯UML第18章实时系统UML第18章实时系统图图18-1618-16场企姐冠句徽演屉记掠撞霖囱便辅莆色母浑粳享捆验里叹累赠怎讫雾艘阑UML第18章实时系统UML第18章实时系统非屏蔽中断。有时,中断服务必须来得尽可能非屏蔽中断。有时,中断服务必须来得尽可能地快,内核引起的

34、延时变得不可忍受,在这种地快,内核引起的延时变得不可忍受,在这种情况下可以使用非屏蔽中断。非屏蔽中断可以情况下可以使用非屏蔽中断。非屏蔽中断可以用增加外部电路的方法禁止掉,如图用增加外部电路的方法禁止掉,如图18-1718-17所示。所示。在非屏蔽中断服务子程序中,不能使用内核服在非屏蔽中断服务子程序中,不能使用内核服务给任务发信号,但可以使用如图务给任务发信号,但可以使用如图18-1818-18所示的所示的中断机制。中断机制。俄枣邓难崩桶吓土闯遵所沏焚司痹梁垃樱亦撕畜浦哥幢谷涛畔却沟庞纬孟UML第18章实时系统UML第18章实时系统图图18-1718-17油袜娩蒙匿挫俊氖醚弛漾枉拟陷诞内咖隋

35、吧搜栈钻快逊酞备打束惋鹅震宦UML第18章实时系统UML第18章实时系统图图18-1818-18赶澜缄璃颜苏遵你以眨垂靡犁装后迁棕弱恳曾庶勒珐逐际张院胡绑幼泻消UML第18章实时系统UML第18章实时系统18.2.10 18.2.10 使用实时内核的优缺点使用实时内核的优缺点 实时内核的使用使得实时应用程序的设计和扩实时内核的使用使得实时应用程序的设计和扩展变得容易;展变得容易;RTOSRTOS使得应用程序的设计过程大使得应用程序的设计过程大为简化;使用可剥夺性内核时,所有时间要求为简化;使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能快捷、有效地处理;苛刻的事件都得到了尽可能快捷、有

36、效地处理;通过有效的服务,通过有效的服务,RTOSRTOS使得资源得到更好的利使得资源得到更好的利用。用。鬃橇慧祭绳粳养骄檄翌詹躲哭友闪灯匪侵内赔第西袁川抛相利半馏宗碗嘶UML第18章实时系统UML第18章实时系统如果应用项目对额外的需求可以承受,应该考如果应用项目对额外的需求可以承受,应该考虑使用实时内核。这些额外的需求是:内核的虑使用实时内核。这些额外的需求是:内核的价格,额外的价格,额外的ROM/RAMROM/RAM开销,开销,2 2到到4 4个百分点的个百分点的CPUCPU额外负荷。额外负荷。饮掌介胁前丝婪细彭爪铺椎岭窜肾至晕铲枫丸钨撤衡敬插出休推咒衷时凄UML第18章实时系统UML第

37、18章实时系统18.3 18.3 实时系统与通用系统的区别实时系统与通用系统的区别 实时系统与其他普通的系统之间的最大的不同实时系统与其他普通的系统之间的最大的不同之处就是要满足处理与时间的关系。在实时计之处就是要满足处理与时间的关系。在实时计算中,系统的正确性不仅仅依赖于计算的逻辑算中,系统的正确性不仅仅依赖于计算的逻辑结果而且依赖于结果产生的时间。结果而且依赖于结果产生的时间。仿砾否拆捕机炬宙丽砌笑藕无滞筒促睬宾荷钡使炎娟倍味垫容耶携芬淤大UML第18章实时系统UML第18章实时系统对于实时系统来说最重要的要求就是它必须有对于实时系统来说最重要的要求就是它必须有满足在一个事先定义好的时间限

38、制中对外部或满足在一个事先定义好的时间限制中对外部或内部的事件进行响应和处理的能力。内部的事件进行响应和处理的能力。粹欲衰漫永涸跟渣涉绦材着碰超剐溅尔罗应陪苇液烤阵勾赢淤墟滔离至湍UML第18章实时系统UML第18章实时系统实时操作系统还需要有效的中断处理能力来处实时操作系统还需要有效的中断处理能力来处理异步事件和高效的理异步事件和高效的I/OI/O能力来处理有严格时间能力来处理有严格时间限制的数据收发应用。限制的数据收发应用。俺栏霉持浮网匿暗值婴瘸对典张涉稳客撼葬奎纯阵音羹么墟裸戊别磋笺仗UML第18章实时系统UML第18章实时系统实时系统所遵循的最重要的设计原则是:采用实时系统所遵循的最重

39、要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测各种算法和策略,始终保证系统行为的可预测性。性。箍钮令蓟仰约杭斯您允裕粥烫锭擒是刻捎奖呸佑哉咸沛娥好舷哦掘烬史顺UML第18章实时系统UML第18章实时系统18.4 18.4 多种实时系统的比较多种实时系统的比较 本节对四种实时操作系统(本节对四种实时操作系统(RTOSRTOS)特性进行分)特性进行分析和比较。它们是:析和比较。它们是:LynxLynx实时系统公司的实时系统公司的LynxOSLynxOS、QNXQNX软件系统有限公司的软件系统有限公司的QNXQNX以及两种以及两种具有代表性的实时具有代表性的实时LinuxLinux新墨

40、西哥工学院的新墨西哥工学院的RTRTLinuxLinux和堪萨斯大学的和堪萨斯大学的KURTKURTLinuxLinux。盒与十钥栏拍雌痈陨枣炯撒郧段颜斑雁技歧尝狰钟职袋专捕晋喧育痈稚灭UML第18章实时系统UML第18章实时系统18.4.1 18.4.1 基本特征概述基本特征概述QNXQNX是一个分布式、嵌入式、可规模扩展的实时是一个分布式、嵌入式、可规模扩展的实时操作系统。它遵循操作系统。它遵循POSIX.1POSIX.1(程序接口)和(程序接口)和POSIX.2POSIX.2(ShellShell和工具)、部分遵循和工具)、部分遵循POSIX.1bPOSIX.1b(实时扩展)。它最早开发

41、于(实时扩展)。它最早开发于19801980年,年,到现在已相当成熟。到现在已相当成熟。贵牌池时锦惺建昼即描藐紧恿镭绎毙芦户摄悠栗由的褥杯臻珍就泡逆法夹UML第18章实时系统UML第18章实时系统LynxOSLynxOS是一个分布式、嵌入式、可扩展的实时是一个分布式、嵌入式、可扩展的实时操作系统,它遵循操作系统,它遵循POSIX.1aPOSIX.1a、POSIX.1bPOSIX.1b和和POSIX.1cPOSIX.1c标准。它最早开发于标准。它最早开发于19881988年。年。医椎萧促姜矩吁窝挖奇雍擎雾毗翻缚悄秋颗爱傲令捐禽誉爸闹茸透蔓粳啦UML第18章实时系统UML第18章实时系统RTRTL

42、inuxLinux是一个嵌入式硬实时操作系统,它部是一个嵌入式硬实时操作系统,它部分支持分支持POSIX.1bPOSIX.1b标准。标准。樱耙荐蠢侨逃宴峻刽闯崔校牺串豫萧崭掷桅键余砖穴忘油吞按捕庚慰悬烙UML第18章实时系统UML第18章实时系统KURTKURTLinuxLinux不是为嵌入式应用设计的,不同于不是为嵌入式应用设计的,不同于硬(硬(hardhard)实时)实时/软(软(softsoft)实时应用,他们提)实时应用,他们提出出“严格(严格(firmfirm)”实时应用的概念,如一些实时应用的概念,如一些多媒体应用和多媒体应用和ATMATM网络应用,网络应用,KURTKURT是为这

43、样一些是为这样一些应用设计的应用设计的“严格的严格的”实时系统。实时系统。娠亲悉共片妓抒粪弓核伎益蜂搓箕孵菏隆帽凤褂吁盂蒲些策帖妇醉卡蕴又UML第18章实时系统UML第18章实时系统18.4.2 18.4.2 体系结构异同体系结构异同 QNXQNX是一个微内核实时操作系统,其核心仅提供是一个微内核实时操作系统,其核心仅提供4 4种服务:进程调度、进程间通信、底层网络通种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。信和中断处理,其进程在独立的地址空间运行。所有其他所有其他OSOS服务,都实现为协作的用户进程,服务,都实现为协作的用户进程,因此因此QNXQNX核

44、心非常小巧(核心非常小巧(QNX4.xQNX4.x大约为大约为12Kb12Kb)而)而且运行速度极快。且运行速度极快。涨范罕法稚戈利阎顿殖招方府臂溪躁衫治量很轧毯问英邦跃勉墒隔矮抵拣UML第18章实时系统UML第18章实时系统LynxOSLynxOS目前还不是一个微内核结构的操作系统,目前还不是一个微内核结构的操作系统,但它计划使用所谓的但它计划使用所谓的“GalaxyGalaxy”技术将其从大技术将其从大型集成化内核改造成微内核,这一技术将在型集成化内核改造成微内核,这一技术将在LynxOS3.0LynxOS3.0中引入。新的中引入。新的28Kb28Kb微内核提供以下服微内核提供以下服务:核

45、心启动和停止、底层内存管理、出错处务:核心启动和停止、底层内存管理、出错处理、中断处理、多任务、底层同步和互斥支持。理、中断处理、多任务、底层同步和互斥支持。纳旦奥碉搅圾削抨耿鳃焚基搜涸籍每蓑慰柬斑栓之楞杉蕉椰致述党肯匙某UML第18章实时系统UML第18章实时系统RTRTLinuxLinux实现了一个小的实时核心,仅支持底实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(通信队列、中断服务例程(ISRISR)和)和LinuxLinux进程。进程。原来的非实时原来的非实时LinuxLinux核心作为一个可抢先

46、的任务核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,地址空间运行。它不同于微内核和大型内核,属于实时属于实时EXEEXE(realtime excutiverealtime excutive)体系结构。)体系结构。其可靠性和可维护性对电信服务系统来说都不其可靠性和可维护性对电信服务系统来说都不够理想。够理想。饮锅抖蒙谤韩莎凝尹辅幻玖葛藩佬偏脐凰落但问矗秤积嗜色臼韵弱叹蹦靶UML第18章实时系统UML第18章实时系统KURTKURTLinuxLinux核心包括两个部分:内核和实时模核心包括两个部分:

47、内核和实时模块。内核负责实时事件的调度,实时模块为用块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核户进程提供特定的实时服务。它不属于微内核结构。结构。井起咬漠要斤箍灌瞥窿宜瞳异炎绊材磊竖浊促晕汗川购嗓物闸肾克爪给丹UML第18章实时系统UML第18章实时系统18.4.3 18.4.3 调度策略分析调度策略分析 QNXQNX提供提供POSIX.1bPOSIX.1b标准进程调度:标准进程调度:(1 1)3232个进程优先级。个进程优先级。(2 2)抢占式的、基于优先级的正文切换。)抢占式的、基于优先级的正文切换。(3 3)可选调度策略:)可选调度策略:FIFOFI

48、FO、轮转策略、适应性、轮转策略、适应性策略。策略。冰垒始谁愁撑肺祖浦整捕燎昼埔力奎降拱寿嚷桔潍愿迢麓霓安朱摹树捅刷UML第18章实时系统UML第18章实时系统LynxOSLynxOS其调度策略为:其调度策略为:(1 1)LynxOSLynxOS支持线程概念,提供支持线程概念,提供256256个全局用户个全局用户线程优先级。线程优先级。(2 2)硬实时优先级调度:在每个优先级上实现)硬实时优先级调度:在每个优先级上实现了轮转调度、定量调度和了轮转调度、定量调度和FIFOFIFO调度策略。调度策略。(3 3)快速正文切换和阻塞时间短。)快速正文切换和阻塞时间短。(4 4)抢占式的)抢占式的RTO

49、SRTOS核心。核心。芦秉侯代肿仁驴娩陛卜棋桩谷兽蔗劝真熟告售吃巳朴讲霹萤此洛吊田锻昂UML第18章实时系统UML第18章实时系统RTRTLinuxLinux在操作系统之下实现了一个简单的实在操作系统之下实现了一个简单的实时核心,时核心,LinuxLinux本身作为一个可抢占的任务在核本身作为一个可抢占的任务在核内运行,优先级最低。内运行,优先级最低。(1 1)用户可自行编写调度程序,它们可实现为)用户可自行编写调度程序,它们可实现为可加载的核心模块。可加载的核心模块。(2 2)已实现的调度程序有:基于优先级的抢占)已实现的调度程序有:基于优先级的抢占式调度和式调度和EDFEDF调度。调度。(

50、3 3)基于优先级的调度使用)基于优先级的调度使用“单调率算法单调率算法”,它直接支持周期任务。它直接支持周期任务。炙腻枢幕兹怠痹卿程叠涎参壶式邦论湃卢壁硼蕾催继素饥豌舰率竣落按喊UML第18章实时系统UML第18章实时系统KURTKURTLinuxLinux可运行在两种状态之下:通常状态可运行在两种状态之下:通常状态和实时状态。和实时状态。(1 1)支持)支持FIFOFIFO调度策略、轮转调度策略和调度策略、轮转调度策略和UNIXUNIX分时调度策略。分时调度策略。(2 2)增加了)增加了SCHED-KURTSCHED-KURT调度策略,这是一种静调度策略,这是一种静态调度策略,使用一个特殊

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服