A kernel made of
cooperating strangers.
The GNU Hurd is a collection of user-space servers running on top of the GNU Mach microkernel. Instead of one privileged program doing everything, each capability of the operating system — filesystems, networking, process bookkeeping, authentication — is its own small, replaceable program talking over message passing.
18 servers & translators
The Hurd ships roughly two dozen cooperating servers and translators. These are the ones you meet in a typical running system, laid out by what they do — one shelf per category, one silhouette per kind of job.
From power-on
to login prompt.
GRUB loads the kernel
Monolithic vs microkernel
vs hybrid.
Every column splits the same way: an application in user mode on top, a kernel/user-mode boundary, and the operating system's own services underneath. Monolithic (Linux-style) fuses everything into one privileged kernel block. The Hurd's microkernel keeps only IPC, scheduling and memory in kernel mode and runs every service as an ordinary user-space server. A hybrid kernel splits the difference, pulling the file server and Unix personality server back into kernel mode.
Run the simulation from the console to see where a filesystem bug can and cannot take the system down.
Type a command,
watch it cross the system.
Every shell command is a new Mach task that spends its short life sending IPC messages to a handful of Hurd servers before printing a reply. Type one into the console and follow the hops.
Waiting for input
Type a command into the console on the left and press Enter.
One command,
a brand-new filesystem.
settrans attaches an ordinary, unprivileged program to any node in the
namespace. From that moment every lookup underneath it — ls,
cat, open() — is answered by that program instead of
whatever it is sitting in. No kernel changes, no root required.
no translator attached
Pick a translator in the console, then attach it to /mnt.
The same sequence,
on a real machine.
Everything on the previous pages is a model. This is the console log of an actual Debian GNU/Hurd image booting under QEMU — the same servers, in the same order, on hardware the kernel believes is real.