Y888099 wrote:Why your comment is so negative? VxWorks is a RealTime OS, certified to be used in avionics, automotive, etc.
Having more than a decade of vxWorks experience under my belt, let me say this:
* The licensing costs are very high. If you want vxWorks 653 (certified for critical operations), licensing costs are infernal.
* vxWorks BSPs do not sufficiently abstract the hardware. Every BSP implements certain things you take for granted in a subtly different way. Things like interrupt handling. They generally do not configure the PCI bus, except for hard coded configuration of PCI devices on the SBC.
* As a result of the above, if you support multiple SBCs you end up writing your own OS abstraction layers, and to support 'N' different SBCs running 'M' different versions of vxWorks you end up shipping and supporting MxN different builds which is a nightmare.
* Most people still demanding vxWorks do it because they're entrenched in it. That means even though vxWorks supports kernel/userland separation these days, they demand DKM binaries, which means everything runs inside kernel space and there's zero protection. Heck, everything shares the same namespace: if two processes have a function 'f()', the last one loaded overwrites the first one. Ugh.
* Much of the hardware that runs vxWorks is very specialized. Access to documentation or even a spec sheet can be a problem. I'm not talking about signing an NDA, things like ITAR
may prevent disclosure of such information to a non-US resident like myself. A violation of ITAR can cost a US company hundreds of millions so they take it *very* seriously.
* You mention avionics etc, but that's not vxWorks but vxWorks653 which is an entirely different animal. '653' is indeed certified for crtitical operations, and they mostly did that by starting from something arcane (vxWorks 5.4 I believe) and stripping out everything that's useful. It is a total nightmare to code for. And don't stare yourself blind on the 'flight approved' glamour: in reality this means your code has to be audited and certified as well, which is a lengthy and unbelievably expensive process.
The whole vxWorks ecosystem is the opposite of e.g. open source: it's secretive, requires support contracts and money. I can imagine that miod doesn't like it
NB: If you want something running X11R4, try an Indigo running IRIX4