Why is QNX realtime?

Trivial question, isn’t it?

Some time ago a colleague asked me why QNX is a realtime OS and what’s
the difference to e.g. Linux.
Uhmm, well, It’s the microkernel, probably, or not? I started thinking
about it but couldn’t come to an accurate answer.
So here are my thoughts on this topic, hopefully you can add some more
or correct me.

First of all there is a micro-kernel.
Message passing
It’s POSIX.
The OS is fully preemptable.
Latency is kept short (any figures on this?).
Processes / Threads / Scheduling
…??

One more question:
I think I heard something that Interrupts can be disabled only for a
certain period of time (i.e. they are enabled automagically after n
msec). Is that true?

Thanks for your patience,

Smee

The term “real time” refers to being deterministic. This is done via the
priority system that says - you got a higher prio, so you get the CPU - as
long as you need it. Then of course why QNX is a good RTOS? That’s because
of memory protection, resource manager framework/Posix, low interrupt
latencies and of course yes preemptible kernel.

“SmeeAgain” <SmeeAgain@mail-dot-ru.no-spam.invalid> schrieb im Newsbeitrag
news:dn58dm$gi7$1@inn.qnx.com

Trivial question, isn’t it?

Some time ago a colleague asked me why QNX is a realtime OS and what’s
the difference to e.g. Linux.
Uhmm, well, It’s the microkernel, probably, or not? I started thinking
about it but couldn’t come to an accurate answer.
So here are my thoughts on this topic, hopefully you can add some more
or correct me.

First of all there is a micro-kernel.
Message passing
It’s POSIX.
The OS is fully preemptable.
Latency is kept short (any figures on this?).
Processes / Threads / Scheduling
…??

One more question:
I think I heard something that Interrupts can be disabled only for a
certain period of time (i.e. they are enabled automagically after n
msec). Is that true?

Thanks for your patience,

Smee