For starters, QNX has IPC that works over IP-capable networks, which makes things like High Availibility much easier to implement.
Drivers are in user-land and can be restarted at runtime. Probably more, but it's been awhile since I used it. A lot of it comes from QNX having a micro-kernel.
> RT can also linux.
PREEMPT_RT was merged in september of this year[1]. I terms of "hard real-time" with PREEMPT_RT scheduler still not completely deterministic like in QNX.
[1]: Note that you could have turned linux in "somewhat" hard real-time with or without PREEMPT_RT patches for user-land application.
>> QNX has IPC that works over IP-capable networks
I do not know what you mean. IPC over IP is at least 50 years old, and today can be done with ANY POSIX system, as it is part of the Standard!
>> Drivers are in user-land and can be restarted at runtime. Probably more, but it's been awhile since I used it. A lot of it comes from QNX having a micro-kernel. And QNX is as microkernel as MacOs
Honesty at this point I don’t know if you are trolling or being sarcastic or you really never used linux. You absolutely can work with drivers in userspace in Linux (that is standard practice for driver development in linux) and has absolutely nothing, not even remotely, to do with the kernel architecture.
>> still not completely deterministic like in QNX.
First we have to admit that RT term is loosy, is used lousy and is full of it. Specially when somebody says “completely deterministic” there is just not a complete deterministic thing in a computer. Bottom line (a) RT Linux is more than enough for anything in the real world. (b) I haven't used QNX lately, but as I did, the only thing deterministic was the “yeah… this box has to be rebooted once a week, or QNX will just hang”