1980年,Gordon Bell与Dan Dodge共同创立了Quantum Software Systems公司。基于大学时期的某些构想,他们开发出了一个能在IBM PC上运行的系统,名为QUNIX(Quick UNIX),直至收到AT&T的律师函后,才将名字变更为QNX。

基本特征:

- QNX属于分布式、嵌入式且可扩展规模的实时操作系统。它符合POSIX.1(程序接口)与POSIX.2(Shell和工具)的标准,部分符合POSIX.1b(实时扩展)。该系统于1980年开始开发,如今已十分成熟。

体系结构:

- QNX是微内核实时操作系统,其内核仅提供四项服务,即进程调度、进程间通信、底层网络通信以及中断处理,进程在独立的地址空间中运行。其余所有的操作系统服务均以协作的用户进程形式实现,所以QNX的内核非常小(QNX4.x版本约为12Kb),运行速度也极快。

调度策略:

QNX提供符合POSIX.1b标准的进程调度:

- 具有32个进程优先级;

- 采用抢占式、基于优先级的正文切换;

- 可选用的调度策略包括:先进先出(FIFO)、轮转策略、适应性策略。

系统服务:

QNX的系统服务如下:

- 多种资源管理器,涵盖各类文件系统和设备管理,支持多个文件系统同时运行。其中包括完全符合POSIX.1及UNIX语法的POSIX文件系统、支持多种闪存设备的嵌入式文件系统、能对多种文件服务器(如Windows NT/95、LAN Manager等)进行透明访问的SMB文件系统、DOS文件系统、CD - ROM文件系统等。

- 设备管理,在进程和终端设备之间提供高吞吐量、低开销的接口服务。

- 图形/窗口支持,包含QNX Windows、适用于QNX的X Window System、对MS Windows NT/95和X Window系统的远程图形连接。

- 适用于QNX的TCP/IP。

- 高性能、具备容错能力的QNX网络——FLEET,能使所有接入网络的计算机成为逻辑上的超级计算机。

- 透明的分布式处理,FLEET网络处理与消息传递以及进程管理原语相集成,将本地和网络进程间通信(IPC)统一起来,使得网络对于IPC而言是透明的。

《QNX究竟是什么?一文带你深入了解》