(private) pilot here.
Its not as bad as that sounds; FADEC is fully embedded software, written in ROM, and with at least one level of redundancy. like most systems on commercial planes.
one engine computer not running properly? turn it off, give control to the backup. Any flight-critical systems in a commercial plane will have a couple layers of redundancy, with the pilots ability to disable and swap control whenever. Not just on your engine electronics, all your electronics is connected to a circuit breaker in the cockpit. Every plane i've flown in has this layout, and im not even a commercial pilot.
Aerospace is a horrendously risk-averse sector. Anything that could possibly hurt someone has to be made as safe as possible for commercial aviation; they don't care about how open-source it is, they only care about safety.
Keep in mind, 99% of aircraft electronics in use were developed before 1995.
I have thought about building a kit plane and an operating system based on BSD for homebuilders of airplanes to not have to pay garmin 10k for a GPS system. Could be done with a raspberry pi and shitty lcd for 150$. I'd make the operating system not airplane-specific, but able to bring the level of safety and redundancy considered necessary for airplane safety.
But i'm not a programmer, I just like how linux is configurable and free. I have a cursory knowledge of what hardware electrical standards are used in airplanes, it varies WIDELY. Different airplanes have different power sources; some have alternators in the engine, some have auxilliary power units for power, all run at various voltages, amperages and whatnot. A couple planes even have three-phase power provided all throughout.
I don't know nearly enough to start a free OS, let alone how to maintain one or what packages to choose to use. But there needs to be a better solution for operating systems on homebuilt vehicles, and it better be Linux and gpl. If anons would be willing to help me with this, i've been seriously consider it (it would give me a good excuse to build an 'expirimental' airplane to skirt various FAA inspection regulations)
the engine controller is a seperate part, attached to/near the engine. It has its own firmware, redundancy, and interfaces. This is usually to simplify wiring into the cockpit(they use rj-45 for most data connections on airliners, to communicate between various systems(engines, flaps, gear, pressurization, de-icing, lights, radio, and nav equip. all flight-critical) and the central computer)