Mach was an early microkernel-based operating system from the 1980s that served as the basis for several later systems. It employed asynchronous inter-process communication (IPC) which led to significant performance penalties compared to monolithic kernels. The L3 and L4 microkernels from the 1990s improved IPC performance by an order of magnitude through techniques like synchronous IPC and architecture-specific optimizations. This helped validate that microkernels could achieve adequate performance. L4Linux brought the Linux kernel to run as a user process on top of L4 microkernels like Fiasco.OC. It required paravirtualizing portions of Linux to interface with the microkernel but typically incurred only 5-10% performance penalties compared to native