您现在的位置: 万盛学电脑网 >> 操作系统 >> Linux教程 >> 正文

Linux--四种实时操作系统的分析比较在线阅读

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux--新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。
  近年来,实时操作系统在多媒体通信 在线事务处理 生产过程控制 交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。
  1 基本特征概述
  QNX是一个分布式 嵌入式 可规模扩展的实时操作系统。它遵循POSIX.1 (程序接口)和POSIX.2(Shell和工具) 部分遵循POSIX.1b(实时扩展)。它最早开发于1980年,到现在已相当成熟。
  LynxOS是一个分布式 嵌入式 可规模扩展的实时操作系统,它遵循POSIX.1a POSIX.1b和POSIX.1c标准。它最早开发于1988年。
  RT-Linux是一个嵌入式硬实时操作系统,它部分支持POSIX.1b标准。
  KURT-Linux不是为嵌入式应用设计的,不同于硬(hard)实时/软(soft)实时应用,他们提出'严格(firm)'实时应用的概念,如一些多媒体应用和ATM网络应用,KURT是为这样一些应用设计的'严格的'实时系统。
  2 体系结构异同
  实时系统的实现多为微内核体系结构,这使得核心小巧而可靠,易于ROM固化,并可模块化扩展。微内核结构系统中,OS服务模块在独立的地址空间运行,所以,不同模块的内存错误便被隔离开来。但它也有弱点,进程间通信和上下文切换的开销大大增加。相对于大型集成化内核系统来说,它必须靠更多地进行系统调用来完成相同的任务。
  QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度 进程间通信 底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。
  LynxOS目前还不是一个微内核结构的操作系统,但它计划使用所谓的'Galaxy'技术将其从大型集成化内核改造成微内核,这一技术将在LynxOS 3.0中引入。新的28Kb微内核提供以下服务:核心启动和停止 底层内存管理 出错处理 中断处理 多任务 底层同步和互斥支持。
  RT-Linux实现了一个小的实时核心,仅支持底层任务创建 中断服务例程的装入 底层任务通信队列 中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,所有的任务都在核心地址空间运行。它不同于微内核和大型内核,属于实时EXE(realtime executive)体系结构。其可靠性和可维护性对电信服务系统来说都不够理想。
  KURT-Linux核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。
  3 调度策略分析
  任务调度策略是直接影响实时性能的因素。尽管调度算法多种多样,但大多由单调率算法(RM)和最早期限优先算法(EDF)变化而来。前者主要用于静态周期任务的调度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。
  QNX 提供POSIX.1b标准进程调度:
  32个进程优先级;
  抢占式的 基于优先级的正文切换;
  可选调度策略:FIFO 轮转策略 适应性策略。
  LynxOS 其调度策略为:
  LynxOS支持线程概念,提供256个全局用户线程优先级;
  硬实时优先级调度:在每个优先级上实现了轮转调度 定量调度和FIFO调度策略;
  快速正文切换和阻塞时间短;
  抢占式的RTOS核心。
  RT-Linux
  在操作系统之下实现了一个简单的实时核心,Linux本身作为一个可抢占的任务在核内运行,优先级最低,随时会被高优先级任务抢占。
  用户可自行编写调度程序,它们可实现为可加载的核心模块;
  已实现的调度程序有:基于优先级的抢占式调度和EDF调度;
  基于优先级的调度使用'单调率算法',它直接支持周期任务。
  KURT-Linux
  可运行在两种状态之下:通常状态和实时状态。在通常状态下,所有进程都可以运行,但某些核心服务将带来中断屏蔽的不可预期性。实时模式只允许实时进程运行。
  支持FIFO调度策略 轮转调度策略和UNIX分时调度策略;
  增加了SCHED-KURT调度策略,这是一种静态调度策略,使用一个特殊的调度文件记录预先定义好的待调度进程的参数。
  从以上简略描述可以看出,前三种调度策略实现较规范,特别是两种商业RTOS,遵循或部分遵循POSIX.1b实时调度标准。