Debian GNU/Hurd 2013 released
gnu.org
gnu.org
As near as I can tell, it offers nothing over the main Linux kernel except sourcing from the GNU Project. IMHO, not enough reason to abandon the Linux kernel. YMMV.
On the other hand QNX, a closed-source Unix-like microkernel OS, has been used commercially for a long time - for instance, it powers Blackberry phones nowadays, and I heard the performance is quite decent.
People doing real work for which they need an OS don't care that QNX/HURD are microkernels or that Linux/NetBSD aren't. They care that one solves their problem better than the other.
Nobody cares about kernel architecture unless they're writing (or learning about) kernels. Everybody else is looking for an OS that meets practical requirements. QNX's architecture might help it meet some requirements better than Linux's architecture, but the architecture itself is not a determining factor in commercial success.
Specifically, I brought up QNX as an example of microkernel-based OS used in the wild, as opposed to Hurd and (presumably) Minix - which gets to show that they can be made to work. However QNX is marketed is no concern of mine.
Second, the original context of that conversation isn't kernel architectures, but what particular kernels "offer".
Discussing kernel architectures as if they're a practical advantage is surreal.
But since that has obviously made some people upset, I'll trouble you no more about it. I'm sorry to have intruded.
That sounds like a pretty good practical benefit to me.
(1) Hardware. Some driver locks up your PCI bus. Your whole system grinds to a halt, whether it's a microkernel or not. This could probably be solved by having hardware that doesn't suck, but unfortunately here in the real world we've settled on the cheapest option, PC hardware which does suck.
(2) Division of responsibilities. Some OS structures like the process table are inherently connected to multiple components (memory management, filesystem, etc). Doing process creation or fork in a microkernel results in a flurry of internal messages between the different parts which is hard to reason about and fragile. Minix especially suffered this problem.
On the commercial world you have Symbian and QNX as examples of micro-kernels OS.
Microsoft is doing research how to run the full OS as a library on top of a pico-hipervisor (Drawbridge).
And Minix just got a EU grant for their research in micro-kernels and security.
Sometimes I think Linux is happy just copying the UNIX and Mainframe designs, without much OS innovation.
This is difficult to answer, but I'll try. Note that this is from merely an interested person's view, I'm not a kernel dev or anything.
Linux has to strike a balance between compatibility, stability and innovation. The goal of Linux isn't "OS innovation", the kernel people would rather that innovation occur in userspace (at least from my reading of the tea leaves), and that is happening a lot.
However, Linux doesn't have the power to "break out" and try something radically different, as it has actual users with billions of dollars invested in Linux that rely on its stability and its compatibility with the hardware and software they use.
Symbian and QNX are not mainstream kernels, as they really only exist in embedded devices, and really only support ARM and a couple other architectures.
Minix, GNU/Hurd and the Microsoft research are just that - research. No user base to speak of, no commercial uses, etc.
I think the most successful microkernel wasn't actually micro, but a hybrid - Windows NT.
The OS X kernel is (was?) a hybrid, basically Mach with BSD bolted onto the side
He says that he had originally suggested taking a BSD kernel and rewriting all of the (then) legally risky bits, and he still believes that this would have been straightforward, and if they had followed that route then Linux would not have stolen their thunder. But he let Stallman argue him out of it, and that was a mistake.
Except for loadable kernel modules which is a pretty big move towards microkernel-like features from the original versions.
Maybe you meant something like FUSE.
IMO, loading the drivers at runtime is the easiest part of microkernels. It is really very very very tiny step. There are a lot more things to do, like doing IPC between operating system components, managing memory, scheduling, protection of the system & driver process running in the user space.
Finally, loadable kernel modules does not give you any security and reliability. Those modules still share the same address space with the kernel and each other.
So is virtualization just reinventing microkernels?
Symbian and QNX are two successful operating systems with micro-kernel architecture.
That IBM, Intel and others decided to sponsor Linux development does not make other kernel designs less valuable.
I just skimmed the Phoronix review from 2011, and I was surprised to see that Hurd outperformed Linux in some categories by a narrow margin, and in others it did not lose by a complete landslide. It's still i386-only, so you know what to expect at least a little bit.
I think a more fair comparison would be Debian GNU/kFreeBSD and Debian GNU/Hurd, since the developer base for each is probably comparatively small. Glad to hear the HURD is still alive. GNU/kFreeBSD has NOT had any release since wheezy or since 9.1, to look at their website, so if numreleases or first-mover is any indicator of progress, take that into account.
Sorry to say all this and have to answer, no, I am not using Hurd for anything. Interested as you are to hear if anyone is, and for exactly what. I would be surprised to hear that anywhere it "really shines" compared to any other platform.
Looking at the wikipedia page, the project seems to have some focus issues, with people periodically starting to port Hurd to other microkernels and then stopping due to lack of time. It would be interesting to have a side-by-side comparison with other similar projects like Tannenbaum's own Minix 3.
Debian Wheezy was just released earlier this month.
Similarly, the latest notes about a kFreeBSD kernel are that 9.0 will be in Wheezy, but no mention of 9.1. That was a fairly ridiculous use of 'since.'
I have some spare machine and will give it a go (or try it in a VM first if that's an option).
If anyone feels like writing a technical book some OS design book with the Mach microkernel and GNU/Hurd in general would probably be interesting.
But, in all seriousness, I'll probably end up installing this over the weekend :(
Beyond tinkerers, that is.