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

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

3天内不再提示

实时操作系统RTOS的介绍

星星科技指导员 来源:嵌入式计算设计 作者:Rajan Mistry 2022-06-30 10:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当今嵌入式系统中最重要的组件之一是“RTOS”或“实时操作系统”,它负责从调度任务到启用 C 和 Python 等高级语言的所有工作。

那么,是什么让 RTOS 打勾,嵌入式系统开发人员为什么要关心它呢?

RTOS 与 GPOS

要了解 RTOS,让我们退后一步,看看什么是“通用操作系统”(GPOS)。您可能已经熟悉 GPOS,因为它们存在于您每天使用的设备上,例如您的智能手机和工作 PC(例如,Android、Windows 等)。

通用操作系统中的“通用”意味着操作系统必须实现许多目标,例如提供良好的最终用户体验、支持不同类型的程序和硬件以及提供定制选项等功能。

GPOS 倾向于与每个内核一次运行一个执行线程的处理器协同工作。在这里,操作系统的调度程序决定运行哪个程序以及何时运行,并在每个程序之间快速切换。这会产生同时执行的错觉,并有望提供良好的整体用户体验。除此之外,GPOS 还可以提供额外的功能,例如复杂的图形用户界面、复杂的文件 I/O 系统等。

另一方面,RTOS 旨在提供可预测的执行模式,并在处理必须符合时限系统的时间约束时使用(即,处理以特定频率完成或整个系统将失败) )。因此,与 GPOS 相比,RTOS 通常重量轻且体积小,并且通常仅提供在特定硬件上运行某些类型的应用程序所需的功能。在某些情况下,开发人员可能会修改现有的 RTOS,将其缩减为仅具有特定应用程序所需的功能,和/或自定义其功能或性能特征。

RTOS 可分为:

软:RTOS 通常可以满足时间限制的期限;抢占时间通常在几毫秒内。

坚定:RTOS 有一定的时间限制,时间限制并不严格,可能会导致不希望的但可接受的效果。

Hard:RTOS 可以确定地满足时间期限。硬 RTOS 通常更适用于涉及任务关键型应用程序的用例,例如机器人无人机中的应用程序。硬 RTOS 的抢占时间通常少于几微秒。

与 GPOS 一样,RTOS 提供了您期望从操作系统获得的部分或全部基本功能,例如线程同步、跨界通信(例如,命名管道)、计时器、内存管理等。但是,RTOS 努力做到以符合底层系统和目标应用程序的时间受限要求的方式提供此功能。

会议截止日期

在允许 RTOS 满足这些时间限制的众多因素中,任务调度和中断值得特别提及。

使用 GPOS,调度以通常实现高吞吐量(即,每单位时间完成执行的进程总数)的方式进行处理。但是,这可能意味着高优先级进程的执行将被延迟,以完成多个低优先级任务。另一方面,RTOS 的价值是根据它的响应速度或可预测性来衡量的,而不是它在给定时间段内可以执行的工作量。

在 RTOS 中,调度通常是基于优先级的。大多数 RTOS 使用基于优先级的抢先式任务调度方法。在这里,高优先级进程将在低优先级进程之上执行。使用 GPOS,延迟会随着需要调度更多线程而累积。RTOS 没有这样的问题,因为所有进程和线程的延迟都是有时间限制的。RTOS 还为您提供了一种方法来确保共享系统资源免受并发访问。

RTOS 的内核是可抢占的,而 GPOS 内核不是可抢占的,这在首先服务高优先级进程和线程时很重要。如果没有可抢占内核,来自内核内部的请求(例如来自驱动程序或系统服务的请求)将覆盖所有其他进程和线程。使用 RTOS,只有非常重要的服务请求保留在内核调用中,所有其他服务请求都被视为外部进程和线程。基于内核的服务请求与 RTOS 的有限延迟相关联,以保持快速和可预测的响应。

RTOS 的今天

开发人员可以在他们的项目中使用多种 RTOS,包括商业(例如,VxWorks、Red Hat Linux 等)和开源产品(例如,FreeRTOS、RTEMS 等)。一些组织还拥有专门为其硬件产品开发的专有 RTOS。

一个这样的例子是 Qualcomm Technologies 的 QuRT™ RTOS,它用于Qualcomm® Snapdragon™ 8 系列移动平台上的Qualcomm® Hexagon™ DSP,并作为讨论 RTOS 的一个很好的例子,因为它丰富的功能集。

例如,QuRT 提供多线程、互斥体、信号量、定时器、中断处理、内存管理等,并允许程序和线程在单独的受保护地址空间中执行,以提高系统的安全性和稳定性。开发人员可以使用Hexagon DSP SDK编写设计用于在 C/C++ 和/或汇编中利用 QuRT 的用户程序并使用 QuRT API 访问 RTOS 服务。每个用户程序都可以访问全局堆,并包含一个主线程调用堆栈、数据和文本部分,以及分配额外堆和线程的能力。由于 QuRT 将用户软件线程映射到处理器的硬件线程上,因此程序员无需关注底层线程模型。QuRT 可以全局调度最高优先级的可运行软件线程,并始终将中断定向到最低优先级的硬件线程。

QuRT 还管理软件和硬件看门狗定时器,以检测和重置系统故障。

结论

RTOS 是确保嵌入式设备(例如用于物联网、机器人和移动设备)的可预测和及时执行的关键组件。因此,它的目标是为必须在特定时间范围内执行的时间受限的应用程序提供设施,同时最大限度地减少延迟,例如由中断和切换线程引起的延迟。

正如我们所见,有商业、开源和专有的 RTOS 可用于嵌入式系统。它们提供各种选项和功能,例如可定制性、跨平台或专业支持以及丰富的 SDK 支持。

审核编辑:郭婷

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

    关注

    5186

    文章

    20146

    浏览量

    328819
  • 物联网
    +关注

    关注

    2939

    文章

    47317

    浏览量

    407860
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122610
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机的操作系统

    单片机操作系统主要分为实时操作系统RTOS)和嵌入式操作系统两类,以下是常见选择: 实时
    发表于 11-14 06:18

    嵌入式实时操作系统的特点

    实时嵌入式操作系统(Real-Time Embedded Operating System)是专门设计用于嵌入式系统实时操作系统。嵌入式
    发表于 11-13 06:30

    如何选择合适的实时操作系统

    选择合适的实时操作系统RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 803次阅读

    鸿道Intewell实时操作系统有哪些应用场景

    鸿道Intewell工业操作系统作为一款国产实时操作系统RTOS),在工业领域因其高实时性、高可靠性和强定制化能力,被广泛应用于对
    的头像 发表于 06-26 10:15 502次阅读

    工业实时操作系统国产化关键战略冲刺期

    工业实时操作系统RTOS)堪称工业精密设备运行的中枢神经,其根本使命在于保障命令在绝对可控的时间约束内精确完成。无论半导体光刻机所需纳米级精准定位、精密电控系统百万分之一秒级的响应速
    的头像 发表于 06-24 14:11 353次阅读

    零延迟响应:安卓工控机如何用实时操作系统RTOS)赋能工业控制

    在工业4.0时代,工业控制系统实时性的要求已突破毫秒级门槛,传统操作系统因任务调度延迟、中断响应不确定性等问题,难以满足精密运动控制、闭环反馈调节等场景需求。安卓工控机通过集成RTOS
    的头像 发表于 06-09 15:49 836次阅读

    揭秘LuatOS:实时操作系统RTOS核心库的关键技术剖析!

    电机控制、传感器采集等实时数据处理场景。 在LuatOS开发中, 用于实时操作系统RTOS)相关功能的核心库 ——提供了定时器管理、系统
    的头像 发表于 05-21 16:02 513次阅读
    揭秘LuatOS:<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b><b class='flag-5'>RTOS</b>核心库的关键技术剖析!

    基于LuatOS核心库的实时操作系统开发:从理论到实践~

    ,降低了系统阻塞风险。 在LuatOS开发中,用于实时操作系统RTOS)相关功能的核心库——提供了定时器管理、系统控制、内存监控、路径配置
    的头像 发表于 05-16 13:56 406次阅读
    基于LuatOS核心库的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>开发:从理论到实践~

    什么样的才叫实时工业操作系统

    实时工业操作系统的核心是在严格时间约束下保证任务执行的确定性、可靠性和安全性,通常需通过专用架构、实时调度算法和工业级认证来满足严苛的工业环境需求。选择时需根据具体场景的实时性等级(硬
    的头像 发表于 04-17 10:09 562次阅读
    什么样的才叫<b class='flag-5'>实时</b>工业<b class='flag-5'>操作系统</b>

    为您的 Raspberry Pi 项目选择正确的实时操作系统RTOS

    选择合适的操作系统对于项目的成功至关重要。了解如何在RaspberryPi上使用RTOS,并看看你有哪些选择吧!从OS到RTOSRaspberryPi是由RaspberryPi基金会推出的一系列
    的头像 发表于 03-25 09:40 995次阅读
    为您的 Raspberry Pi 项目选择正确的<b class='flag-5'>实时</b><b class='flag-5'>操作系统</b>(<b class='flag-5'>RTOS</b>)

    实时操作系统RTOS选型指南及实例分析

    鸿道Intewell操作系统是由科东软件自主研发的新型工业操作系统,历经30多年研发积累,采用微内核架构和自主研发的Hypervisor虚拟化技术,保证系统实时性、高可靠性。鸿道In
    的头像 发表于 02-27 15:21 1022次阅读

    鸿道Intewell操作系统的Linux实时拓展方案

    鸿道Intewell操作系统是科东软件自主研发的新型工业实时操作系统,历经30多年研发积累,采用业界领先的微内核架构,具备高实时、高安全及强扩展的特性,是目前国内唯一通过汽车、工业控制
    的头像 发表于 02-27 10:08 617次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b>的Linux<b class='flag-5'>实时</b>拓展方案

    ARM嵌入式实时操作系统比较

    在嵌入式系统领域,实时操作系统RTOS)是确保任务按时完成的关键技术。ARM架构因其低功耗、高性能的特点,在嵌入式系统中得到了广泛应用。本
    的头像 发表于 12-28 09:15 2443次阅读

    鸿道Intewell操作系统的Windows实时拓展方案

    鸿道Intewell操作系统的Windows实时拓展方案,即鸿道Intewell-Win构型,是一款专为工业控制领域设计的国产操作系统,支持Windows实时扩展,具备以下特点和优势:
    的头像 发表于 12-24 17:40 835次阅读
    鸿道Intewell<b class='flag-5'>操作系统</b>的Windows<b class='flag-5'>实时</b>拓展方案

    deepin操作系统介绍

    希望从自己的能力和对桌面操作系统的理解,能给 Linux 的用户与开发者更多的选择。我们也相信 deepin 能够得到更多用户的认可与喜爱,成为开源世界的最佳选择。  一、 deepin 操作系统 先说 Linux 操作系统,它
    的头像 发表于 12-23 09:08 3223次阅读
    deepin<b class='flag-5'>操作系统</b><b class='flag-5'>介绍</b>