8 hours ago
- Microkernels keep only scheduling, I/O device access management, and IPC in the kernel; everything else runs in userspace.
- Benefits include better security (driver bugs only affect a subsystem), reliability (crashes are isolated), and modularity (easier to maintain).
- Historically, microkernels were rejected due to high overhead from context switches and memory copying without IOMMUs.
- Modern IOMMUs enable zero-overhead IPC via shared ring buffers with atomic operations, eliminating context switches in the happy path.
- Implementation can reuse Xen for the hypervisor layer, Mach-like servers from FreeBSD, and Linux DRM for graphics in userspace.
- Shared libraries can be linked at launch time (exokernel style), and redundancy is less of a concern today.