系统架构设计笔记(63)—— 实时嵌入式操作系统

1,168 阅读7分钟

整体上看,一个嵌入式系统的实时性能是由硬件 、 实时操作系统及应用程序共同决定的,其中,嵌入式实时操作系统内核的性能起着关键的作用。

通常,有两种类型的实时嵌入式操作系统:实时内核型的 RTEOS 与通用型的 RTEOS 。

RTEOS 即实时嵌入式操作系统,Real-Time Embedded OS。

  1. 实时内核型的 RTEOS :这类操作系统,驱动程序传统嵌在内核之中,应用程序和中间件实现在标准的应用程序接口( APIs , Application Programming Interfaces )之上。
  2. 实时通用型的 RTEOS :这类操作系统,驱动程序并非深度嵌入到内核中,而是在内核之上实现,并且仅包含少数必要的驱动程序,应用程序和中间件可以直接在驱动程序之上实现,而不必在标准的 APIs 实现。

实时嵌入式操作系统和通用操作系统之间的功能有很多相似之处,例如,它们都支持多任务,支持软件和硬件的资源管理,以及都为应用提供基本的操作系统服务。

1 关键特性

与通用操作系统相比,实时嵌入式操作系统在功能上具有很多特性。实时嵌入式操作系 统特有的不同于通用操作系统的关键特性主要有:

  1. 满足嵌入式应用的高可靠性;
  2. 满足应用需要的可裁减能力;
  3. 内存需求少;
  4. 运行的可预测性;
  5. 采用实时调度策略;
  6. 系统的规模紧凑;
  7. 支持从 ROM 或 RAM 上引导和运行;
  8. 对不同的硬件平台均有更好的可移植性。

2 实时性能指标

在评估实时操作系统设计性能时,时间性能指标是最重要的一个性能指标,常用的时间性能指标主要有如下几个:

2.1 任务切换时间

任务切换时间是指 CPU 控制权由运行态的任务转移给另外一个就绪任务所需要的时间,包括在进行任务切换时,保存和恢复任务上下文所花费的时间及选择下一个待运行任务的调度时间,该指标跟微处理器的寄存器数目和系统结构有关。相同的操作系统在不同微处理器上运行时所花费的时间可能不同。

2.2 中断处理相关的时间指标

  1. 中断延迟时间,是指从中断发生到系统获知中断的时间,主要受系统最大关中断时间的影响,关中断时间越长,中断延迟也就越长;
  2. 中断处理执行时间,该时间由具体的应用决定;
  3. 中断响应时间,是指从中断发生到开始执行用户中断服务例程的时间;
  4. 中断恢复时间,是指用户中断服务例程结束回到被中断的代码之间的时间;
  5. 最大关中断时间,包含两个方面:一是内核最大关中断时间,即内核在执行临界区代码时关中断;二是应用关中断时间,关中断最大时间是这两种关中断时间的最大值;
  6. 任务响应时间,是指从任务对应的中断产生到该任务真正开始运行的时间;
  7. 对于可抢占式调度,中断恢复的时间还要加上进行任务切换和恢复新的任务上下文的时间。

2.3 系统响应时间

指系统在发出处理请求到系统做出应答的时间,即调度延迟,这个时间的大小主要由内核任务调度算法所决定。


3 主流嵌入式操作系统

迄今为止,据不完全统计,世界上现有的嵌入式操作系统的总数达几百个之多。其中最常用的有十几种,这些操作系统在各自的应用领域都有很高的知名度和广大的用户群。

(1)eCos

eCos(embedded Configurable operating system)是一种嵌入式可配置实时操作系统,适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。eCos是一种开放源代码软件,无任何版权费用。eCos具有很强的可配置能力,而且它的代码量很小,通常为几十到几百KB。它的最小配置形式是它的硬件抽象层HAL所提供的引导程序Redboot,可以支持很大范围内许多不同的处理器和平台。它的最大配置形式是一个完整的实时操作系统,所提供的服务和支持能与其他大多数商用实时操作系统相媲美。eCos为开发人员提供了一个能涵盖大范围内各种嵌入式产品的公共软件基础结构,使得嵌入式软件开发人员可以集中精力去开发更好的嵌入式产品,而不是停留在对实时操作系统的开发、维护和配置上。

(2)EPOC

EPOC是Psion Software推出的操作系统,专门用于移动计算设备,包括掌上电脑。"EPOC”这个词起源于世界将会进入“a new epoch of personal convenience”。EPOC是一个开放的操作系统,它支持信息传送、网页浏览、办公室作业、公用事业以及个人信息管理(PIM)的应用,也有软件可以和个人计算机与服务器作同步的沟通。

(3)LynxOS

LynxOS是由Lynx实时系统公司开发的操作系统。LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a、POSIX.1b和POSIX.1c标准。它最早开发于1988年。

(4)pSOS

pSOS是一种实时的嵌入式操作系统。是美国系统集成公司(Integrated Systems, Inc. 简称ISI公司)根据几十年从事嵌入式实时系统理论研究与实践活动而设计开发的。该产品推出时间比较早,因此比较成熟,可以支持多种处理器,曾是国际上应用最广泛的产品,主要应用领域是远程通信,航天,信息家电和工业控制。但该公司已经被风河公司(windriver)兼并,从VxWorks5.5开始,已将PSOS的主要特点融入VxWorks中。

(5)QNX

QNX是一种商用的遵从POSIX规范的类Unix实时操作系统,目标市场主要是面向嵌入式系统。它可能是最成功的微内核操作系统之一。

(6)VxWorks

VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器、2008年5月登陆的凤凰号,和2012年8月登陆的好奇号也都使用到了VxWorks。

(7)T-Kernel

T-Kernel是日本计算机结构知名学者、东京大学教授、工学博士坂村健提出的,并是以T-Engine系统为核心的一款免费标准开源的实时操作系统。