Monday, October 15, 2007

The GNU hurd

Most Linux users out there, think that their whole system is named just “Linux” (or perhaps the distribution name). For a large number of reasons, which I do not intend to analyze in this post, this is not, and should not be the case. The actual name is GNU/Linux since only the Linux Kernel is “Linux” and the rest of the system (including some vital parts such as glibc or GCC) are parts of the GNU Operating System. Linux was chosen as the kernel for the GNU system at a time when the GNU project had a nearly working operating system, which however lacked a working kernel (although an initial implementation of the Hurd existed).

The GNU Hurd, is a kernel designed and maintained by the GNU project. According to the GNU website, the kernel is “not ready for production use”, it is however a very interesting attempt to replace the Unix kernel and may soon provide an alternative to the Linux kernel for the GNU Operating System. The word HURD is an acronym that stands for “HIRD of Unix-Replacing Daemons”, and HIRD is also an acronym that stands for “HURD of Interfaces Representing Depth”, making it a co-recursive acronym. As Thomas Bushnell, BSG, comments at the official Hurd website “We have here, to my knowledge, the first software to be named by a pair of mutually recursive acronyms”.

A main difference between the Linux Kernel and the GNU Hurd, is that while Linux is a monolithic kernel, the Hurd is a microkernel (actually it uses the GNU Mach microkernel). This might seem like a little and unimportant detail to the average user but someone with enough knowledge and experience can understand the fundamental differences of these kernel implementations. Both architectures have advantages and disadvantages and for the time being the only truly well-tested implementation is the Linux kernel, but if the Hurd finally manages to reach a stable level, we might experience a growth similar to the one that made Linux the mature, stable kernel it is.

Not being stable and fast enough (yet), makes Hurd unsuitable for use in production systems. This is mainly the reason why there are very limited distributions that use Hurd as their kernel (actually there are only two, the Bee GNU/Hurd and the Debian GNU/Hurd). This lack of distributions has kept Hurd outside the “OS wars” and thus limited its target group to developers and very experienced *nix users.

Via (linux4coffee.)

No comments: