Live data from Hacker News

QNX is now free for anything non-commercial, plus there's an RPi image

blackberry.qnx.com

191–200 of 380 posts

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#193

Earlier quoted context omitted.

Why do RTEMS and eCOS trump, say, Linux? Linux on a RPi has also famously flown (really!) in space. It's all very well asserting something but a bit more chat would be nice. I'm not sure what "turn a Unix program into a bare metal program." means.

Say all your program does is read some sensors via gpio, save those readings in ram, do a bit of math on that state, then set some other gpio pins, and that's all the entire system does. when it turns on, it should jump right into doing that and nothing else. It may be easier to write that on a full sized Linux system, but come time to deploy it, all that Linux code that isn't being used is a liability for bugs and u…

For some tasks you don't need even need an OS and that competes with QNX. For instance I do hobby experiments with persistence of vision displays on AVR-8 and assembly language on the bare metal is so simple but it is simple hardware and simple software, bigger jobs need something more.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#194
post #149

Earlier quoted context omitted.

My honest opinion is that the prevalence of licenses like GPLv3 and AGPLv3 end up indirectly leading to people recreating the wheel, rather than using the wheel that exists already.

Working as intended. If they don't want to share, then they can't benefit.

It's not so much that as there is the net-negative side effect of having people redo the same work over and over again at their day job or whatever. It horrifies me when I think about the number of hours of people's lives wasted on things like that.

It applies to both sides of the argument, with organizations keeping things to themselves or others avoiding codebases for the inverse reason.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#195
post #186

Earlier quoted context omitted.

You would use it if you wanted to get a job doing RTOS dev and wanted to show you had some skin in the game.

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 s…

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.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#196

Earlier quoted context omitted.

It was worse than an NDA! You also had to start your application with a trip to a notary to get your ID confirmed. And if their signing servers were down…You couldn’t load had just compiled onto your own dev / test device. I loved using my blackberry but I hated developing against it. Bb10 was its own little adventure but had similar draconian dx

> Bb10 was its own little adventure but had similar draconian dx I did some development for it but the bureaucracy killed my will to do more. It was a great phone OS though. The real time nature makes even modest hardware responsive.

The BB10-powered Passport was my favorite device

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#197
We (Rizin) would love to improve QNX support of our FOSS reverse engineering and debugging framework. We already support[1][2][3][4] it, but can't reliably test. Would be awesome to have the QEMU image out of the box, just like Windows provides ready to use limited VMs for testing[5].

[1] https://github.com/rizinorg/rizin/tree/dev/librz/bin/format/...

[2] https://github.com/rizinorg/rizin/blob/dev/librz/bin/p/bin_q...

[3] https://github.com/rizinorg/rizin/blob/dev/librz/debug/p/deb...

[4] https://github.com/rizinorg/rizin/tree/dev/subprojects/rzqnx

[5] https://developer.microsoft.com/en-us/windows/downloads/virt...

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#198

Earlier quoted context omitted.

Is there a good libre real-time OS you would recommend over it?

I believe seL4 is formally verified.

Verified worst case execution time analysis. So instead of just hanging on it until it achieves the desired responsiveness (like QNX and rt Linux) Sel4 can actually back up its claim.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#199
post #45

If only you could believe them. QNX has been "opened" twice before. Each time, there was a rug pull, and it went closed again. Before the first rug pull, open source groups routinely added QNX to their target list. There was a Firefox for QNX. Eclipse had QNX as a target. GCC and most of the Gnu command line tools could be built for QNX. There was a desktop environment, Photon. I used that as a primary desktop for th…

Also I wonder how many applications really need more real time responsiveness than you can get out of Linux. We even have https://arstechnica.com/gadgets/2024/09/real-time-linux-is-o... If I use Linux I know I won't have to have a discussion about licensing, I know I won't get rug pulled, etc. Also the ban on commercial use is heinous. I am going through this with Arangodb right now. I love the product, but I have no…

Real time is about worst case time, not average.

The classic test for a real time OS is simple. You write a program that waits from an interrupt from an input pin. When the input is raised, there's an interrupt. That activates a user process. The user process turns on an output pin.

You hook this up to a signal generator and a scope. Feed in a square wave. See the delay between input and output. If there are outliers, delays much larger than the normal delay, the system is doing real time properly at all.

If it passes that test, run some other program at a lower priority than the one that's monitoring the input pin. The results should not change. The other program should reliably be preempted.

QNX could pass that test, at least when I last used it.

Note that this requirement conflicts with many modern CPU and OS features, such as sleep modes, power-saving under light load, and paging. Classically, you didn't care, because the control CPU used far less power than whatever large piece of equipment it was controlling. But for things that run on batteries, it's a problem.

Something that's given trouble: "system management mode". Some industrial computers used code running in system management mode to help out with some peripherals, such as making flash memory look like a hard drive. This time-stealing shows up in the interrupt latency test. QNX techs used to quietly have a blacklist of embedded computers to avoid.

Re: QNX is now free for anything non-commercial, plus there's an RPi image

#200

Earlier quoted context omitted.

As someone who knows only that QNX is a RTOS and that "real time" is good in some vague hand-wavy way, I found this 2015 comment a very succinct, concrete and illuminating description of one aspect of QNX's architecture that makes it properly real-time. So thank you very much for the link.

"Real time" is only good if you need guaranteed responsiveness within certain time limits. It can actually be suboptimal and slow you down if you don't need it and want to optimize other things like throughput.

Who needs throughput? Server software, but Linux is already dominant there and everyone's happy. For everything else, including desktop and mobile operating systems realtime sounds like a good idea.
Post reply on HN