实时操作系统(RTOS)在移动设备中的作用

什么是“实时操作系统”或“RTOS”?嵌入式系统和移动开发者为什么要关注它?

RTOS和GPOS

要了解RTOS的重要性,我们首先了解一下什么是“通用操作系统”(GPOS)。你可能已经熟悉GPOS了,通用操作系统就是我们每天使用的设备上的操作系统,比如智能手机和PC(如,Android、Windows等)。

通用操作系统中的“通用”意味着OS必须实现多种目标,比如提供良好的用户体验、兼容不同的硬件运行不同类型的程序以及提供定制选项等。

GPOS往往要和硬件协同工作,每个处理器核心一次运行单个执行线程。操作系统的调度程序决定运行哪个程序以及何时在程序之间快速切换,给用户同时执行程序的错觉,以提供良好的整体用户体验。

而实时操作系统旨在提供可预测的执行模式,确保进程遵守时间受限系统的时间约束(即,进程在特定频率执行,否则系统整体失败)。因此,与GPOS相比,RTOS通常重量轻且体积小,并且通常仅具备在特定硬件上运行某类应用的功能。

RTOS可分为:

? 软式RTOS:通常可以满足时间限制;抢占期往往只需几毫秒。

? 准实时RTOS:具有一定的时间限制,但并不严格,可能会导致不希望但可接受的影响。

? 硬式RTOS:确定满足时间限制。任务关键型应用一般会选用硬式RTOS,比如机器人和无人机中的实时系统。硬式RTOS的抢占期一般在几微秒之内。

与GPOS一样,RTOS提供操作系统部分或全部基本功能,如线程同步、进程间通信(如,有名管道)、定时器、内存管理等。但是,RTOS在提供此功能时,需符合底层系统和目标应用程序的时间约束要求。

满足时限要求

有很多因素允许RTOS满足时间限制,不过,任务调度和中断特别值得一提。

对于GPOS来说,处理调度往往伴随着高吞吐量(即,每单位时间完成执行的进程总数)。但是,这可能意味着延迟执行高优先级进程,以处理多个低优先级任务。另一方面,RTOS的价值在于系统响应的速度或可预测性,而不是给定时间内执行的工作量。

在RTOS中,通常基于优先级调度。大多数RTOS使用基于优先级的抢占式任务调度方法,高优先级进程执行完才处理低优先级进程。使用GPOS时,延迟可能会累积,因为需要调度更多线程。而RTOS不存在这样的问题,因为所有进程和线程的延迟都是有时间限制的。此外,RTOS还提供了一种确保共享系统资源免受并发访问的方法。

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

QuRT? 软件

Qualcomm Technologies处理器,比如Qualcomm®骁龙™ 8系列移动平台中的Qualcomm® Hexagon™ DSP,自带嵌入式RTOS:QuRT1。

QuRT有多种特性,比如多线程、互斥、信号量、定时器、中断处理、内存管理等,可以在单独的受保护地址空间中执行程序和线程,提高系统安全性和稳定性。开发者可以编写C/C++用户程序,利用QuRT,和/或使用Hexagon DSP SDK编写程序集,利用QuRT API访问RTOS服务。用户程序可以访问全局堆,并包含主线程调用堆栈、数据和文本段,拥有分配其他堆和线程的能力。

正如QDN Hexagon DSP SDK页面所述,因为QuRT可将用户软件线程映射到处理器的硬件线程,程序员不需要关注底层线程模型。而且,QuRT可以全局调度最高优先级的可运行软件线程,并将中断定向到优先级最低的硬件线程。

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

结论

RTOS是确保嵌入式设备实现可预测和及时执行的关键部分,比如物联网、机器人和移动设备中使用的嵌入式设备。因此,其目标是为时间受限的应用程序提供必须在特定时间范围内执行的协助服务,同时最小程度地降低延迟,如由中断和切换线程引起的延迟。

QuRT RTOS为开发者提供了实现这些目标的平台,而像Hexagon DSP SDK这样的SDK拥有丰富的API,有助于开发者利用RTOS的功能。

现在我们大概解释了什么是RTOS,很想听听您是如何在开发过程中利用RTOS的。如果您手头正在开发一个有趣的项目,不妨将它提交到我们的项目页面。

1QuRT can also be found on other Qualcomm Technologies chipsets such as QCA4020.

1Qualcomm Technologies其他芯片组,如QCA4020,也配备了QuRT。


 更多Qualcomm开发内容请详见:Qualcomm开发社区 。

猜你喜欢

转载自blog.csdn.net/chanimei_11/article/details/124679281
今日推荐