QNX究竟是什么?一文带你深入了解
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而言是透明的。
