zoukankan      html  css  js  c++  java
  • 到底该不该用RTOS——rtos的优点

    我现在要不要学习RTOS? 学习RTOS有什么好处? 我的项目要不要跑RTOS?

    ······等等一些关于RTOS的问题,其实归根结底还是你对RTOS了解的不够,项目开发的经验还不足等。

    针对这部分朋友,今天分享几点相关内容:
    嵌入式系统中,有很多方式实现任务调度。功能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用实时操作系统。

     


    下面给大家分享使用RTOS的8个理由:

    1.硬实时响应

    基于优先级抢占的RTOS,根据任务的实时需求,执行优先调度。有严格时序限制的任务可以优先执行,提高应用程序对时间关键事件的响应。

     

    2.系统性能最大化

    针对大型的、复杂的嵌入式应用,使用一个事件驱动的RTOS,来替代基于轮询的超循环结构,可以生成一个更有效的设计,更小的存储占用,应用可以获得更多的处理器时间。

     

    3.降低复杂度

    RTOS允许应用划分为一个个小的自主运行的任务。任务执行自己的上下文中,不依赖其它任务或调度器。

     

    4.高峰负载管理

    RTOS提供了为管理系统高峰活动提供了一个有效的方法。更高的优先级分配给执行峰值负载活动的任务,确保他们在临界时间内访问处理器,在此期间,较低优先级的任务被延迟。

     

    5.紧密集成的中间件

    RTOS的模块化设计使得它可以很容易的增加中间件。中间件组件以任务和驱动的方式增加。他们使用RTOS提供的资源与其它任务通信。基于相应的事件被RTOS调度。

     

    6.更大的开发团队

    每个任务可以被认为是一个项目。通过RTOS提供的资源(队列、信号量等)来定义输入输出。将系统定义为一个个的任务,可以更容易的部署更多开发人员到一个项目。

     

    7.易于调试和验证

    系统划分为功能明确的任务,不依赖其它任务。在整个系统集成之前,可以很容易的调试和验证每个任务。

     

    8.代码重用

    RTOS系统中的模块化设计,鼓励将软件功能创建为独立的、验证过的任务。其独立性使得在其它设计中重用这些模块变得很简单。


    当然,以上理由针对的大众需求,如你项目有特殊需求另当别论。

    ================================================================================================

    之前,我就是收到一个项目中,就不要我使用rtos,但是发现其实这个是可以使用rtos来完成的。
    其实有的项目可以用两种方式分别实现,但是rtos有任务切换,可能会带来不确定因素,但是我个人认为,rtos只要会用,一般是没有问题的,因为主流的rtos基本上已经比较稳定的。
    裸机系统将是不用考虑任务切换,全局变量随便用,不存在可重入等问题,一个while大循环+定时器就基本解决了。但是函数之间耦合强,阅读性就不那么强。

  • 相关阅读:
    matlab 函数库
    阿甘的珠宝 大数据博弈综合应用 SG函数 + 最后取为输或赢
    hdu 1536 博弈 SG函数(dfs)
    hdu 1907 John / 2509 Be the Winner 博弈 最后取完者为输
    深入理解 Nim 博弈
    SG函数模板 hdu 1848/1847/1849/1850/1851
    初始博弈 hdu 1846 Brave Game
    乘数密码 扩展欧几里得求逆元
    68.最大k乘积问题 (15分)
    第一次作业
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12048520.html
Copyright © 2011-2022 走看看