Live data from Hacker News

Whatever happened to the Hurd? – The story of the GNU OS

linuxuser.co.uk

11–20 of 93 posts

Re: Whatever happened to the Hurd? – The story of the GNU OS

#11
post #9

An oft-quoted phrase that applies here is "the enemy of good is 'better'". Clearly RMS wanted his idea of perfection, and almost 30 years on, perfection remains out of reach while "good enough" rules the world on Linux. An important lesson to learn.

It's easy (and legitimate) to blame the failure of Hurd on poor design and management choices. I think it's also instructive, though, to observe how no "better than Unix" project has really attained any success. Some of them have delivered more workable code than Hurd, but Plan 9, Inferno, Amoeba - none of them have really caught on.

Interestingly unix derivatives are now some of the most popular operating systems for modern devices, as iOS, Mac OS, and Android are unix/linux based.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#12
post #6
post #5

Can anyone tell me how computing would be different today if micro kernels had taken off? If everyone working on Linux had been working on Gnu Hurd?

Then everyone would have ran BSD. (J/K) Micro kernels are very hard to debug.

Microkernels are easy to debug.

Compared to say an SOA platform with 200 service endpoints, a database with about 2000 tables, integration with 15 other providers with XML, CSV, SFTP and some wierd shitty non standard binary protocol. All written entirely by the lowest bidder without unit tests because they knocked the budget up. Oh and with a toolchain which barely works and no VCS system past an old corrupt source safe database full of compiled DLLs which there is no source for any more.

I've done both and am currently stuck doing the latter - I'd rather poke one of my eyes out and debug a microkernel if I had a choice.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#13
post #8
post #5

Can anyone tell me how computing would be different today if micro kernels had taken off? If everyone working on Linux had been working on Gnu Hurd?

Not very different, since we're basically doing microkernel-y things anyway using various kinds of virtualization. It would probably be more elegant to just run Hurd or whatever instead of for example running multiple JVMs on top of multiple Linux instances on top of a hypervisor (yes, this happens), but them's the breaks.

Well, people are still working on the problem. You can run some runtimes directly on Xen, like the JVM and Haskell.

http://labs.oracle.com/projects/dashboard.php?id=185

http://readwrite.com/2010/11/30/haskell-virtual-machine

Re: Whatever happened to the Hurd? – The story of the GNU OS

#14
post #6
post #5

Can anyone tell me how computing would be different today if micro kernels had taken off? If everyone working on Linux had been working on Gnu Hurd?

Then everyone would have ran BSD. (J/K) Micro kernels are very hard to debug.

> Micro kernels are very hard to debug.

Microkernels are not harder to debug than monolithic kernels. I'd even say that they are easier to debug, much easier. (Personal experience in debugging both.)

The problem with microkernel-based OSes is, as Linus Torvarlds aptly put it, that they turn well understood memory-protection problems into not-so-well-studied IPC problems. (The actual quote is «They push the problem space into communication, which is actually a much bigger and fundamental problem than the small problem they are purporting to fix.»)

The microkernel is not the real problem here, the big issue is debugging faulty IPC sequences between the servers that implement the OS services. A problem that is almost non-existent in monolithic kernel.

HOWEVER, current monolithic kernels are facing growth problems now because of two aspect: we want fancy remote storage accessed as easily as local storage (do you want to mmap a file stored in a RAID setup implemented with SATA-over-ethernet disks?) and the fact that the process model is too leaky and so we need stronger containers like VMs (that are becoming as much leaky abstractions as the current processes). All these new features require communication between various components that were previously though and implemented as independent. This means that the IPC problems are now creeping into the world of monolithic kernels.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#16
post #9

Earlier quoted context omitted.

It's easy (and legitimate) to blame the failure of Hurd on poor design and management choices. I think it's also instructive, though, to observe how no "better than Unix" project has really attained any success. Some of them have delivered more workable code than Hurd, but Plan 9, Inferno, Amoeba - none of them have really caught on.

Interestingly unix derivatives are now some of the most popular operating systems for modern devices, as iOS, Mac OS, and Android are unix/linux based.

I thought XNU was considered a micro-kernel because of the Mach part.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#18
post #16

Earlier quoted context omitted.

Interestingly unix derivatives are now some of the most popular operating systems for modern devices, as iOS, Mac OS, and Android are unix/linux based.

I thought XNU was considered a micro-kernel because of the Mach part.

It's not a microkernel; it just happens to implement the Mach APIs.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#19
post #3

For those interested, Debian is planning on releasing a Hurd variant just like they did with kFreeBSD. http://www.debian.org/ports/hurd/index

There's also ArchHurd http://www.archhurd.org/

Thank you.I knew there was something else.

Re: Whatever happened to the Hurd? – The story of the GNU OS

#20
Can someone explain to me if the problem with Hurd was that the basic idea was impossible, or it was the way they went about it?

i.e. was it the relentless restarting of the project that was to blame, or did they keep restarting because every way they approached it turned out to be impossible?

Post reply on HN