GNU/Hurd vs. GNU/Linux
At this point in time, considering there is no «stable» distribution of GNU/Hurd, the major advantages seem to lie with Linux.
A good place to start understanding the differences between a Mach microkernel, and a traditional monolithic unix kernel is the Wikipedia page on Mach (Kernel).
As an interesting note, Mac OS X, uses a Mach Kernel, called XNU. Though based on Mach 3.0, it’s not a microkernel, like Hurd is. It makes sense, since Jobs brought the Mach kernel from NeXT to Apple when Apple bought NeXT.
Status Update 2018
In the first 6 months of 2018, the git repo for HURD received only 40 commits, so rumors of stability may be exaggerated. And the number of active code contributors is down to something like 5. So, GNU/Hurd is still at a major disadvantage to GNU/Linux. Check back in 2025 after another 7 years, for another update.
Solution 2
Hurd was the original ‘anticipated’ kernel BEFORE Linux existed. It has been under development, seemingly for years. During that time, Linus Torvalds along with volunteers worldwide, developed and implemented a kernel that is large, but worked. It was enhanced with programmers from many software firms including Redhat, HP and IBM. It is reliable and works. Mach adhere to the Minix philosophy of having a simple microkernel. I would suggest you take a look at the work of Minix if you would like to see the differences in philosophy. Though the microkernel may have some theoretical advantages, all of the literature I have read, seems to favor the kernel strategy taken by Linux.
Solution 3
According to the Wikipedia article on GNU Hurd:
In 2010, after twenty years under development, Stallman said that he was «not very optimistic about the GNU Hurd. It makes some progress, but to be really superior it would require solving a lot of deep problems», but added that «finishing it is not crucial» for the GNU system because a free kernel already existed (Linux), and completing Hurd would not address the main remaining problem for a free operating system: device support.
It seems that it would take a large amount of work to complete the project and resolve the issues that it is facing. On top of this, it is quite unclear what (if any) benefits the Hurd kernel would bring to most normal users over the current Linux kernel, which has had a large amount of resources poured into it over many years and works very well on a wide range of architectures.
Because of this, it seems that Hurd is little more than an academic exercise at this point. With no real driving need behind it, it seems unlikely that it will reach full usability any time soon, let alone catch up with or exceed the impressive capabilities of Linux. I don’t mean to knock the Hurd developers, but I wouldn’t hold your breath .
GNU/Hurd vs. GNU/Linux
At this point in time, considering there is no «stable» distribution of GNU/Hurd, the major advantages seem to lie with Linux.
A good place to start understanding the differences between a Mach microkernel, and a traditional monolithic unix kernel is the Wikipedia page on Mach (Kernel).
As an interesting note, Mac OS X, uses a Mach Kernel, called XNU. Though based on Mach 3.0, it’s not a microkernel, like Hurd is. It makes sense, since Jobs brought the Mach kernel from NeXT to Apple when Apple bought NeXT.
Status Update 2018
In the first 6 months of 2018, the git repo for HURD received only 40 commits, so rumors of stability may be exaggerated. And the number of active code contributors is down to something like 5. So, GNU/Hurd is still at a major disadvantage to GNU/Linux. Check back in 2025 after another 7 years, for another update.
See this article from Phoronix for detail.
Hurd was the original ‘anticipated’ kernel BEFORE Linux existed. It has been under development, seemingly for years. During that time, Linus Torvalds along with volunteers worldwide, developed and implemented a kernel that is large, but worked. It was enhanced with programmers from many software firms including Redhat, HP and IBM. It is reliable and works. Mach adhere to the Minix philosophy of having a simple microkernel. I would suggest you take a look at the work of Minix if you would like to see the differences in philosophy. Though the microkernel may have some theoretical advantages, all of the literature I have read, seems to favor the kernel strategy taken by Linux.
According to the Wikipedia article on GNU Hurd:
In 2010, after twenty years under development, Stallman said that he was «not very optimistic about the GNU Hurd. It makes some progress, but to be really superior it would require solving a lot of deep problems», but added that «finishing it is not crucial» for the GNU system because a free kernel already existed (Linux), and completing Hurd would not address the main remaining problem for a free operating system: device support.
It seems that it would take a large amount of work to complete the project and resolve the issues that it is facing. On top of this, it is quite unclear what (if any) benefits the Hurd kernel would bring to most normal users over the current Linux kernel, which has had a large amount of resources poured into it over many years and works very well on a wide range of architectures.
Because of this, it seems that Hurd is little more than an academic exercise at this point. With no real driving need behind it, it seems unlikely that it will reach full usability any time soon, let alone catch up with or exceed the impressive capabilities of Linux. I don’t mean to knock the Hurd developers, but I wouldn’t hold your breath .
Test Driving GNU Hurd, With Benchmarks Against Linux
Last week there was a GNU Hurd status update, which generated a fair amount of attention as it stated there are plans for a Debian GNU/Hurd release in conjunction with Debian «Wheezy» when it’s out in late 2012 or early 2013. After being in development for more than 20 years, the Hurd is finally taking some shape. The Debian GNU/Hurd installer for Wheezy is even now working, which I tried out and ended up porting the Phoronix Test Suite to GNU Hurd. In this article is a brief look at Debian GNU/Hurd along with the first-ever benchmarks of Debian GNU/Hurd against Debian GNU/Linux.
The Wheezy development snapshots for GNU Hurd are just available for i386, since that’s the only architecture Hurd supports at the moment. Debian GNU/Hurd is available in the usual variety of spins like the other Debian variants: a net installer, DVD installer, or as three CD ISOs.
Installing Debian GNU/Hurd is just like installing Debian GNU/Linux or Debian GNU/kFreeBSD. Launching the graphical installer had failed using the 2011-07-01 build, but the text installer worked fine. The file-system used by Debian GNU/Hurd at present is EXT2. All testing was done in a KVM/QEMU virtual machine instance. The GNU Hurd hardware support right now is quite poor — it’s basically what you’d expect hardware support wise from around the Linux 2.0 kernel or earlier. None of the hardware at Phoronix is capable of running Debian GNU/Hurd. Even if it could run on modern hardware, the Hurd does not yet have SMP support meaning it would only take advantage of a single core/thread. The hardware support is lagging behind by about a decade or longer.
A fair amount of the Debian user-land is available to Debian GNU/Hurd at this point. In fact, it was surprising the amount of software that was available and working. GCC 4.6.1 and the rest of the build-essential components were also working fine under Debian GNU/Hurd, which made it easy to build additional software and for the benchmarks.
GNU/Hurd vs. GNU/Linux
I was quite surprised to learn that the GNU project has an independent kernel of their own called Hurd. And there are mainstream distributions like Arch Hurd and Debian GNU/Hurd which uses it. Is there any significant advantage for Hurd over Linux?
The distribution of Debian which runs the FreeBSD kernel is a more significant player. People are actually using that for production work, unlike the Hurd.
Here are some further thoughts on the OS differences that arise from different kernel architectures (monolithic kernel vs microkernel).
3 Answers 3
At this point in time, considering there is no «stable» distribution of GNU/Hurd, the major advantages seem to lie with Linux.
A good place to start understanding the differences between a Mach microkernel, and a traditional monolithic unix kernel is the Wikipedia page on Mach (Kernel).
As an interesting note, Mac OS X, uses a Mach Kernel, called XNU. Though based on Mach 3.0, it’s not a microkernel, like Hurd is. It makes sense, since Jobs brought the Mach kernel from NeXT to Apple when Apple bought NeXT.
Status Update 2018
In the first 6 months of 2018, the git repo for HURD received only 40 commits, so rumors of stability may be exaggerated. And the number of active code contributors is down to something like 5. So, GNU/Hurd is still at a major disadvantage to GNU/Linux. Check back in 2025 after another 7 years, for another update.
You might want to update your answer now. As of 2013 the hurd is a remarkable piece of software that is moving forward nicely, and is now in the position to stay online for quite some time before needing to be taken down (there are still some memory leaks). You can find more information here and here
As of March 2017, it is finally getting to be stable. But, it is still not ready for production. It still has serious unresolved bugs and missing features.
A low number of commits may mean stability. A high number of commits may mean unstable. Or it may be the opposite. It kinda depends on what’s committed.
Hurd was the original ‘anticipated’ kernel BEFORE Linux existed. It has been under development, seemingly for years. During that time, Linus Torvalds along with volunteers worldwide, developed and implemented a kernel that is large, but worked. It was enhanced with programmers from many software firms including Redhat, HP and IBM. It is reliable and works. Mach adhere to the Minix philosophy of having a simple microkernel. I would suggest you take a look at the work of Minix if you would like to see the differences in philosophy. Though the microkernel may have some theoretical advantages, all of the literature I have read, seems to favor the kernel strategy taken by Linux.
There are cases where the separation a microkernel offers is worth the costs — usually systems that have to be highly reliable and able to cope with as many errors as possible. Typically anything running on an aircraft (apart from on-board entertainment systems) or in automotive industry. Generally places where less is more, since lives are at risk.
According to the Wikipedia article on GNU Hurd:
In 2010, after twenty years under development, Stallman said that he was «not very optimistic about the GNU Hurd. It makes some progress, but to be really superior it would require solving a lot of deep problems», but added that «finishing it is not crucial» for the GNU system because a free kernel already existed (Linux), and completing Hurd would not address the main remaining problem for a free operating system: device support.
It seems that it would take a large amount of work to complete the project and resolve the issues that it is facing. On top of this, it is quite unclear what (if any) benefits the Hurd kernel would bring to most normal users over the current Linux kernel, which has had a large amount of resources poured into it over many years and works very well on a wide range of architectures.
Because of this, it seems that Hurd is little more than an academic exercise at this point. With no real driving need behind it, it seems unlikely that it will reach full usability any time soon, let alone catch up with or exceed the impressive capabilities of Linux. I don’t mean to knock the Hurd developers, but I wouldn’t hold your breath .