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
- Udacity - Good, free, self-paced online courses about operating systems.
- Operating Systems: Three Easy Pieces - An excellent book on operating systems.
- Advanced Programming in the Unix Environment - May help you grasp UNIX & POSIX standards.
- Operating Systems - A well praised book on the subject.
- Operating System Concepts - Another well praised book.
- Modern Operating Systems - This book has achieved world-wide praise. Of course the cat-v.org people don't like it.
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
Capabilities
- Capabilities
- Capability-based security (Wikipedia)
- What is a Capability, Anyway?
- Capability Theory by Sound Bytes
- What Are Capabilities?
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).
Presentations
- 2022
- FOSDEM: presentation (including video) by Damien Zammit: A practical solution for GNU/Hurd's lack of drivers: NetBSD's rumpkernel framework (slides)
- 2019
- FOSDEM: presentation (including video) by Samuel Thibault: A roadmap for the Hurd? (slides)
- 2018
- FOSDEM: presentation (including video) by Samuel Thibault: Hurd's PCI arbiter (slides)
- 2017
- FOSDEM: presentation (including video) by Manolis Ragkousis: Adding GNU/Hurd support to GNU Guix and GuixSD (slides)
- FOSDEM: presentation (including video) by Justus Winter: Virtualization on the Hurd (slides)
- 2016
- FOSDEM: presentation by Manolis Ragkousis: Adding GNU/Hurd support to GNU Guix (slides)
- FOSDEM: presentation (including video) by Samuel Thibault: Hurd, Rump kernel, sound, and USB (slides)
- 2015
- FOSDEM: presentation by Samuel Thibault: Along the GNU Hurd RPC way -- A starting guide to contributing to the GNU Hurd (slides)
- Debconf: presentation (including video) by Samuel Thibault: Debian GNU/Hurd Status update (slides|video|transcript)
- 2014
- FOSDEM: presentation by Samuel Thibault: GNU/Hurd DDE userland device drivers (slides, video)
- 2013
- GNU Hackers Meeting in Paris: presentation by Samuel Thibault: Recent developments in the Hurd (slides, video)
- FOSDEM: presentation by Samuel Thibault: The GNU/Hurd architecture, nifty features, and latest news (slides)
- 2011
- GNU Hackers Meeting in Paris: presentation by Samuel Thibault: GNU/Hurd, aka. Extensibility from the Ground (slides, video)
- 2010
- GNU Hackers Meeting in the Hague: video of the presentation by Neal Walfield: GNU/Hurd: It's About Freedom (Or: Why you should care)
- Debconf: presentation (including video) by Michael Banck: Debian GNU/Hurd -- Past. Present. And Future? (slides)
- FOSDEM: Why is Anyone Still Working on the GNU Hurd? (Sun., 10:30, Alt-OS Developer Room)
- FOSDEM: Porting KGI graphics drivers from Linux to GNU Hurd (Sun., 13:00, Alt-OS Developer Room).
- 2004
- Ognyan Kulev, presentation of the Hurd at the seminar LIO and friends, in Bulgarian.
General
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/