# <a name="Table_of_Contents"> Table of Contents </a> %TOC% # <a name="Introduction_to_the_Hurd"> Introduction to the Hurd </a> The GNU Hurd is the GNU project's replacement for the Unix kernel. The Hurd is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). Currently, the Hurd runs on IA32 machines. The Hurd should, and probably will, be ported to other hardware architectures or other microkernels in the future. # <a name="Advantages_of_the_Hurd"> Advantages of the Hurd </a> The Hurd is not the most advanced kernel known to the planet (yet), but it does have a number of enticing features: <dl> <dt><b>it's free software</b></dt> <dd> Anybody can use, modify, and redistribute it under the terms of the <a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License (GPL)</a>. </dd> <dt><b>it's compatible</b></dt> <dd> The Hurd provides a familiar programming and user environment. For all intents and purposes, the Hurd is a modern Unix-like kernel. The Hurd uses the <a href="http://www.gnu.org/software/libc/libc.html" target="_top">GNU C Library</a>, whose development closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix, SVID, and X/Open. </dd> <dt><b>it's built to survive</b></dt> <dd> Unlike other popular kernel software, the Hurd has an object-oriented structure that allows it to evolve without compromising its design. This structure will help the Hurd undergo major redesign and modifications without having to be entirely rewritten. </dd> <dt><b>it's scalable</b></dt> <dd> The Hurd implementation is aggressively multithreaded so that it runs efficiently on both single processors and symmetric multiprocessors. The Hurd interfaces are designed to allow transparent network clusters (collectives), although this feature has not yet been implemented. </dd> <dt><b>it's extensible</b></dt> <dd> The Hurd is an attractive platform for learning how to become a kernel hacker or for implementing new ideas in kernel technology. Every part of the system is designed to be modified and extended. </dd> <dt><b>it's stable</b></dt> <dd> It is possible to develop and test new Hurd kernel components without rebooting the machine (not even accidentally). Running your own kernel components doesn't interfere with other users, and so no special system privileges are required. The mechanism for kernel extensions is secure by design: it is impossible to impose your changes upon other users unless they authorize them or you are the system administrator. </dd> <dt><b>it exists</b></dt> <dd> The Hurd is real software that works Right Now. It is not a research project or a proposal. You don't have to wait at all before you can start using and developing it. </dd> </dl> # <a name="What_the_Hurd_means"> What the Hurd means </a> According to Thomas Bushnell, BSG, the primary architect of the Hurd: \`Hurd' stands for \`Hird of Unix-Replacing Daemons'. And, then, \`Hird' stands for \`Hurd of Interfaces Representing Depth'. We have here, to my knowledge, the first software to be named by a pair of mutually recursive acronyms. # <a name="Status_of_the_project"> Status of the project </a> The Hurd, together with the GNU Mach microkernel, the GNU C Library and the other GNU programs, provides a rather complete and usable operating system today. It is not ready for production use, as there are still many bugs and missing features. However, it should be a good base for further development and non-critical application usage. GNU/Hurd is completely self-contained (you can compile all parts of the Hurd system from GNU/Hurd itself). You can run several GNU/Hurd systems in parallel, and debug even critical servers in another GNU/Hurd with gdb. You can run the X window system, applications that use it, and advanced server applications like the Apache webserver. On the negative side, the support for character devices (like sound cards) and other hardware is mostly missing. Although the POSIX interface is provided, some additional interfaces like POSIX threads, shared memories or semaphores are still under development. All this applies to the current development version, and not to the last release (0.2). We encourage everybody who is interested to try out the latest development version, and send feedback to the Hurd developers. ---- Copyright (C) 2001, 2002 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. -- [[Main/JoachimNilsson]] - 13 May 2002 ---- # <a name="Language_and_the_Hurd"> Language, and the Hurd </a> The Hurd has its share of linguistic debate. The subject of proper usage comes up quite often. We call our kernel replacement \`\`the Hurd.'' Although Thomas Bushnell, BSG states that the word \`\`Hurd'' is an acronym; we do not treat it as such, but rather as a concrete noun. It is widely regarded as incorrect to use the term \`\`HURD'' or \`\`H.U.R.D.'' So, to refer to the collection of servers running on top of the microkernel, we would say, \`\`I have upgraded to the latest version of the Hurd.'' Since the Hurd is part of the GNU Project, we also refer to it as \`\`GNU Hurd'' which is treated as a proper noun. The Hurd, in conjunction with Mach, forms the core of the GNU operating system. So, one can say \`\`I have installed GNU on my friend's new computer.'' The Debian Project clarifies this by using the name \`\`Debian GNU/Hurd'', because it also distributes the GNU/Linux variant of GNU. To pronounce the word \`\`Hurd,'' you should say the English word \`\`herd.'' This is pronounced as \`\`hɚd'' using the International Phonetic Alphabet. -- [[Main/SimonLaw]] - 16 May 2002