Readablewiki

Collocation (operating systems)

Content sourced from Wikipedia, licensed under CC BY-SA 3.0.

Collocation is a technique in operating system design that aims to speed up microkernel-based systems. It works by moving code that would normally run as separate processes into the kernel, so the system can do fewer context switches and less inter-process communication. This makes parts of the system feel more like a single, large program running in one address space, even though it’s still built from interacting components.

In the 1990s, collocation was studied to improve Mach-based systems, with MkLinux as an example. It did reduce overhead, but overall it still didn’t match the performance of traditional monolithic kernels like Linux on the same hardware.

As computers gained more memory and disks got faster, building large monolithic kernels became easier and more attractive. Collocation became less common, and some collocation-based systems moved to monolithic designs such as macOS’s XNU kernel.

Another idea to cut communication overhead is the unikernel, which runs a single application with a minimal kernel.

Today, collocation is much less common in operating system design.


This page was last edited on 3 February 2026, at 10:27 (CET).