STM32嵌入式系统设计与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.2 嵌入式操作系统的分类

按照嵌入式操作系统对任务响应的实时性来分类,嵌入式操作系统可以分为嵌入式非实时操作系统和嵌入式实时操作系统(RTOS),这两类操作系统的主要区别在于任务调度处理方式不同。

1.嵌入式非实时操作系统

嵌入式非实时操作系统主要面向消费类产品应用领域。大部分嵌入式非实时操作系统都支持多用户和多进程,负责管理众多的进程并为它们分配系统资源,属于不可抢占式操作系统。嵌入式非实时操作系统尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务,注重平均表现性能,不关心个体表现性能。例如,对于整个系统来说,嵌入式非实时操作系统注重所有任务的平均响应时间,而不关心单个任务的响应时间;对于某个单个任务来说,嵌入式非实时操作系统注重每次执行的平均响应时间,而不关心某次特定执行的响应时间。典型的非实时操作系统有Linux、iOS等。

2.嵌入式实时操作系统

嵌入式实时操作系统主要面向控制、通信等领域,除了要满足应用的功能需求,还要满足应用提出的实时性要求,属于抢占式操作系统。嵌入式实时操作系统能及时响应外部事件的请求,并以足够快的速度予以处理,其处理结果能在规定的时间内控制、监控生产过程或对处理系统做出快速响应,并控制所有任务协调、一致地运行。因此,嵌入式实时操作系统采用各种算法和策略,始终保证系统行为的可预测性。这要求在系统运行的任何时刻、任何情况下,嵌入式实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。嵌入式实时操作系统总是执行当前优先级最高的进程,直至结束执行,中间的时间可以通过CPU频率等推算出来。由于虚存技术访问时间的不可确定性,在嵌入式实时操作系统中一般不采用标准的虚存技术。典型的嵌入式实时操作系统有VxWorks、μC/OS-Ⅲ、QNX、FreeRTOS、eCOS、RTX及RT-Thread等。