当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]RTOS的必备特性

随着信息家电的普及,智能化、网络化将会无所不在,所有这些都离不开嵌入式软件,而在嵌入式软件只中最核心的莫过于RTOS(Real Time Operating System,实时操作系统)。我们都非常熟悉Windows这样的操作系统,但却不一定熟悉嵌入式系统中常用的RTOS。如今,微软已经推出了Windows的嵌入式版本——Windows CE。而风靡一时的Linux也在嵌入式系统中扮演着重要角色。这样看来,传统桌面操作系统和嵌入式操作系统的界线似乎也在淡化。事实究竟如何呢?让我们来听听在嵌入式软件领域颇有造诣的专家是怎么说的。

    用于嵌入式环境的操作系统RTOS与桌面操作系统有很多本质的不同。这些不同的特性导致产品开发的不同结果。

    嵌入式环境给人的第一印象就是占用空间小。所以,普通的Linux或者Windows操作系统要变成嵌入式操作系统,首先就是要进行裁剪。然而,与桌面环境相比,嵌入式环境对于操作系统系统要求不仅仅是“小”,二者在设计要求上有着本质的不同。这些不同主要体现在可裁剪性、实时性和可靠性等三个方面。

    随机应变——可裁剪性

    从硬件环境来看,桌面操作系统具有标准化的CPU、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的CPU,没有标准化的存储、I/O和显示器架构。

    从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。

    从开发界面来看,桌面操作系统试图给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发人员提供一个“白箱”,让开发人员可以自主控制系统的所有资源。

    总之,桌面操作系统的研究开发指导思想是尽可能在不改变自身的前提下具有广泛的适应性。也就是说:不论应用环境怎么变化,最好都不要对自身内部产生什么影响,也不要求自身做太多的变化。反过来,应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。

    应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪性。所谓可裁剪性是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。

    可裁剪性带给用户的一个最直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部分操作系统功能,这就使得系统变得简单、易把握,从而提高系统的可靠性。

    精确到位——实时性

    许多人都把实时性理解为速度快。那么,速度快到什么程度才算是达到实时性呢?其实,所谓实时性,其核心含义在于确定性,而不是单纯的速度快。也就是说,RTOS所要求的是在规定的时间内做完应该做的事情,并且操作系统的行为(执行线索)是确定的,这是写出高可靠性程序的基础。如果完成同样的动作,有的时候快,有的时候慢,且执行线索千差万别,程序员无法把握,可靠性就无从保证。

    嵌入式系统为什么对实时性要求那么高呢?因为嵌入式系统主要是对仪器设备的动作进行监测控制的,而一般的桌面操作系统基本上是根据人在键盘和鼠标发出的命令进行工作。相对而言,仪器设备的动作具有严格的、机械的时序要求,而人的动作和反应在时序上并不那么严格。比如,用于控制火箭发动机的嵌入式系统,它所发出的指令不仅要速度快,而且多个发动机之间的时序要求非常严格,否则就会差之毫厘、谬之千里。在这样的应用环境中,非实时的普通操作系统无论如何是无法适应的。

    如果我们所开发的设备并不是像航空航天器那样生命攸关或者生产控制那样的关键任务系统,而是像消费电子类那样,即使出现错误也不会造成灾难性后果的设备,那么实时性(严格地讲是确定性)是否还具有现实意义呢?答案是肯定的!设备的高可靠性可以有效地降低维护成本;软件运行效率高也会降低对CPU的要求,从而降低硬件成本。对于消费电子产品这类价格十分敏感的产品,实时性、可靠性仍然是非常值得重视的问题。

    坚如磐石――可靠性

    桌面操作系统与RTOS相比,另一个差别就是对于稳定性、可靠性方面的设计思路。一方面,桌面操作系统比较庞大、复杂,而RTOS比较小巧、简捷,而“越简单、越可靠,越复杂、故障概率越大”这又是一个常理。另一方面,更重要的是:桌面操作环境与嵌入式环境在设计思路上有一个重大的不同——桌面环境假定应用软件与操作系统相比而言可以是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。

    运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。

    著名的“木桶原理”告诉我们,局部的不足会导致整体的缺陷。要保证系统的可靠性,必须保证系统中每一个部分都是可靠的,任何部分的不可靠都会导致系统整体的不可靠。大多数桌面系统都是上千万行代码的庞大而复杂的系统,即使有源代码程序员也难以把握。而且对开发人员来说,桌面系统庞杂的细节是隐蔽在一个个的固定的接口下的,是一个黑箱,很难把握具体执行的线索。即便其内核是足够可靠的,但它的应用环境复杂多样、千差万别,其中常常有一些应用并不是那么稳定可靠,从而破坏了整体系统的可靠性。相反,RTOS对软件开发人员来说是完全开放的,是一个白箱,允许开发人员非常清楚地了解和掌握操作系统内部情况,对存储器中的每一位和每一个I/O接口进行操作控制,从而可以设计出高效稳定的应用软件。

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

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 信息技术
关闭
关闭