----本文对四种实时操作系统(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的全部开发工具。

* 可使用市场上便宜又常见的硬件。

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

实时操作系统LynxOS、QNX、Linux的分析和比较相关推荐

  1. 实时操作系统-与QNX比较-qnx系统优势-qnx性能分析-qnx系统性能分析

    锋影 e-mail:174176320@qq.com LynxOS.QNX.Linux的分析和比较 ----本文对四种实时操作系统(RTOS)特性进行分析和比较.它们是:Lynx实时系统公司的Lynx ...

  2. linux 内核rt,实时操作系统kernel rt

    https://blog.csdn.net/baidu_34045013/article/details/78886617 实时应用程序在某些触发事件和应用程序对该事件的响应之间有操作截止日期.为了满 ...

  3. 嵌入式实时操作系统-VxWorks(基础)

    1.实时系统定义:是指那些产生系统输出的时间对于系统是至关重要的系统. 实时系统可根据时限对其性能(或效益)影响程度的不同,分为软实时系统SRT和硬实时系统HRT. 软时限是指时限的错过不会损害系统的 ...

  4. 实时操作系统与分时操作系统的含义、特征

    版权声明:本文为CSDN博主「嵌入式小胖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/m0_3776566 ...

  5. 【实时操作系统】实时操作系统和非实时操作系统

    实时操作系统的特征: 当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应. 实时操作系统是抢占式操作系统,如果你的进程优先 ...

  6. 2021-2027全球与中国实时操作系统市场现状及未来发展趋势

    2021-2027全球与中国实时操作系统市场现状及未来发展趋势 本文研究全球及中国市场实时操作系统现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美.欧洲.中国.日本.东南亚.印度等地 ...

  7. QNX 实时操作系统(Quick Unix)

    Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIX(Quick ...

  8. 车载系统ce和linux,车载电子操作系统:QNX与Linux未来有望两家独大

    车载电子操作系统是汽车智能化的核心,能够有效分配车机的硬件资源,对车内各种任务功能进行协同管理,并控制各项任务优先级别.常见的车载电子操作系统有:QNX.Linux(Android,AaliOS).W ...

  9. [转]车载电子操作系统:QNX与Linux未来有望两家独大

    email:174176320@qq.com 如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额0.1元起步,多少随意 声明:本文只用于个人学习交流,若不慎造成侵权,请及时联 ...

最新文章

  1. 用matlab怎么画视电阻率拟断面图,在MATLAB平台上实现可控源音频大地电磁反演数据三维可视化显示...
  2. 界面之下:还原真实的MV*模式
  3. CentOS7 Change the Sources of yum(刚装完centos后一定要干的事)
  4. 虚拟环境创建,pip管理包
  5. SQL Server 输出 XML
  6. 【更新至2.0】cnbeta 根据评论数提取热喷新闻的js脚本
  7. stats | 线性回归(一)——模型表达式和输出结果
  8. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  9. 京东金融 App 收集隐私?开源库程序员不背锅!
  10. 2021新鲜出炉软件测试的真实面试题(一篇足以)
  11. Python开源软件大全(内附源码)
  12. Unity3D开发之NGUI点击事件穿透响应处理
  13. oracle用imp导入dmp文件
  14. Codeforces Round #322 (Div. 2) A. Vasya the Hipster 水题
  15. Modbus Tcp服务端使用说明书
  16. web前端html实例-Html5实现的语音搜索功能
  17. RT-Thread学习笔记(9):邮箱
  18. linux tar 压缩 删除源文件,Linux tar 如何在压缩之后删除原文件
  19. 【Unity3d】3d网页游戏场景打包与加载
  20. 迷宫系列(四)其他细节和DFS的实际应用(重要)

热门文章

  1. 在最大中求最小系列问题(二分)
  2. WebSocket:扫码登录
  3. 华为HCNA数通方向课程精讲-郭小冬-专题视频课程
  4. mysql 联合质检_第三次全国国土调查-统一时点更新阶段数据库质检规则业务细则解释(一)...
  5. 英文字母和汉字的字节长度问题
  6. 【大话GSM】WCDMA和LTE在提供数据和语音业务上的差异
  7. 40N120-ASEMI低功耗场效应管40N120
  8. windows模拟键盘鼠标事件DirectX游戏中
  9. 计算机基础知识20(专业术语翻译)
  10. 高层论坛︱王家耀院士:“互联网+”时空大数据与智慧城市(1)