0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

所有实时操作系统都是等效的吗

要长高 来源:embedded 作者:Jacob Beningo 2023-09-29 05:04 次阅读

作者:Jacob Beningo

嵌入式系统行业的开发人员和经理中流传着一个谣言,即所有RTOS都是平等的。开发团队仅仅选择RTOS的情况并不少见,因为他们的微控制器供应商支持RTOS,而不是仔细检查RTOS提供的功能和特性。检查RTOS的特性、API、功能和陷阱经常被忽视,甚至有时会损害应用程序的需求。您可能从未意识到的挠痒痒问题:“所有实时操作系统都是等效的吗?

对等效的需求

基本上有三种方法可以了解如何构建嵌入式软件。首先,开发人员在没有RTOS或操作系统的情况下构建系统裸机。这些通常适用于没有很多功能或不关心重用、可移植性或可扩展性的小型嵌入式系统。接下来,一些团队有一个需要可伸缩性和可重用性的系统,但可能没有可移植性。这些团队将选择一个实时操作系统来使用,并围绕实时操作系统构建整个应用程序,使实时操作系统成为系统的基础。

构建系统的最后一种方法,也是驱动对等效的需求或愿望的方法,是复杂的现代系统,并提供广泛的功能。在许多情况下,应用程序需要扩展、可重用和可移植。在这些情况下,团队不能只选择一个RTOS并围绕它构建他们的应用程序。相反,他们需要一个RTOS抽象层,将其应用程序代码与RTOS分离,以选择提供应用程序所需服务和功能的任何RTOS或操作系统。图 1 显示了具有 RTOS 抽象层的分层软件架构示例。

wKgZomUFUviAHjTzAAELAZ0hlO0695.png

图 1 – 现代系统将嵌入式应用程序与 RTOS 分离,以提高重用、可移植性、可扩展性和测试。(图片来源:嵌入式软件设计[1])

RTOS抽象层消除了对任何RTOS或操作系统的依赖,从而实现了更好的单元测试和超目标运行应用程序仿真的能力!当然,出现的问题是,当团队创建RTOS抽象层时,他们拼命地试图建议所有RTOS都提供等效的功能,当通用化时,就变成了“所有RTOS都是等效的”。

实时操作系统等效现实

不幸的是,或者幸运的是,对于嵌入式软件架构师和团队来说,并非所有RTOS都是平等的。每个RTOS都可以提供一组标准功能,但即使这些功能也已实现并提供广泛的差异。例如,从当前可用的一百多个 RTOS 中选择三个并检查其 API 集。您会发现相似但差异很大的 API。

如果您花一些时间运行性能测量,您会发现每个RTOS都提供不同级别的实时性能和确定性。编译每个,您会发现不同的内存要求。如果您深入研究实时操作系统,您甚至可能会发现可能破坏实时操作系统的错误或条件!有些在管理安全性方面写得很好,而另一些则完全忽略了安全性是一个考虑因素。

当我第一次接触实时操作系统时,我讨厌它们。我的雇主当时提供给我的RTOS有缺陷,不一致,我花在与RTOS斗争上的时间比编写生产代码的时间还要多。事实证明,“RTOS”并不是我们所认为的实时操作系统!相反,它是一个编写不佳的协作调度程序,包括一些RTOS功能,如信号量和队列。

结论

归根结底,团队可能希望所有实时操作系统都是等效的,但事实仍然是每个实时操作系统都是独一无二的。每个都提供具有不同内存占用、响应时间、API、安全性和安全功能的操作系统。RTOS 抽象层可以帮助嵌入式应用与标准功能分离。不过,要充分利用 RTOS,可能需要直接调用 RTOS 或创建抽象扩展来管理应用程序依赖关系。因此,下次当您想只使用微控制器供应商提供的RTOS运行时,请花一些时间来评估和验证RTOS是否满足您的需求,因为每个RTOS都是不同的,尽管它们看起来可能是等效的。

编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3436

    浏览量

    128229
  • 操作系统
    +关注

    关注

    37

    文章

    6290

    浏览量

    121901
  • API
    API
    +关注

    关注

    2

    文章

    1384

    浏览量

    60998
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118800
收藏 人收藏

    评论

    相关推荐

    实时操作系统和分时操作系统的区别

    操作系统能否满足实时性要求来区分,可把操作系统分成分时操作系统实时操作系统,分时操作系统按照
    发表于 11-14 17:39 1.2w次阅读

    实时操作系统FreeRTOS移植教程

    Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/O
    的头像 发表于 06-08 09:23 7206次阅读
    <b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>FreeRTOS移植教程

    详解实时操作系统和非实时操作系统

    实时操作系统,当外界事件和数据产生时,系统能以足够快的速度予以处理,其处理结果能在规定的时间内控制生产结果或对系统做出响应,并控制所有
    的头像 发表于 12-26 09:54 1915次阅读
    详解<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>和非<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>

    #硬声创作季 操作系统操作系统的发展:实时操作系统

    操作系统实时操作系统
    Mr_haohao
    发布于 :2022年10月16日 12:55:03

    NuttX实时操作系统

    (嵌入式 实时操作系统 rtos nuttx 7.1)NuttX 介绍转载请注明出处: NuttX 实时操作系统NuttX 是一个实时
    发表于 08-06 07:53

    uCOS-II实时操作系统实时操作系统与分时操作系统的区别是什么

    文章目录1简介1uCOS-II中的任务1简介uCOS-II实时操作系统实时操作系统与分时操作系统的区别:分时
    发表于 12-14 06:42

    BenOS实时操作系统解密

    BenOS实时操作系统解密BenOS实时操作系统解密BenOS实时操作系统解密BenOS
    发表于 01-12 10:54 5次下载

    实时操作系统特性的讨论

    嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是
    的头像 发表于 09-30 09:31 4811次阅读

    实时操作系统的特点_实时操作系统的组成

    本文主要阐述了实时操作系统的特点及组成。实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理
    发表于 09-01 16:48 4481次阅读

    实时操作系统和非实时操作系统的区别

    本文主要阐述了实时操作系统和非实时操作系统的区别。
    发表于 09-02 15:58 9864次阅读

    什么是分时操作系统,Linux属于实时操作系统吗?

    我们平时分享的µC/OS、FreeRTOS、RT-Thread、ThreadX这些都是实时操作系统(RTOS),那么有读者问:什么是分时操作系统,Linux属于
    的头像 发表于 06-23 17:04 8460次阅读

    哪些因素会影响到嵌入式操作系统实时

    实时性能,能对外部时间做出准确,实时的响应.Linux操作系统的源代码开放,内核模块化设计及内核的高度可裁减性使其在嵌入式实时操作系统研究
    发表于 07-14 15:16 932次阅读

    实时操作系统

    或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。
    的头像 发表于 11-17 20:42 1010次阅读

    Linux是实时系统还是分时操作系统?

    我们平时分享的µC/OS、FreeRTOS、RT-Thread、ThreadX这些都是实时操作系统(RTOS),那么有读者问:什么是分时操作系统,Linux属于
    的头像 发表于 12-28 11:39 1180次阅读

    到底啥是实时操作系统呢?它到底实时实时呢?

    在于,它不仅会控制硬件,而且还可以提供必要的保障,确保所有任务可以按时完成。 实时操作系统可根据其实时条件分为硬实时
    的头像 发表于 10-29 16:33 732次阅读