kids encyclopedia robot

GNU Hurd facts for kids

Kids Encyclopedia Facts
Quick facts for kids
GNU Hurd
Hurd-logo.svg
Debian GNU HURD text mode screenshot.png
Company / developer GNU Project
Thomas Bushnell
Roland McGrath
Marcus Brinkmann
Neal Walfield
Samuel Thibault
Programmed in Assembly, C
OS family Unix-like
Working state Current
Source model Free software
Initial release 1990; 35 years ago (1990)
Latest stable release 0.9 Edit this on Wikidata / 18 December 2016
Supported platforms x86-64, IA-32, i686, ARM
License GPL-2.0-or-later

GNU Hurd is a special part of a computer's operating system. It's like the central brain that helps all the other parts work together. It has been developed since 1990 by the GNU Project, which is part of the Free Software Foundation. GNU Hurd was designed to replace the original Unix kernel, which is another type of computer brain. It is available as free software, meaning anyone can use, study, change, and share it.

The Hurd's design uses many small programs, called servers, that work together on a special core called the GNU Mach microkernel. The goal of Hurd is to be better than traditional Unix systems in how it works, how safe it is, and how stable it is. It also tries to be very similar to Unix so programs can run easily. The GNU Project chose this design because they thought it had many benefits over older, single-piece kernel designs.

What's in the Name and Logo?

The name "Hurd" is quite clever! In December 1991, the main person working on Hurd explained it.

It's time [to] explain the meaning of "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.

This means "Hurd" is an acronym for "Hird of Unix-Replacing Daemons," and "Hird" is an acronym for "Hurd of Interfaces Representing Depth." It's like a word puzzle!

Since "hurd" and "hird" sound like "herd," the full name GNU Hurd is also a fun play on words, like a "herd of gnus." This shows how the different parts of the kernel work together, like a group.

The logo for GNU Hurd is called the Hurd boxes. It shows how the system is built. The boxes represent the different servers in the Hurd kernel, and the lines between them show how they send messages to each other.

How Did GNU Hurd Develop?

Richard Stallman started the GNU Project in September 1983. His big goal was to create a completely free operating system. First, they built many important tools like text editors, a command line shell, and compilers. By 1989, the GPL was created, which is a special license for free software. The only big piece still missing was the kernel, the very core of the operating system.

Work on Hurd began in 1990. Before that, there was an earlier attempt in 1986 that didn't work out. The first plan for Hurd was to use parts of another system called 4.4BSD-Lite. However, in 1987, Richard Stallman suggested using the Mach microkernel from Carnegie Mellon University. This caused a three-year delay because they weren't sure if the Mach code would be released as free software.

In 1991, the Linux kernel was released. It quickly became very popular and worked well with the other GNU tools. This led to many operating systems being called "GNU/Linux" systems.

Development of GNU Hurd has been slow. Even though there was hope for a release in 2002, Hurd is still not ready for everyday use. It still has bugs and needs more features. Richard Stallman said in 2010 that he wasn't very hopeful about GNU Hurd. He felt it needed to solve many big problems to be truly better. However, he also said that finishing it wasn't the most important thing for the GNU system anymore, because the free Linux kernel already existed.

The Debian project, a group that creates free operating systems, has been working on making versions of GNU Hurd that people can install and use.

After some quiet years, development on Hurd became more active in 2015 and 2016. Several new versions were released during this time. In August 2015, it was announced that GNU Guix, a system for managing software, was able to run on GNU Hurd.

How Does GNU Hurd Work?

OS-structure2
General structure of monolithic, microkernel and hybrid kernel-based operating systems, respectively.

Most Unix-like operating systems have a single, large kernel. But GNU Hurd is different. It uses a server-client design. This means it's built on a microkernel, which is a very small core. This microkernel handles the most basic tasks, like managing the computer's CPU, RAM, and other devices like sound cards or hard drives. In theory, this design means that all the parts that control devices could be separate programs. However, for now, many of these device controllers are still inside the GNU Mach kernel.

Hurd developers believe that the main benefit of this microkernel design is that it's easy to add new features. If you want to create a new part for the system, you don't need to know everything about the rest of the kernel. Also, if one part has a problem, it shouldn't crash the whole system.

Hurd also has a cool feature called translators. These are like special programs that can change how a file or a whole folder works. For example, a translator can make a file act like a shortcut to another file. You can also use translators to connect to other services. The ftpfs translator, for instance, lets you access files on a remote FTP site as if they were on your own computer. You can then use normal commands like ls (list files) or cp (copy files) to work with them. Another powerful translator is UnionFS, which lets you combine several folders into one. When you look at the combined folder, you see everything from all the original folders.

To start up, GNU Hurd needs a special program called a GRUB boot loader.

What Are Hurd's Servers?

The Hurd system uses many different servers that work together. Each server handles a specific job. Here are a few examples:

  • auth (authentication server): This server checks your passwords and gives programs the right permissions.
  • exec (execution server): This server helps turn program files into something the computer can run.
  • init (initialization server): This server helps the system start up and get ready.
  • proc (process server): This server manages all the running programs on your computer.
  • pfinet (pfinet server): This server helps your computer connect to the internet.
  • ext2fs (ext2 filesystem translator): This server helps your computer read and write files on hard drives that use the ext2 format.
  • isofs (isofs translator): This server helps your computer read files from CDs or DVDs.
  • ftpfs (File Transfer Protocol filesystem translator): This server lets you access files on remote FTP servers as if they were on your own computer.

All these servers work together to make the system behave like a standard Unix system, allowing programs to run smoothly.

GNU Systems Running Hurd

Debian GNU HURD XFCE desktop screenshot
Debian GNU/Hurd with Xfce

Several groups have created operating systems that use GNU Hurd as their core. Some of these include:

  • Arch Hurd
  • Debian GNU/Hurd
  • Gentoo GNU Hurd (development stopped)
  • Guix System (still being developed)

See also

Kids robot.svg In Spanish: GNU Hurd para niños

kids search engine
GNU Hurd Facts for Kids. Kiddle Encyclopedia.