Do safety-critical avionics systems run Linux?
None of the avionics systems I've worked on have used Linux or any consumer-type operating system. There are a few main issues.   

First is the practical. Most safety-critical avionics involve a control loop and thus have a real-time requirement. That means it's not just important to run a process and get an answer, you need to get the answer within a tightly-controlled time constraint.  Every critical software process on an aircraft is scheduled to ensure that you have a stable control loop.  To do that, you need a real-time OS and Linux isn't one.  

Second is the need for certification.  Software used on an aircraft has to be developed to meet the appropriate development assurance level (DAL) for the associated hazard level.  Safety critical systems are required to meet DAL level "A". Any OS you use has to meet the same DAL as the function running on it.  These requirements are defined in RTCA DO-178C. Linux wasn't developed to this standard. There are only a few OS/software development platforms that are capable of being certified. Green Hills, Wind River, and LynxOS are the few systems I'm familiar with that meet the requirements.  

There is also one other constraint in that certification requires very stringent version control.  Avionics will exist in the field for many years and any changes to it have to be certified as well.  Generally, there's no valid reason to update the OS on an old unit, and in many cases you couldn't without upgrading hardware (which is a bigger expense no one wants). So in updating an old unit I have to build the 'new' software to run on the whatever version of OS currently exists in the product. That could be a 15 or 20 years old (or older) platform. A rapidly evolving OS such as Linux would have a negative impact on long term product support.