QNX操作系统简介

QNX是商业类Unix实时操作系统,主要针对嵌入式系统市场。该产品开发于20世纪80年代初,后来改名为QNX软件系统公司。QNX软件系统公司,黑莓公司旗下子公司,是全球领先的创新嵌入式技术供应商,包括中间件、开发工具和操作系统。QNX Neutrino实时操作系统,QNX Momentics工具套件和QNX Aviage中间件系列基于组件的架构共同构成业界可靠性和延展性最强的架构,帮助建立高性能的嵌入式系统。包括思科、戴姆勒、通用电气、洛克希德·马丁和西门子在内的众多全球知名技术领先企业,都将QNX技术应用在网络路由器、车载远程信息处理和信息娱乐系统、工业控制系统、医疗设备、安全防卫系统和其他任务关键性和生命关键型应用中。QNX软件系统公司成立于1980年,总部位于加拿大渥太华,其产品行销全球100多个国家或地区。

QNX是一种商用的遵从POSIX(可移植操作系统接口, Portable Operating System Interface,缩写为POSIX, IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称)规范的类Unix实时操作系统,目标市场主要是面向嵌入式系统

QNX采用微内核架构,操作系统中的多数功能是以许多小型的task来执行,它们被称为server。这样的架构使得用户和开发者可以关闭不需要的功能,而不需要改​​变操作系统本身。QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧而且运行速度极快。QNX的微内核独立自处于一个被保护的地址空间,驱动程序、网络协议和应用程序处于程序空间中。

微内核架构的优点:(1). 驱动程序、网络协议、文件系统等操作系统模块和内核相互独立,任何模块的故障都不会导致内核的崩溃;(2). 驱动程序、网络协议、文件系统和应用程序都处于程序空间,都调用相同的内核API,开发与调试和应用程序没有区别;(3). 操作系统功能模块可以根据需要动态地加载或卸载,不需要编译内核。在高可靠性要求的情况下,可以编写监视模块,对可靠性要求高的模块进行监视,必要的时候重新启动或重新加载而无须重启系统。高可靠性的内核结构使QNX具备了高可靠性嵌入式操作系统的本质特征。

QNX Neutrino实时操作系统(RTOS):内存受保护的微内核架构。

QNX Neutrino实时操作系统架构如下图所示:

QNX操作系统简介_第1张图片

QNX Neutrino RTOS是功能齐全性能可靠的简化版操作系统,可满足最小规格的实时嵌入系统的有限资源要求。其真正的微内核操作系统和模块化架构可使客户以较低的运行总成本创建高度优化的可靠系统。

(1). 该系统建立在真正的微内核架构上。在这种系统中,所有驱动程序、应用程序、协议栈和文件系统都在内核外部内存受保护的安全的用户空间内运行。几乎所有组件在出现故障时都能自动重启而不会影响其他组件或内核。

(2). 该系统采用模块化结构,可允许用户动态升级模块、引入新功能或实施问题修复,而无高增加停机时间和系统中断的成本。

(3). 该系统采用多核技术和内置透明分布处理技术。

(4). 该系统根据POSIX标准设计,只需通过简单地重新编译,就可移植既存代码、开源UNIX、Linux和因特网代码。通过标准应用程序接口,用户能重新使用应用程序代码。

(5). 该系统利用自适应分区技术确保系统资源满足应用要求。

(6). 该系统支持x86、PowerPC和ARM平台。

QNX Momentics工具套件(Tool Suite):基于Eclipse的灵活集成开发环境。

(1). 该工具套件包含用户所需的所有工具,便于迅速创建和优化用于QNX Neutrino实时操作系统的应用程序。从板卡启动到远程诊断,QNX Momentics工具套件为用户提供在整个开发周期内节省时间的工具,而且全部在单独、使用简便的环境中进行。

(2). 用户可选择自己喜欢的编程语言、主机和目标机。利用QNX Momentics工具套件,用户可使用C、C++、嵌入式C++编程;可以在Windows或Linux主机中开发程序;并以ARM、PowerPC和x86处理器为开发目标,所有工具都取自相同的集成开发环境(IDE)。该工具套件还提供极大的灵活性,允许用户同时混用多种编程语言和处理器架构。

(3). 该工具套件提供了大量的优质高效的分析工具,以加快产品交付所有阶段的进展。该工具套件包括许多非侵入式图形分析工具,以帮助用户轻松隔离并呈现资源的使用情况、定位瓶颈并对系统性能进行精确调整,包括应用程序剖析、系统剖析和内存分析。

(4). 该工具套件支持所有QNX Neutrino实时操作系统技术,包括多核技术、扩展网络、闪存文件系统、高级图形和透明分布处理技术等。

(5). 该工具套件中含有经过优化的GCC编译器、GDB调试程序。

关于QNX的中文论坛:https://www.openqnx.com/chinese/

注:以上整理的内容全部来自于QNX官方文档及网络

你可能感兴趣的:(Linux)