Software for airborne systems must be DO178B certified in the US, in
Europe there's a similar standard, can't remember the abbrev. right now.
There are different levels for that, depending on the criticality of the
software. E.g. the inflight entertainment system requires a less strict
level of certification than the fly-by-wire software, since this can kill
For the highest criticality levels you need things like testing with 100%
code coverage, you need to track all requirements and you have to be able
to document in which lines of code each requirement is implemented, you
must not have code where you don't have a requirement for it, each line
of code must be "signed" by at least two developers, etc.
I think the Linux kernel is just too big and moving too fast to do this.
Or, as somebody else already said, if you snapshot a kernel, strip out
unneeded drivers, then start the testing, documenting etc., you are
probably not better off than with another solution (months or years
behind Linus tree, patches don't apply, behaviour is different because
you changed so much, etc.).
So for these systems really a small OS (in LOC) is a good choice, it is
just easier to certifiy (there are also free RTOS). RTOS in general are
not necessarily something very sophisticated or complex, often they are
actually quite simple and stripped down compared to a general purpose OS.
But this makes them easier predictable and also certifiable.