Hacker News new | ask | show | jobs
by sov 592 days ago
any commercial rtos shop where QNX may be appropriate is either using 1. some wacky expensive proprietary rtos that you've never heard of, 2. freertos or 3. real-time linux depending on what they need. asking what makes QNX a compelling rtos when freertos exists, is widely supported and used, and has an MIT license is a very valid question.

further, no one in embedded actually cares what RTOS you used. they are all similar enough that you won't get stuck if it's a brand new RTOS

2 comments

QNX is heavily used in industries where functional safety or particular high assurance models are required.

Sure FreeRTOS has a SafeRTOS mode, but its not sufficiently functional for a modern ADAS stack or complex robotics systems. QNX is used in all major automotive companies around the world for a reason, and a crucial part of NVIDIA's DriveOS stack.

QNX is in a space with few competitors. FreeRTOS or ThreadX are designed to provide microcontrollers with scheduling and memory management functionality. They don't depend on fancy things like MMUs or provide frameworks for networking or file systems out for the box. The flipside is that you can compile them down to maybe 30kB of machine code.

QNX is designed for more powerful and featureful hardware to drive a software stack with true process isolation and generally provide the bells and whistles of general purpose OS on top of a hard realtime core. It can run complex GUIs without sacrificing its real time capabilities. Not many competitors live in that particular space.

> and a crucial part of NVIDIA's DriveOS stack

fwiw they have been working hard to support linux as a second option, and have been major contributors to Real Time Linux

sooooooo

Are there any automakers out there that use real-time Linux for anything at or above ASIL-B?
I know there are a few hypervisor vendors that do heartbeats for C and D. You can use whatever solution you like as long as there's a fallback task.
> no one in embedded actually cares what RTOS you used. they are all similar enough that you won't get stuck if it's a brand new RTOS

Out of curiosity (as an outsider), how does the availability of device drivers factor in?

I assume they still need to be ported to each combination of OS and device.