One thing that Linux is doing, albeit only in makeshift, uncoordinated fashion, is making userspace μkernel-like implementation possible for things that used to be exclusive to the kernel. Combine this with full "containerization"/namespacing of all kernel interfaces, live snapshotting and migration of containerized workloads, maybe distributed shared memory allowing for even multiple threads of a single process to be run seamlessly on the same or different nodes with full location independence. This gives you pretty much everything that network-distributed OS's were designed to do in the 1990s, and allows Linux to extend seamlessly from small embedded to datacenter-scale workloads that used to be exclusive to proprietary OS's.