QNX系统介绍
QNX是一个分布式、可扩展、遵从POSIX规范的类Unix硬实时操作系统。
QNX为微内核的架构,微内核只提供进程调度、进程间通信、底层网络通信和中断处理四种服务。驱动程序、协议栈、文件系统、应用程序等都在微内核之外内存受保护的安全的用户空间内运行,组件之间能避免相互影响,在遇到故障时也能重启。
QNX Neutrino通过两个基本的原则,达到了独一无二的有效性、模块化和简洁性:
1. 微内核架构
2. 基于消息的进程间通信
微内核架构
在微内核OS中,内核精简,只实现OS最基本的核心部分并提供相应的服务,基于这些服务可以扩展完整的OS功能。设计一个微内核OS的目标是模块化,而并非最小化。
微内核提供的IPC服务用于将操作系统本身“粘合”在一起,这些服务的性能和灵活性决定了系统最终的性能。可以使用IPC服务和其他附加的服务来扩展内核的功能。 用户编写的进程既可以作为应用程序,也可以作为底层OS功能来支持行业特定的应用程序。 操作系统本身变得“开放”并且易于扩展。 此外,用户编写的OS扩展也不会影响核心OS的基本可靠性。