实时操作系统(RTOS):组件、类型、示例

什么是实时操作系统 (RTOS)?

实时操作系统 (RTOS) 是一种用于实时应用程序的操作系统,它处理传入的数据,通常没有缓冲区延迟。RTOS 的完整形式是实时操作系统。

在 RTOS 中,处理时间要求以十分之一秒为增量来计算。它是一个有时间限制的系统,可以定义为具有固定的时间约束。在这种系统中,处理必须在规定的约束内完成。否则,系统将失败。

为什么使用 RTOS?

以下是使用 RTOS 的重要原因

  • 它提供基于优先级的调度,允许您将分析处理与非关键处理分开。
  • 实时操作系统提供 API 函数,可以实现更简洁、更小的应用程序代码。
  • 抽象化时间依赖性和基于任务的设计可以减少模块之间的相互依赖性。
  • RTOS 提供模块化的基于任务的开发,允许模块化的基于任务的测试。
  • 基于任务的 API 鼓励模块化开发,因为任务通常具有明确定义的角色。它允许设计人员/团队独立地处理项目的部分内容。
  • RTOS 是事件驱动的,不会在未发生的事件上浪费处理时间。

RTOS 的组成部分

Components of RTOS
实时操作系统的组成部分

以下是 RTOS 的重要组成部分

调度器 (The Scheduler):RTOS 的这个组件决定了任务的执行顺序,通常基于优先级。

对称多处理 (Symmetric Multiprocessing, SMP):RTOS 可以处理许多不同的任务,从而实现并行处理。

函数库 (Function Library):这是 RTOS 的一个重要元素,作为内核和应用程序代码之间的接口。此应用程序允许您通过函数库向内核发送请求,从而使应用程序能够产生所需的结果。

内存管理 (Memory Management):系统需要此元素来为每个程序分配内存,这是 RTOS 最重要的元素。

快速调度延迟 (Fast dispatch latency):这是任务由 OS 识别的终止时间与就绪队列中已开始处理的线程的实际时间之间的间隔。

用户自定义数据对象和类 (User-defined data objects and classes):RTOS 系统使用 C 或 C++ 等编程语言,应根据其操作进行组织。

RTOS 的类型

RTOS 系统有三种类型

硬实时

在硬实时 RTOS 中,截止日期被非常严格地处理,这意味着给定任务必须在指定的调度时间内开始执行,并且必须在分配的时间内完成。

示例:医疗重症监护系统、飞机系统等。

软实时

这类 RTOS 也需要遵守截止日期。然而,错过截止日期可能不会产生重大影响,但可能导致不良后果,例如产品质量大幅下降。

示例:各种多媒体应用程序。

实时

实时 RTOS 接受操作系统的一些延迟。在这种 RTOS 中,为特定作业分配了截止日期,但短时间的延迟是可以接受的。因此,这种 RTOS 对截止日期采取宽松的处理方式。

示例:在线交易系统和牲畜价格报价系统。

RTOS 中使用的术语

以下是 RTOS 中使用的基本术语

  • 任务 (Task) – 一组相关的任务,它们共同提供某些系统功能。
  • 作业 (Job) – 作业是一小块工作,可以分配给处理器,并且可能需要也可能不需要资源。
  • 作业的发布时间 (Release time of a job) – 作业就绪可执行的时间。
  • 作业的执行时间 (Execution time of a job):作业完成执行所需的时间。
  • 作业的截止日期 (Deadline of a job):作业应完成执行的时间。
  • 处理器 (Processors):也称为活动资源。它们对于作业的执行很重要。
  • 最大 相对截止日期 (Maximum relative deadline):作业允许的响应时间称为其相对截止日期。
  • 作业的响应时间 (Response time of a job):从作业发布到完成的瞬间的时间长度。
  • 绝对截止日期 (Absolute deadline):这是相对截止日期,也包括其发布时间。

RTOS 的特性

以下是 RTOS 的重要特性

  • 占用内存非常少
  • 消耗的资源更少
  • 响应时间高度可预测
  • 不可预测的环境
  • 内核保存被中断任务的状态,然后确定接下来应运行哪个任务。
  • 内核恢复任务的状态并将 CPU 控制权移交给该任务。

选择 RTOS 的因素

以下是选择 RTOS 时需要考虑的基本因素

  • 性能 (Performance):性能是选择 RTOS 时最重要的考虑因素。
  • 中间件 (Middleware):如果实时操作系统中没有中间件支持,则会出现耗时的进程集成问题。
  • 无错误 (Error-free):RTOS 系统是无错误的。因此,在执行任务时不会出现错误。
  • 嵌入式系统使用 (Embedded system usage):RTOS 的程序体积小。因此,我们广泛将 RTOS 用于嵌入式系统。
  • 最大化利用率 (Maximum Consumption):通过 RTOS 可以实现最大化利用率。
  • 任务切换 (Task shifting):任务的切换时间非常短。
  • 独特功能 (Unique features):一个好的 RTS 应该有能力,并且具有一些额外的功能,例如它如何执行命令、高效保护系统内存等。
  • 24/7 性能 (24/7 performance):RTOS 非常适合那些需要 24/7 运行的应用程序。

GPOS 和 RTOS 之间的区别

以下是 GPOS 和 RTOS 之间的重要区别

通用操作系统 (GPOS) 实时操作系统 (RTOS)
它用于台式电脑和笔记本电脑。 它仅适用于嵌入式应用程序。
基于进程的调度。 使用基于时间的调度,例如轮转调度。
中断延迟不像 RTOS 中那样被视为重要。 中断延迟很小,测量单位是微秒。
系统中不存在优先级反转机制。 存在优先级反转机制。因此,系统无法修改它。
内核操作可能被抢占,也可能不被抢占。 内核操作可以被抢占。
优先级反转未被发现 无可预测性保证

实时操作系统的应用

实时系统用于

  • 航空公司预订系统。
  • 空中交通管制系统。
  • 提供即时更新的系统。
  • 用于提供股票价格最新和分钟信息的任何系统中。
  • 国防应用系统,如 RADAR。
  • 网络多媒体系统
  • 指挥控制系统
  • 网络电话
  • 防抱死制动系统
  • 心脏起搏器

RTOS 的缺点

以下是使用 RTOS 系统的缺点/弊端

  • RTOS 系统可以同时运行最小的任务,并且它只关注那些包含错误并可以避免它们的应用程序。
  • RTOS 是一个专注于少数任务的系统。因此,这些系统进行多任务处理非常困难。
  • RTOS 需要特定的驱动程序,以便它能够为中断信号提供快速响应时间,这有助于保持其速度。
  • RTOS 使用大量资源,这使得该系统昂贵。
  • 低优先级的任务需要等待很长时间,因为 RTOS 会保持正在执行的程序的准确性。
  • 实时操作系统中任务切换的次数最少。
  • 它使用难以理解的复杂算法。
  • RTOS 使用大量资源,有时不适合系统。

摘要

  • RTOS 是一种用于实时应用程序的操作系统,它处理传入的数据,通常没有缓冲区延迟。
  • 它提供基于优先级的调度,允许您将分析处理与非关键处理分开。
  • RTOS 系统的重要组成部分是:1) 调度器,2) 对称多处理,3) 函数库,4) 内存管理,5) 快速调度延迟,以及 6) 用户自定义数据对象和类。
  • RTOS 的三种类型是 1) 硬实时 2) 软实时,以及 3) 软实时。
  • RTOS 系统占用内存非常少,消耗的资源也更少。
  • 性能是选择 RTOS 时最重要的考虑因素。
  • 通用操作系统 (GPOS) 用于台式电脑和笔记本电脑,而实时操作系统 (RTOS) 仅适用于嵌入式应用程序。
  • 实时系统用于航空公司预订系统、空中交通管制系统等。
  • RTOS 的最大缺点是系统只专注于少数任务。

是记录在次级或非易失性存储器(如磁盘、光盘和磁带)上的相关信息的集合。它是一种数据收集方法,用作程序输入和输出的媒介。

总的来说,文件是位、字节或记录的序列,其含义由文件创建者和用户定义。每个文件都有一个逻辑位置,用于存储和检索。