You are not logged in.
Pages: 1
Hello there.
I was reading some time ago a few things about HURD and my question is:
If it is aimed to be a new core of the OS build to avoid some Linux/GNU kernel imperfections (like becoming too "bloated" etc.) then why HURD is still quite minor and not used much more frequently?
Any comments welcome.
Offline
Hurd was not written to solve problems with Linux; Hurd actually predates Linux by about a year. I think Hurd is primarily a victim of feature creep, like Duke Nukem Forever. They can't release it because they keep adding more things. (I think this year marks Hurd's 20th birthday without a single stable release.)
Offline
If you want to see what hurd is like you can test it out for yourself.
In general I would say that Trent is right. Hurd was started on before Linux and it was meant to become the centre of the GNU operating system... then the Linux kernel came along and actually got stable and working so people used that instead... and Hurd just kept staying unfinished.
Hurd is still far from being ready for the mainstream, and as Trent says it just keeps getting new features before the old ones are fixed... so it may not ever be ready.
I haven't lost my mind; I have a tape back-up somewhere.
Twitter
Offline
Hurd and DNF:- doomed to forever be compared to each other
I like Linus' philosophy more than Stallman's, hence Linux over Hurd. Archhurd is a great initiative though, that its actually got to where it is now.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Is the ipc lag in Mach negligible now that we have better hardware? L4 was supposed to get rid of that lag I thought, but I'm sure there were other factors to consider.
Offline
I think the real problem is that Linux has got all the wind behind it at the right moment not because of features. it's jsut a matter of Linux was there at the right moment in time and so it won.
Offline
Thank you for the interesting input guys. Now I know about the background of HURD much more... Thanks
Offline
Linux won because it worked. Why? Because it's monolithic.
But anikom, what about MINIX?
It's tiny. And it's still not perfect, but really close. I don't want to start a debate, but this is why.
Personally, I'd rather be back in Hobbiton.
Offline
Offline
I'm sorry, I didn't realize that popularity is a measure of quality. I'll just go install Windows now, shall I?
Monolithic kernels are popular merely because popular operating systems use monolithic kernels. It's a vicious cycle.
Offline
I suppose it's partly the "if it ain't broke, don't fix it" mentality. Monolithic kernels work, so why change? In addition, desktop operating systems don't usually require the potential extra stability that microkernels offer. On the other hand, microkernels are used quite often for mission-critical embedded systems which need an incredibly high degree of reliability.
There are three somewhat significant desktop operating systems that use microkernels: Amiga OS, the ppc versions of MacOS Classic (the 68k versions were monolithic), and Mac OSX.
Offline
I suppose it's partly the "if it ain't broke, don't fix it" mentality. Monolithic kernels work, so why change? In addition, desktop operating systems don't usually require the potential extra stability that microkernels offer. On the other hand, microkernels are used quite often for mission-critical embedded systems which need an incredibly high degree of reliability.
There are three somewhat significant desktop operating systems that use microkernels: Amiga OS, the ppc versions of MacOS Classic (the 68k versions were monolithic), and Mac OSX.
I thought the base of OSX was more of a hybrid? Anyway, we don't really want to get into that argument. I'm kind of regretting my earlier post now . Didn't know that about Amiga though -- that's quite interesting.
Offline
I'm sorry, I didn't realize that popularity is a measure of quality. I'll just go install Windows now, shall I?
I never implied that popularity is a measure of quality. I was answering:
then why HURD is still quite minor and not used much more frequently?
My response to that was "Because monolithic kernels have ruled for a long time". Nothing in there said that Microkernels had a lower level of quality than Monolithic kernels because of popularity.
Offline
I suppose it's partly the "if it ain't broke, don't fix it" mentality. Monolithic kernels work, so why change? In addition, desktop operating systems don't usually require the potential extra stability that microkernels offer. On the other hand, microkernels are used quite often for mission-critical embedded systems which need an incredibly high degree of reliability.
There are three somewhat significant desktop operating systems that use microkernels: Amiga OS, the ppc versions of MacOS Classic (the 68k versions were monolithic), and Mac OSX.
OSX is not a microkernel. It is a hybrid like Windows. They tried to put in the Mach microkernel, but failed. There was too much IPC lag so they decided to place drivers in the kernel, like a monolithic kernel.
L4 in MINIX was supposed to fix it, but there is not much support for it. The project is still alive.
Offline
@itsbrad212: My response was more to Anikom15 than to you. No matter.
Offline
bluepumpkin wrote:I suppose it's partly the "if it ain't broke, don't fix it" mentality. Monolithic kernels work, so why change? In addition, desktop operating systems don't usually require the potential extra stability that microkernels offer. On the other hand, microkernels are used quite often for mission-critical embedded systems which need an incredibly high degree of reliability.
There are three somewhat significant desktop operating systems that use microkernels: Amiga OS, the ppc versions of MacOS Classic (the 68k versions were monolithic), and Mac OSX.
OSX is not a microkernel. It is a hybrid like Windows. They tried to put in the Mach microkernel, but failed. There was too much IPC lag so they decided to place drivers in the kernel, like a monolithic kernel.
L4 in MINIX was supposed to fix it, but there is not much support for it. The project is still alive.
Oh, okay. I guess I'm a bit misinformed about how OSX is structured. So that means there haven't been any significant desktop systems that are both a microkernel AND have memory protection.
Offline
So the benefit to the HURD enduser would be stability, and a smaller OS footprint, from what I gather from this post. I read that HURD was trying to get linux drivers to work in it so it could just use those. I assume that means speed would remain similar to current Gnu/linux then?
Offline
Well, the entire idea behind a microkernel is to run all the drivers, filesystems, etc as seperate processes. HURD would run the drivers this way, so would likely be a bit slower than Linux. Current development efforts are going into the Viengoos kernel, which should be significantly faster than Mach, so I really don't think that the speed would be a problem on somewhat modern hardware.
Offline
Has symbian a pure microkernel or is it a hybrid?
(As I understand it its opensource now.)
Last edited by Odaer (2010-08-14 16:36:20)
Offline
Has symbian a pure microkernel or is it a hybrid?
(As I understand it its opensource now.)
http://en.wikipedia.org/wiki/Symbian_OS#Design
Symbian OS was created with three systems design principles in mind:
the integrity and security of user data is paramount,
user time must not be wasted, and
all resources are scarce.
To best follow these principles, Symbian uses a microkernel, has a request-and-callback approach to services, and maintains separation between user interface and engine.
Offline
No one seems to have mentioned the real reasons that HURD failed. The problems with HURD consisted of a community that didn't form like Linux due to high hardware requirements for the time, unforseen difficulties, and a various poor decisions. Linux was developed with an engineer/hacker approach where they focused on writing code that worked, not code that looked pretty. With HURD there were too many reboots and rewrites where they tried to port the OS to different micro-kernels, and at one point in time they were trying to write HURD to be micro-kernel agnostic.
You should look at this review of HURD's history for a good overview of what went wrong.
Offline
With recent improvements and research into microkernels (since they have gotten more attention recently), in design and (and most likely in practise) they appear to be much better then monolithic kernels. Newly released algorithms have found they have very slight performance penalty (in one case where they altered linux to use a similarish micro kernel design, it was a penalty of around 3%) however the benefits are ridiculous, which include
- Minimal/No Crashes (and kernel panics). If something fails (a driver for example) it can be reloaded without system freezes
- Much easier to maintain/develop (for obvious reasons)
- Better security model through isolation
The issue with Herd is, as stated above, they never actually managed to release a stable Hurd version, and because of this people never tried it (and thus liked it) and got the community it needed to make it usable for general use (this is what happened with Linux). https://bbs.archlinux.org/viewtopic.php?id=89484
As Trent said, its a vicious cycle. Linux (a monolithic kernel) happened to break through the barrier, so it now has enough developers and support and more importantly, because its actually usable people will continue to use Linux (and thus continue to develop/maintain linux). The problem with Hurd is not what Linus said that microkernels are horrible in design, its that the development of Hurd meant they never released a stable version so they never received the support they needed (and they never will).
If you are interested in microkernels, there is on called seL4 which is a microkernel that is mathematically proven never to crash (its written in Haskell)
Last edited by deteego (2010-09-02 11:18:40)
Offline
Pages: 1