What is our primary use case?
For seven years, I was a software architect and used QNX Neutrino as part of my platforms. QNX Neutrino was the main operating system for one of the processors that we were using. I find it difficult to mention one specific thing about my main use case or how I was using QNX Neutrino in my projects, as it is a substantial stack of libraries, tools, and SDKs. I believe we were using most of it.
I was mainly involved in projects with product lifecycle and software architecture on that processor, deploying different in-house built platforms while referencing them to QNX Neutrino and stepping on QNX Neutrino itself. It is genuinely difficult to mention just one thing.
What is most valuable?
QNX Neutrino offers excellent features including debuggability. I would highlight traceability of the processes, configuration of the processes, network, memory layout, and so forth.
Out of those features, the traceability of the processes and the threads made my life significantly easier and was especially valuable in my projects. I was able to easily see when a thread was being actively used or when it was just looping without making any progress or when it was in idle. This was very helpful when we had to improve the startup of the system, as we were able to reduce it from twelve seconds to approximately two or three seconds just by analyzing how the threads were being started and their dependencies. This was one of the most useful features.
QNX Neutrino has positively impacted my organization because it was chosen as the main operating system for the products, at least for the graphical interface communication and for the application layer management. It was established as the best operating system for those kinds of platforms in my organization.
What needs improvement?
QNX Neutrino can be improved by simply continuing the good support and enhancing the toolsets.
While I cannot identify specific improvements needed for QNX Neutrino right now, something that could improve what I was doing would be to somehow analyze those threads. Instead of me going through the trace logger, it would be beneficial for QNX Neutrino to make automatic analysis and determine what the correct order of the startup of the processes should be in order to achieve the best startup of the system. I think that could be a valuable addition.
For how long have I used the solution?
I have been using QNX Neutrino for approximately ten years.
How are customer service and support?
Regarding specific outcomes, I cannot speak to that because when I started, we were already using QNX Neutrino. We were only updating it, building upon it, and reconfiguring different systems. I observed that QNX Neutrino was easy to work with and had very good support. Therefore, I cannot say if it was better than anything else.
What other advice do I have?
I do not think I can give that kind of advice to others looking into using QNX Neutrino because it is very specific to the people that are using it, and it depends on everyone's specific needs, projects, and so forth. It is not advice that I would give in a general manner.
I would rate QNX Neutrino a nine on a scale of one to ten.
I give it a nine because I always operate with the idea that something could be improved, even if I do not know that it exists. I cannot give a perfect score just for that reason. It is certainly a better option than Linux for those kinds of projects.
I have no additional thoughts about QNX Neutrino.
Which deployment model are you using for this solution?
On-premises