GNU Hurd

from Wikipedia, the free encyclopedia
GNU Hurd
HURD Live CD.png
HURD Live CD login
developer Thomas Bushnell, Roland McGrath, Marcus Brinkmann, Neal Walfield
License (s) GNU GPL
Current  version 0.9 (December 18, 2016)
Kernel Microkernel
ancestry Unix
↳ GNU Hurd
Architecture (s) IA-32
Languages) multilingual
Others In development

GNU Hurd is a kernel (operating system kernel ) written in assembler and C with a microkernel as the basis. This implements file systems , network protocols , file access controls and other properties. Development of the kernel began in 1990 and is still ongoing, while utilities such as gcc , Emacs, and others created for development have become widespread in the open source community.


Hurd uses GNU Mach , a further development of the Mach microkernel of the last version 4 from 1996. In 2002 an attempt was made to port Hurd to the L4 microkernel, but this project was abandoned in 2005.

After the porting from Java to GNU Hurd as part of the Google Summer of Code (2011), it was discussed to include the system kernel in Debian Wheezy. However, the idea was later discarded.

The Hurd operating system components run as separate processes ( called servers ). Due to the design of the GNU Hurd, most operating system actions no longer require any privileges. This is achieved by removing device drivers , file systems , network protocols and the like from the privileged address space of the system kernel and running them as normal user processes so that (theoretically) they cannot cause any damage to the overall system.

However, a process can be given special privileges in order to be able to perform special operating system functions. This concept offers a number of advantages:

  • Should a process fail in its service, it cannot simply bring the kernel to a standstill.
  • Programs in user space are easier to debug .
  • Unless certain privileges are required, each user can set operating system components himself, for example to set up his own file system. Since the corresponding operating system component then runs unprivileged, it does not pose a security risk. In addition, the user does not need to use the built-in functions of the kernel, but can create the service himself at will, without affecting the integrity of the system can.

So-called translators answer requests for access to a mount point . This can be a single file or an entire directory hierarchy in the file system . This allows programs to benefit from the possibilities of Hurd with the usual file operations even without special adjustments. This is useful, for example, for low-level implementations of virtual file systems : The FTPFS translator displays a directory on the assigned file at runtime (the difference between files and directories is very small in Hurd), which can be accessed like a normal directory ; however, ftpfs translates the file operations into FTP operations that are sent to a server. This essentially corresponds to the functionality of graphically oriented FTP clients, in which remote directories look like local ones, but Hurd's ftpfs enables normal programs such as ls or cat to be used on the remote server.

GNU Hurd distributions

Name meaning

The name part Hurd (formerly also HURD ) of GNU Hurd is a complex recursive acronym , namely a (two-stage) indirect acronym , which in the first resolution HIRD of Unix-Replacing Daemons (German: " Herd Unix-ersetzender Dienst") reads. HIRD is in turn dissolved to HURD of Interfaces Representing Depth (German: " Herd depth-representing interfaces "). The above translation is not an exact one, but rather gives the meaning of the two made-up words associative or on an onomatopoeic level, because it is only based on the English pronounced the same (here: not generally indistinguishable). Word herd (German: herd). Thanks to the acronyms and onomatopoeic alienation, two traditions common among hackers are used simultaneously.


  • On May 4th 2013 a version of Debian with GNU Hurd as kernel was released with Debian GNU / Hurd . This Debian version corresponded to the then current unstable release (code name "Sid") of Debian GNU / Linux with a slightly reduced package size. With around 10,000 packages, it comprised 75% of the Linux version. The following version of GNU Hurd from September 2013 was given version number 0.5.
  • Edition 0.6, released on April 15, 2015, supports the Procfs virtual file system . In addition, a Sys-V -like start program is now used.
  • Version 0.7 was released on October 31, 2015 with an improved hard disk cache; fakeroot was also improved. The rpcscan program helps to search for microkernel processes that offer system services and to display which remote procedure calls they are currently processing. Synchronization problems between filesystem translators, libdiskfs and libpager have been fixed.
  • Version 0.8 received new and updated libraries on May 18, 2016 (netfs, integer hashing library, hurd-slab). She uses the new Mach version 1.7.
  • Version 0.9 was released on December 18, 2016 and uses Mach 1.8. In addition to bug fixes, an Ethernet multiplexer for virtual interfaces and the packet filter libpf (the Berkeley Packet Filter Library ) have been added.
  • Currently (as of July 2019) about 80% of the package size of the current unstable release has been ported by Debian.

See also

Web links

Commons : GNU Hurd  - album with pictures

Individual evidence

  1. GNU Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released
  2. ^ Introduction to the Hurd . on the GNU website, October 2, 2005.
  3. GNU Hurd / microkernel / mach / history. GNU Mach and OSKit-Mach. In: GNU Hurd., accessed on October 7, 2018 (English): “GNU Mach is based on Mach4 from University of Utah , which in turn is based on Mach3 from Carnegie-Mellon University . The last release of Mach4 was the UK22 release. "
  4. Porting the Hurd to another microkernel . on the GNU website, June 29, 2011.
  5. ^ Samuel Thibault: Bits from the Debian GNU / Hurd porters. In: Debian mailing list debian-devel-announce. February 4, 2012, accessed on January 9, 2013 (English): "Since the ftp-master meeting in July 2011, significant improvements have been made, and a technological preview of GNU / Hurd with Wheezy, as was made for kFreeBSD did for Squeeze, is still the target. "
  6. List of release architectures for Debian Wheezy
  7. GNU Hurd / news , accessed August 24, 2020
  8. GNU Hurd / news , accessed August 14, 2020
  9. Falko Benthin: Debian GNU / Hurd 2013: Debian with Mach-Microkernel. In: May 23, 2013, accessed August 14, 2020 .
  10. GNU Hurd / news / 2013-09-27 , accessed August 14, 2020
  11. Kernel: GNU Hurd 0.6 released . , April 17, 2015
  12. The herd moves on: GNU Hurd 0.6 . Heise online , April 22, 2015
  13. Hans-Joachim Baader: GNU Hurd 0.7 published. In: Software :: Distributions., November 3, 2015, accessed on November 29, 2015 .
  14. ^ Moritz Förster: Progress: GNU Project updates Hurd and Mach. In: Software :: Distributions., May 18, 2016, accessed on May 19, 2016 .
  15. Tilman Wittenhorst: GNU Hurd 0.9 published. In: iX . December 20, 2016, accessed February 26, 2018 .
  16. Debian GNU / Hurd 2019 released , accessed August 14, 2020