当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]通常情况下,任务的优先级是根据其重要性和紧急性来设定的。但是,在并发系统或多任务环境中,确实存在一种被称为“优先级反转”的现象。


在这篇文章中,小编将为大家带来嵌入式实时操作系统中的优先级反转问题的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。


一、什么是嵌入式操作系统实时操作系统

嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)。嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。

当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。

注:在工业控制、 军事设备、 航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。我们常常说的嵌入式操作系统都是嵌入式实时操作系统。比如μC/OS-II、eCOS和Linux、HOPEN OS。故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。

二、嵌入式实时操作系统中的优先级反转问题

通常情况下,任务的优先级是根据其重要性和紧急性来设定的。但是,在并发系统或多任务环境中,确实存在一种被称为“优先级反转”的现象。

什么时候会遇到这种现象?解决资源争用问题时。

死锁预防是实时系统设计中的一个重要因素。不幸的是,即使使用安全排除技术,这可能也不是困难的终点。在解决资源争用问题时,可能引入新的优先级翻转问题。

电电侠   能详细解释下优先级反转的原理吗?优先级翻转的基本原理可以通过一个简单的两任务(A 和 B)系统的行为来解释。

假设任务A 正在使用一个锁定的资源,此时调度程序决定进行任务交换,新任务B希望使用 A 持有的资源。在检查访问机制时,发现资源不可用,因此任务 B 挂起。互斥机制按计划执行。但是如果 B的优先级高于 A 呢? 结果仍然相同,B仍然被阻塞。结果是低优先级的任务 A 阻塞了高优先级的任务B;在 A 释放锁定资源之前,B不能执行。系统的行为表现得好像优先级颠倒了一样,即优先级翻转。然而,这种行为正是使用互斥时所期望的,没什么异常。

电电侠   (若有所思)在双任务系统中,性能下降可能不是一个大问题。   但是看下图的情况。

嵌入式实时操作系统中的优先级反转问题如何引起的

这是一个四任务系统,由任务 A、B、C和 D(按照优先级顺序)组成。系统还包括两个共享资源 W 和 X。请注意,为了简化对系统行为的解释,做了以下假设。

(1)上下文切换(重新调度)仅在滴答(tick)时间发生。

(2)任务可以随时挂起。

(3)任务可以随时就绪。

一个运行时场景

上图示例的一个运行时场景,如下图所示。在t0时刻,任务 D正在执行,其他任务处于挂起状态。在下一个滴答中断(t1时刻)发生之前,D锁定资源W。

注意:所有其他任务都已就绪。

在t1时刻,任务A抢占D,任务D重新进入就绪(等待运行)状态。不久之后,A 试图使用资源W 但发现它被锁定,因此任务A 挂起。t2时刻,任务 B被激活,运行至完成,然后挂起。在t3时刻,任务C运行至完成并挂起。然后在t4时刻,D 再次执行。只有当任务 D释放资源锁时,A 才能执行(t5时刻)。

嵌入式实时操作系统中的优先级反转问题如何引起的

在此设计中,任务A被赋予最高优先级,因为它是一项重要的任务。然而由于互斥机制锁,任务A只能被迫等待所有其他任务完成后才能执行。

电电侠   显然这种表现是不能接受的, 如何才能防止“连锁”优先级翻转情况的发生?   这个问题可以通过两种方式解决,都涉及临时提升任务优先级。

运行任务的优先级可以提高到通过优先继承技术获取的确定值。

为共享资源分配优先级,然后将正在运行的任务的优先级提高到资源优先级值,这种方式称为优先级天花板技术。

三、嵌入式实时操作系统实时性影响因素

1、缩短中断响应时间。

几乎所有的实时事件都是通过中断上报的,当中断来临时,必须停止当前的一切任务,响应中断,把中断分成两部分:上半部分与下半部分,或者快中断部分与慢中断部分。上半部分屏蔽其他中断,处理那些紧急任务,如清除某些寄存器,保存中断现场,给相应进程发送消息等, 其他不太紧急的部分放在下半部分,此时所有中断打开,不影响其他任务的完成。

2、缩短进程上下文切换时间。

当CPU在执行某个任务时,实时任务到来,需要马上执行实时任务,不能等到当前任务时间片用完才去执行实时任务,必须在中断来临之时马上能够切换过去,保存当前进程的上下文如寄存器,内存,文件,信号等上下文,恢复实时任务的上下文。保存恢复上下文越快越好,这就要求两个进程的上下文共享的资源越少越好,如每个任务的内存是独立的,甚至寄存器也是独立的,这样互不干扰,切换最快了。

3、缩短实时进程调度时间。

一般进程都是按照优先级调度的,实时进程的优先级当然要比非实时的高, 不同实时进程按紧急度不同优先级也不同,实时进程调度算法最好与非实时部分有所区别,算法复杂度最好是O(1)。

以上便是小编此次想要和大家共同分享的内容,如果你对本文内容感到满意,不妨持续关注我们网站哟。最后,十分感谢大家的阅读,have a nice day


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭