• 1.摘要
  • 2.基本信息
  • 3.系统简介
  • 4.基本特征
  • 5.体系结构
  • 6.调度策略
  • 7.结构
  • 8.系统服务
  • 9.开放性
  • 10.用户评价
  • 11.软件公司
  • 12.配置要求
  • 13.安装
  • 14.操作
  • 15.系统优点

QNX

操作系统

Gordon Bell和Dan Dodge在1980年成立了Quantum Software Systems公司,他们根据大学时代的一些设想写出了一个能在IBM PC上运行的名叫QUNIX(Quick UNIX)的系统,直到AT&T发律师函过来才把名字改成QNX。

基本信息

  • 中文名

    QNX

  • 实时

    操作系统

  • POSⅨ

    规范

  • 系统

    嵌入式系统

系统简介

QNX是一种商用的遵从POSIX规范的类Unix实时操作系统,目标市场主要是面向嵌入式系统。它可能是最成功的微内核操作系统之一。

QNX是一种商用的类Unix实时操作系统,遵从POSⅨ规范,目标市场主要是嵌入式系统[1]。QNX成立于1980年,是加拿大一家知名的嵌入式系统开发商。

QNX的应用范围极广,包含了:控制保时捷跑车的音乐和媒体功能、核电站和美国陆军无人驾驶Crusher坦克的控制系统[2],还有RIM公司的BlackBerry PlayBook平板电脑。

2004年10月27日,QNX 软件系统宣布它已经接受来自音响设备制造商 Harman 国际工业公司(纽约证券交易所: HAR)的购买提议. 作为Harman 的最新子公司高级商标的国际家庭,包括 Harman Kardon,JBL 和Becker,QNX 现在将会加速它的生长,向为先进的嵌入式运用,变成优先的操作系统。哈曼集团以1.38亿美元的现金收购了QNX,但也因此承担了1.38亿美元的债务。

2010年04月14日,黑莓手机(BlackBerry)制造商RIM(Research In Motion Ltd.,RIM)将收购哈曼国际工业集团(Harman International Industries Inc.,HAR)旗下的QNX软件公司,以获取其车载无线连接技术。QNX这个原本的渥太华公司,在被美国哈曼国际 Harman 在买走6年后,又重返加拿大。QNX主要开发汽车,通讯设备所使用的操作系统,哈曼国际的主业则是汽车音像和娱乐设备。此次交易将使得RIM,QNX和哈曼工业在智能手机和车载音频娱乐系统之间找到合作空间。

QNX被RIM并购的消息传出,才让这个在中国的认知度并不高的“默默无闻”的操作系统厂商被大家所熟知。但在汽车领域,QNX早已是最大的操作系统供应商。据不完全资料显示,QNX在车用市场占有率达到75%,目前全球有超过230种车型使用QNX系统,包括哈曼贝克、德尔福、大陆、通用电装、爱信等知名汽车电子平台都是在QNX系统上搭建的。几乎全球所有的主要汽车品牌包括讴歌、阿尔法-罗密欧、奥迪、宝马、别克、凯迪拉克、雪弗兰、克莱斯勒、戴姆勒、道奇、菲亚特、福特、通用汽车、本田、悍马、现代、英菲尼迪、捷豹、吉普、蓝旗亚、马自达、马赛地、迷你宝马、三菱、尼桑、欧宝、庞迪克、保时捷、萨博、土星、双龙、丰田和大众汽车等目前都采用了基于QNX技术的系统。

除汽车领域之外,QNX的最大客户订单来源于思科系统,其中高端路由设备几乎全部采用QNX操作系统,因此,网络通信也成为了QNX第二大应用领域。此外,QNX与通用电气、阿尔斯通、西门子、洛克希德·马丁和NASA等公司都有着紧密合作,在轨道交通、医疗器械、智能电网及航空航天中,都发挥着积极作用。

基本特征

* QNX是一个分布式、嵌入式、可规模扩展的硬实时操作系统。它遵循POSⅨ.1 (程序接口)和POSⅨ.2 (Shell和工具)、部分遵循POSⅨ.1b(实时扩展)。它诞生于1980年,距今已39年的历史。

体系结构

* QNX是一个微内核实时操作系统,其核心仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它OS服务,都实现为协作的用户进程,因此QNX核心非常小巧(QNX4.x大约为12Kb)而且运行速度极快。

调度策略

QNX 提供POSⅨ.1b标准进程调度:

* 255个进程优先级;

*抢占式的、基于优先级的正文切换;

* 可选调度策略:FIFO、轮转策略、适应性策略。

结构

QNX是业界公认的X86平台上最好的嵌入式实时操作系统之一。它具有独一无二的微内核实时平台,建立在微内核和完全地址空间保护基础之上,实时、稳定、可靠,已经完成到PowerPC、MIPS、ARM等内核的移植,成为在国内广泛应用的嵌入式实时操作系统。虽然QNX本身并不属于UNIX,但由于其提供了POSIX的支持,使得多数传统UNIX程序在微量修改(甚至不需修改)后即可在QNX上面编译与运行。