四种实时操作系统的分析比较

桑心袅袅

桑心袅袅

2016-01-29 19:51

四种实时操作系统的分析比较,四种实时操作系统的分析比较

    本文对四种实时操作系统(RTOS)特性进行分析和比较。它们是:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux--新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。

  近年来,实时操作系统在多媒体通信、在线事务处理、生产过程控制、交通控制等各个领域得到广泛的应用,因而越来越引起人们的重视。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/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核心包括两个部分:内核和实时模块。内核负责实时事件的调度,实时模块为用户进程提供特定的实时服务。它不属于微内核结构。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/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实时调度标准。

 4、操作系统服务比较

  4.1 QNX的系统服务:

  多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CDROM文件系统等。
  设备管理。在进程和终端设备间提

展开更多 50%)
分享

猜你喜欢

四种实时操作系统的分析比较

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
四种实时操作系统的分析比较

Linux操作系统分析

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux操作系统分析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

访问操作系统

autocad教程
访问操作系统

Linux操作系统下常见文件类型分析

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux操作系统下常见文件类型分析

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

访问操作系统教程

autocad教程
访问操作系统教程

操作系统有哪些

电脑入门
操作系统有哪些

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

动手制做自己的Linux启动盘(1)

动手制做自己的Linux启动盘(1)

PS鼠绘逼真的红色小提琴

PS鼠绘逼真的红色小提琴
下拉加载更多内容 ↓