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

    本文对四种实时操作系统(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实时调度标准。

 4、操作系统服务比较

  4.1 QNX的系统服务:

  多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件系统,支持多种闪存设备的嵌入式文件系统,支持对多种文件服务器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件系统、DOS文件系统、CDROM文件系统等。
  设备管理。在进程和终端设备间提供大吞吐量、低开销接口服务。
  图形/窗口支持。包括QNX Windows、X Window System for QNX、对MS Windows NT/95和X Window系统的远程图形连接。
  TCP/IP for QNX。
  高性能、容错型QNX网络--FLEET,使得所有连入网络的计算机变成一个逻辑上的超级计算机。
  透明的分布式处理。FLEET网络处理与消息传递和进程管理原语的集成,将本地和网络IPC统一起来,使得网络对IPC而言是透明的。

  4.2 LynxOS的系统服务:

  网络和通信。由于使用UNIX/POSIX API,Lynx很适合于数据通信和Internet应用。又由于系统的开放性,网络软件很容易移植到Lynx上。同样,Lynx亦提供关键的电话通信协议,使之适用于电信系统的基础架构、操作和多媒体应用。
  TCP/IP协议栈。Lynx自带优化的TCP/IP协议栈,提供高性能服务,如TCP头预测、高级路由算法、IP级多址广播和链路级高速缓冲。
  Internet工具。包括,Telnet、Ftp、tftp、PPP、SLIP、实时调度的嵌入式Java虚拟机、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服务、电子邮件、Perl、电话通信协议等。
  SVR3流。LynxOS流机制为开发和移植基于流的驱动程序和应用提供了核心支持。
  文件系统。实时的类UNIX层次结构文件系统:连续结构文件、带缓冲/不带缓冲、原始分区和原始设备访问。
  基于Motif的图形用户接口。
  分布式计算资源。SCMP与VME总线上的多处理结合,PCI桥服务、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式数据系统。

  4.3 Linux的系统服务:

  近来,很多基于Linux的实时应用被开发出来,它具有成熟和丰富的资源。

  UNIX用户的开发工具和应用软件都被移植到Linux上。
  TCP/IP网络协议。
  各种Internet客户/服务端软件。
  X Window。
  C/C++、Java等语言编译器。

  上述系统的共同点是都提供了图形界面、各种网络支持等必要工具。QNX是一个更加符合传统"分布式"概念的操作系统,目标是把整个局域网变成一个大的超级计算机,使得网络的存在对用户透明,文件系统提供的服务也很丰富。但是,分布式的程度越高也意味着系统开销的增大。LynxOS则着意于提供丰富的网络服务,而Linux的最大优势则是经济,还可以通过新闻组或mailing

  5、系统开放性对比

  对于很多大、中型系统来说,大多数软件都是为UNIX平台编写的,因此RTOS是否提供POSIX/UNIX API就显得很重要。

  5.1 QNX的开放性

  QNX的POSIX兼容性和其提供的UNIX特色的编译器、调试器、X Window和TCP/IP都是UNIX程序员所熟悉的。
  支持多种CPU:AMD ElanSC300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x86处理器(386以上)、Pentium系列、STMicroelectronics 的STPC。
  多种总线:CompactPCI、EISA、ISA 、MPE (RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME。
  各种外设:多种SCSI设备、IDE/EIDE驱动器、10M/100M以太网卡、Token Ring网卡、FDDI接口卡、多种PCMCIA设备、闪存、声卡等等。

  5.2 LynxOS的开放性

  POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。
  支持多种CPU主板:包括CompactPCI(6U/3U)和标准PCI、VME/Eurobus、PC/104和PC/AT硬件等。
  各种外设适配器:10/100BaseT Ethernet、SCSI接口、单/多通道串行控制器、单/双工并行口、时钟、计时器、IDE接口、高分辨率显示适配器等。

  5.3 Linux的开放性

  用户可得到UNIX的全部开发工具。
  可使用市场上便宜又常见的硬件。

  通过分析,可以看到以上系统各有优势,因此,在平台搭造过程中,用户应根据自己的实际需要并结合性能价格比进行选择。

时间: 2024-09-16 03:06:32

四种实时操作系统的分析比较_unix linux的相关文章

AngularJS中指令的四种基本形式实例分析_AngularJS

本文实例讲述了AngularJS中指令的四种基本形式.分享给大家供大家参考,具体如下: 指令的四种基本形式中, 注意注释型指令 M 的使用方法是 <!--  directive:指令名称  --> 注意左右俩测必须有空格才会正常识别 所有指令是可以相互组合 的,不写restrict ,将会默认为A属性 指令要支持IE8 浏览器 一般最好将指令设置为属性 <!doctype html> <html ng-app="myapp"> <head>

javascript实现html页面之间参数传递的四种方法实例分析_javascript技巧

本文实例讲述了javascript实现html页面之间参数传递的四种方法.分享给大家供大家参考,具体如下: 我们知道,在服务器端asp,jsp等程序可以接受html页面上的form传来的参数.那么,可不可以传递参数给html页面呢.可以. 原理:通过window.location.href中的分割符获得各个参数 方法一: /* *函数功能:从href获得参数 *sHref: http://www.cscenter.com.cn/arg.htm?arg1=d&arg2=re *sArgName:a

如何实现Linux操作系统的自动登录_unix linux

开机自动登录Linux,并自动运行XWindow应用程序,有其特殊的应用背景,如基于Linux平台的监控系统,Linux启动后不需要身份验证,而直接运行监控程序等等.本文以Redhat7.2为平台,结合Linux启动过程,介绍了如何避免身份验证自动登录,并直接进入X Window自动运行应用程序. 一.Linux启动的最后阶段的工作 Linux在启动过程的最后阶段(具体启动步骤略),init会根据/etc/inittab文件的最后一行x:5:respawn:/etc/X11/prefdm-nod

新技巧:Linux系统常见6种紧急情况处理方法_unix linux

Linux系统常见几种紧急情况的处理方法 1.使用急救盘组进行维护 急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具.用它可以独立地启动和运行一个完整的Linux系统.实际 上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系统:而第1张盘则存放了可启动的内核. 使用急救盘组维护系统很简单.只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户.为了能访问硬盘上的文件,需要手工安装硬盘文件系统.例如,用下面的命令可在/mnt目录中安装/dev/

Java更新XML的四种常用方法简介

xml 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支

旅游景区“影视营销”的四种模式

最近<变形金刚3>热映,公众在欣赏这部科幻大片的同时,对于影视植入式广告也有了更为深刻的认识.说到植入式广告,旅游景区应该算得上是早期的尝试者了. 就目前的情况看,旅游景区已经从最初默默提供拍摄外景地逐步走向更为积极主动的"影视营销".景区"影视营销"在国内目前还是比较前卫的营销手段,涌现出了几种不同的模式.以下是同程网景区营销专家对景区"影视营销"四种模式的分析. 模式一:提供拍摄地,长期捆绑热播影视剧的品牌效应 优点:运作简单,投

linux下实现web数据同步的四种方式(性能比较)_Linux

实现web数据同步的四种方式 ======================================= 1.nfs实现web数据共享2.rsync +inotify实现web数据同步3.rsync+sersync更快更节约资源实现web数据同步4.unison+inotify实现web数据双向同步 ======================================= 一.nfs实现web数据共享  nfs能实现数据同步是通过NAS(网络附加存储),在服务器上共享一个文件,且服务器

在Windows 8 PC上安装Linux的四种方法

微软RTM版本的Windows 8相信已经有很多人试用过了,如果在Windows 8 PC上安装Linux很困难,那我们该怎么办呢?下面提供四种方法. 在UEFI上启动Linux 首先,需要在UEFI上启动Linux.因为除了Mac,很少有PC使用UEFI替换BIOS,所以大家都不怎么关心从UEFI启动Linux. 现在,很多想在Mac上运行Linux的人使用兼容支持模块CSM,提供Mac上BIOS的仿真.这种方式很麻烦,运行得不好,在Secure Boot Windows 8 PC上可能会更糟

从SEO的角度分析四种常见的网站导航结构

在我们为一个站点制定SEO策略的时候,我们需要重点考虑到的一个问题就是网站的导航.一个站点的导航栏就犹如是一本书的目录,其具有内容的检索.报道.引导等功能.作为一名访客,我们可以借由站点的导航制导网站的主题和定位,具有引导访客的关键作用,由此站点的导航在一项优化项目中有着举足轻重的位置.谈到网站的导航,我们就需要知道导航的结构,一般导航的结构类型可以分为四类,下面笔者就立足SEO的角度分别分析这四种常见的导航结构的效果. 1.主导航结构   站点的主导航结构位于站点的头部位置,通常一个企业站点的