When the Linux kernel is huge (MLoCs!), complex and lacks stable internal APIs, this should not surprise anyone.<p>There are better ways to do it, and it is being done.<p>Refer to the microkernel multiserver architecture, with efforts such as Genode (on seL4) or Fuchsia.