image.png
QNX操作系统是由加拿大QSSL公司(QNX Software System Ltd.)开发的分布式实时操作系统。
QNX是一个分布式、可扩展、遵从POSIX规范的类Unix硬实时操作系统。
image.png
QNX为微内核的架构,微内核只提供进程调度、进程间通信、底层网络通信和中断处理四种服务。
驱动程序、协议栈、文件系统、应用程序等都在微内核之外内存受保护的安全的用户空间内运行,组件之间能避免相互影响,在遇到故障时也能重启。
微内核操作系统(Microkernel Operating System)结构,是20世纪80年代后期发展起来的。由于它能有效地支持多处理机运行,故非常适用于分布式系统环境。
image.png
微内核操作系统具有以下特点: (1)足够小的内核 微内核不是一个完整的OS,他拥有操作系统中最基本的部分,保证操作系统的内核做到足够小。
(2)基于 C/S 模式 将操作系统中最基本的部分放入内核中,把操作系统的绝大部分功能放在微内核外面的一组服务器(进程)中实现。
这些服务器运行在用户态,客户与服务器之间借助微内核提供的消息传递机制来实现通信。如:
(3) "机制与策略分离"原理 机制:指实现某一功能的具体执行机构 策略:在机制的基础上,借助某些参数和算法来实现该功能的优化,或者达到不同的功能目标。
在传统的OS中,机制通常放在OS的内核较低层,策略放在内核的较高层。而在微内核的OS中,通常将机制放在OS的微内核中。这样微内核才能够做的更小。
(4)采用面向对象技术
内核是操作系统的核心,在有些操作系统中,内核包含了很多功能,导致内核像是个完整的操作系统。而QNX的微内核是一个真正的内核,它非常小,并且只提供基本的服务.
image.png
procnto
的单元,进程管理器部分负责管理进程、内存,还有路径名空间。与线程不同,微内核本身不会被调度执行。处理器只在微内核中执行系统调用、异常、硬件中断响应等。