/!\ Some stuff is missing (see Documentation Issues).

Are you interested in getting familiar with the GNU/Hurd system architecture, or specific components of it? Here is a collection of texts to read.

Basic Knowledge

Before diving in, you should learn basic operating system architecture (Yes, really). You needn't go through all of these, but they're very enjoyable if you want to.

Operating Systems Basics

GNU/Hurd System Architecture

You may want to start reading a quick overview of how the GNU/Hurd system starts, and thus how it is structured. Also see our FAQ


In the Hurd, a capability is represented by a Mach port.

Specific Components

The GNU/Hurd system is composed of the Hurd servers running on top of the GNU Mach microkernel. Mach only handles scheduling tasks and threads, memory management, and message passing. Mig is used to abstract RPCs on top of Mach's message passing. Eventually, the Hurd servers and Unix processes discuss with each other using these RPCs.

Depending on your background, you may want to start reading the documentation from userlandish interfaces (Hurd) or from the microkernel itself (Mach).



The IRC logs contain wealth of information. Many topics have been covered before in the IRC logs. You can use wget to download all of the logs and grep for the information that you want (~100MB):

 wget --mirror --no-parent -A "hurd-*" -e robots=off http://richtlijn.be/~larstiq/hurd/