Then you enter the realm about hardened / realtime systems, where guarantees about eg. execution time are required. Those usually require a different aproach to kernel development anyway -- I do know there is something like RT Linux, but I have no idea how big it is.
Although there are versions of Linux that are hard-realtime, the approach they take is to have a proper RTOS "underneath" Linux and effectively run Linux as a non realtime process.
Linux as a whole is far too large and dynamic for deterministic response.
Linux does get used a lot for soft realtime applications tho, especially in the military world.
Not necessarily. Most systems within the medical context does not have any realtime requirements, after all. A watchdog restart may be only a nuisance.
It would be nice of embedded systems engineers thought about things such as memory overcommit, but in real life they are as most of us: Stuck with old code bases that someone built right before leaving.