Building a QNX 7 Desktop
Wow, that&#x27;s quite the comment :)<p>Ok, from the top:<p>&gt; I&#x27;m curious how much of this depends on the driver behaving sanely at load and unload time, cleaning up after itself, gracefully handling unexpected initialization-time state, etc.<p>Well, drivers are just processes. So as long as they don&#x27;t leave the hardware in a totally borked state a re-start of that process should re-initialize the driver and as long as that works I see no reason why the driver would not be able to restart and function.<p>&gt; It&#x27;s sad the best option here is Erlang: that results in &quot;yay message-passing&quot; being restricted to large monolithic systems.<p>And Erlang is soft real-time as opposed to QNX&#x27;s hard real-time. For non-interactive backend stuff it doesn&#x27;t matter that much but for front-end or hardware control it matters a lot.<p>&gt; is your code still in use out there, and if so, what sorts of things would I be doing (banking, using electricity, etc etc) if I were indirectly using it?<p>I never released other than some very fancy routers where it was used under the hood without anybody being the wiser, but just about every industrial plant runs QNX somewhere, and quite possibly still the 16 bit version on ancient Compaqs.<p>&gt; I guess the next question would be, is an open reimplementation of QNX a sane idea?<p>You&#x27;re asking the guy whose front page post reads &#x27;how to sort 2 tons of lego&#x27;? :)<p>I&#x27;m not always the best in making decisions when it comes to what makes economic sense. But I think the world of computing would be a much better place if we went microkernel. Stability and reliability and real time in my book easily trump performance.<p>&gt; how set-in-stone are QNX&#x27;s various APIs - ie, how much of a non-moving target are they, how well-documented is everything, how well-known are the bugs?<p>QNX is incredibly simple at the core. The hard part was to get the interrupt handlers work right, after that it was a walk in the park. But I do recall having a footswitch connected to the reset button because I got tired of diving under the table to reset the machine. No VMs back then...<p>&gt; Obviously binary compatibility itself would be a good idea for an open-source reimplementation of QNX, there are quite a few more apps for QNX than BeOS.<p>I would not care about that at all, but I&#x27;m sure you could do a ABI layer if you really wanted to.<p>&gt; &quot;...dude. No. Too much work. Don&#x27;t go there.&quot; in terms of the investment&#x2F;reward, with all the details taken into account,<p>Fortunately when I started that trick I didn&#x27;t know just how hard it was. And eventually QNX did come out with a 32 bit version (2 years later or so).<p>But an open source version of it would make big inroads into all kinds of embedded systems. But good luck getting the likes of NVIDIA to make a driver.