RTLinux简介

RTLinux (或称作实时Linux)是Linux中的一种实时操作系统。它由美国新墨西哥州立大学数据挖掘技术学院的V. Yodaiken开发。目前,RTLinux有一个由社区支持的免费版本,称为RTLinux Free页面存档备份,存于互联网档案馆),以及一个来自FSMLabs的商业版本,称作RTLinux Pro页面存档备份,存于互联网档案馆)。

RTLinux通过硬件和操作系统间的中断控制来支持硬实时(确定性)操作。进行确定性处理所需要的中断由实时核心加工,其他中断被送往非实时操作系统。操作系统运行为低优先级线程。先进先出管道(FIFOs)或共享内存可以被用来在操作系统和实时核心之间共享数据。

图 1 显示了通用 Linux 系统的传统架构,其中内核直接与硬件交互。所有的中断都由内核自己拦截。

通用Linux操作系统

图1.GPLinuxOS.jpg

实时Linux系统

图2.RTLinuxOS.jpg

图 2 描述了 RTLinux 系统的设计。图中显示了三个重要方面:

  • RTLinux 位于真正的硬件和内核之间。
  • 它充当内核的硬件。
  • 它将内核视为一个单独的大进程。

RT 调度程序在处理器上调度内核。内核的优先级比实时任务低,可以抢占。所有硬件中断都被 RTLinux 层拦截,如果不是针对 RT 任务,那么当 RTLinux 处于空闲状态时,中断会作为软件中断传递给 Linux 内核。

因此,提供了两个功能:

  • 所有 RT 任务在需要资源时都会得到实时响应。
  • 当 RTLinux 系统空闲时,内核可以执行所有非 RT 任务。