[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!meta title="What Is the GNU Hurd?"]] The Hurd is the GNU project's replacement for the [[UNIX]] system's [[kernel]]. The Hurd is firstly a collection of protocols formalizing how different components may interact. The protocols are designed to reduce the mutual [[trust]] requirements of the actors thereby permitting a more [[extensible|extensibility]] system. These include interface definitions to manipulate files and directories and to resolve path names. This allows any process to implement a file system. The only requirement is that it have access to its backing store and that the [[principal]] that started it own the file system node to which it connects. The Hurd is also a set of [[servers|translator]] that implement these protocols. They include file systems, network protocols and authentication. The servers run on top of the [[microkernel/Mach]] [[microkernel]] and use Mach's [[microkernel/mach/IPC]] mechanism to transfer information. The Hurd provides a compatibility layer such that compiling higher level programs is essentially transparent; that is, by means of the [[glibc]], it provides the same standard interfaces known from other [[UNIX]]-like systems. Thus, for a typical user, the Hurd is intended to silently work in the background providing the services and infrastructure which the [[microkernel]] itself has no business implementing, but that are required for higher level programs and libraries to operate. Let's look at an example. [[!img open_issues/images/overview.svg]] Firefox invokes glibc's `send ()`, which in turn uses the pfinet (or lwip) TCP/IP stack, which talk to our device drivers (rump or netdde), which finally talk to GNU Mach. Only GNU Mach runs in kernel space! Everything else is userspace! The Hurd supplies the last major software component needed for a complete [[GNU_operating_system|running/gnu]] as originally conceived by Richard M. Stallman (RMS) in 1983. The GNU vision directly drove the creation and has guided the evolution of the [Free Software Foundation](http://fsf.org/), the organization that is the home of the [GNU project](http://gnu.org/gnu/). The Hurd development effort is a somewhat separate project from the [[Debian_GNU/Hurd|hurd/running/debian]] port. Read about what the GNU Hurd is [[gramatically_speaking]]. Read about the [[origin_of_the_name]].