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

/!\ A lot of stuff is still missing (open issue documentation).

Basic Knowledge

Before you can go details, you have to learn the basics about operating system architecture. Yes, really.

Operating Systems Basics

You can find good free, self-paced online courses about operating systems on . A free textbook about operating systems is called Operating Systems: Three Easy Pieces.

GNU/Hurd System Architecture


shapiro capintro 1999: What is a Capability, Anyway?, Jonathan Shapiro, 1999. This is an easily readable introduction with good examples. In the author's own words, the text provides a layman's introduction to capabilities, describing what they are, what they do, and why they result in better security than today's computer systems.

Quick overview

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



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 micro kernel itself (Mach).