您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

Linux、LynxOS、QNX的阐发和比较

发布日期:2011-04-14

     本文对四种及时利用体系(RTOS)特性举行阐发和比较。它们是:Lynx及时体系公司的LynxOS、QNX软件体系有限公司的QNX以及两种具有代表性的及时Linux——新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux。
      比年来,及时利用体系在多媒体通讯、在线变乱处理惩罚处罚、生产进程控制、交通控制等各个范畴得到广泛的应用,因而越来越引起人们的怜惜。

底子特性概述

* 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是为如许一些应用筹划的“严格的”及时体系。

体系布局异同

及时体系的实现多为微内核体系布局,这使得内核小巧而可靠,易于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内核包括两个部分:内核和及时模块。内核认真实局面件的调理,及时模块为用户进程提供特定的及时办事。它不属于微内核布局。

调理战略阐发

任务调理战略是直接影响及时性能的因素。只管调理算法多种多样,但大多由单调率算法(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及时调理标准。

利用体系办事比较

QNX的体系办事:

*多种资源办理器,包括种种文件体系和配置办理,支持多个文件体系同时运行,包括提供完全POSIX.1及UNIX语法的POSIX文件体系,支持多种闪存配置的嵌入式文件体系,支持对多种文件办事器(如Windows NT/95、LAN Manager等)的透明访问的SMB文件体系、DOS文件体系、CD-ROM文件体系等。

* 配置办理。在进程和终端配置间提供大吞吐量、低开销接口办事。

* 图形/窗口支持。包括QNX Windows、X Window System for QNX、对MS Windows NT/95和X Window体系的长途图形连接。

* TCP/IP for QNX。

* 高性能、容错型QNX网络——FLEET,使得全部连中计络的谋略机变成一个逻辑上的超等谋略机。

* 透明的散布式处理惩罚处罚。FLEET网络处理惩罚处罚与消息转达和进程办理原语的集成,将本地和网络IPC同一起来,使得网络对IPC而言是透明的。

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散布式数据体系。

Linux的体系办事:

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

* UNIX用户的开辟东西和应用软件都被移植到Linux上。

* TCP/IP网络协议。

* 种种Internet客户/办事端软件。

* X Window。

* C/C++、Java等语言编译器。

上述体系的共同点是都提供了图形界面、种种网络支持等须要东西。QNX是一个越发切合传统“散布式”见解的利用体系,目标是把整个局域网变成一个大的超等谋略机,使得网络的存在对用户透明,文件体系提供的办事也很丰富。但是,散布式的程度越高也意味着体系开销的增大。LynxOS则着意于提供丰富的网络办事,而Linux的最大上风则是经济,还可以通过消息组或mailing list快速地办理用户遇到的恣意标题。

体系开放性相比

敷衍很多大、中型体系来说,大多数软件都是为UNIX平台编写的,因此RTOS是否提供POSIX/UNIX API就显得很告急。

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配置、闪存、声卡等等。

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接口、高辨别率表现适配器等。

Linux的开放性:

* 用户可得到UNIX的全部开辟东西。

* 可利用市场上自制又常见的硬件。

通过阐发,可以看到以上体系各有上风,因此,在平台搭造进程中,用户应根据本身的实际须要并连合性能价格比举行选择。