Live data from Hacker News

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

linuxuser.co.uk

81–90 of 93 posts

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

#81
post #25

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?

Microkernels were an immensely popular idea in academia (Mach, Minix, …) when Hurd was begun; I don't think the fundamental problem with them — performance is horrible — had been made obvious yet. Microkernel design is probably a good idea, but the message passing overhead kills actual microkernel implementations. I've heard the Windows NT kernel described as being designed like a microkernel architecture (separate m…

Mac OS X' kernel is Xnu, http://en.wikipedia.org/wiki/Xnu , which is based on the Mach microkernel but with pieces and bits from FreeBSD bolted on, for a hybrid approach.

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

#82
I think that this article underestimate the ability of Linus Torvalds to manage the Linux developers community. Leadership, dispute resolution, technical choices, compatibility or new features, and teven flamewars. It's very difficult to be a BDFL.

The idea is that if Linux were not available, the open source community would have been working in Hurd and not in Linux. But without Linus perhaps the community could not exist (new member leave after a few quarrels) or all the effort is lost in complete rewrites.

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

#83

“My first choice was to take the BSD 4.4-Lite release and make a kernel. I knew the code, I knew how to do it. It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today." So true. It's unfortunate AT&T/Unix System Laboratories kept the BSD kernel code locked up in a lawsuit. Would have loved the article to have had a deeper insight into that as Sta…

> One can only imagine what would have happened had the BSD code not been tied up in >lawsuits. I bet they would have gone with the mature BSD kernel, leading to a better OS, and >Linux would probably be a footnote in history if that.

Likely. For myself, in 1993 I recall being totally underwhelmed with Windows 3.1 when I got my first 386 SX PC. I went looking for something better and came across some BSD derivatives and Linux. I knew that there were some vague legal issues with BSD, so I chose to download the 30 or so SLS floppies that made up a Linux "distribution" and I haven't looked back since.

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

#84
post #76
post #62

Earlier quoted context omitted.

But why POSIX? There's only so much lipstick any one pig can take.

So at some point, you can just put the whole FOSS environment (Firefox, Gnome, Gimp, LibreOffice, etc) on top of your kernel. Porting all those programs is much more work than writing a POSIX compatibility layer.

Well, if you want all that dross, then yes, I suppose. But the hosting user software niche is well filled by various Unix derivatives already, no?

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

#85

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.

Actually the mistake that set the project back the most was the opposite, from the article:

Stallman later admitted, “I take full responsibility for the technical decision to develop the GNU kernel based on Mach, a decision which seems to have been responsible for the slowness of the development. I thought using Mach would speed the work by saving us a large part of the job, but I was wrong.”

He made what he thought was a pragmatic choice that ended up being wrong, not the "perfect" kernel.

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

#86
post #25

Earlier quoted context omitted.

Microkernels were an immensely popular idea in academia (Mach, Minix, …) when Hurd was begun; I don't think the fundamental problem with them — performance is horrible — had been made obvious yet. Microkernel design is probably a good idea, but the message passing overhead kills actual microkernel implementations. I've heard the Windows NT kernel described as being designed like a microkernel architecture (separate m…

> I don't think the fundamental problem with them — performance is horrible — had been made obvious yet. On the contrary, the idea that performance of microkernels is "horrible" is the current received wisdom, believed by the majority of programmers without critical examination, and based on very performance-poor early microkernel designs like Mach. The truth is that modern microkernel designs like L4 can perform IPC…

Microkernels could use some hardware optimizations... And most of those optimizations are good for virtual machines too, so they'll get done.

In due time, message passing kernels will get so much faster than interruption based ones that we'll ask ourselves why we used monolitical kernels all this time. (And somebody will have to explain that microkernels used to be slow, and this person will be met with skepticism.)

That said, the computers we had at the 80's and 90's were completely unfit for microkernels. Mach was about the best you could have by then.

(But all that discussion about microkernels is an irrelevant sideline. Linux got adopted because it was there, if it weren't we'd probably use some version of BSD instead.)

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

#87
post #49

> Linus Torvalds had begun his project to write a UNIX-like kernel for the IBM 386. IBM 386? What in the world is an IBM 386?

An IBM-compatible with a 386, as opposed to the legions of 286 systems already able to run SCO/Coherent/MINIX

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

#88
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.

But those are worse than UNIX, not better.

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

#89

“My first choice was to take the BSD 4.4-Lite release and make a kernel. I knew the code, I knew how to do it. It is now perfectly obvious to me that this would have succeeded splendidly and the world would be a very different place today." So true. It's unfortunate AT&T/Unix System Laboratories kept the BSD kernel code locked up in a lawsuit. Would have loved the article to have had a deeper insight into that as Sta…

> Not to mention that it's one unified OS rather than hundreds of GNU/Linux distros. I admittedly haven't used any BSD enough to make a well informed opinion but I was under the impression that BSDs are fragmented at the OS level (i.e.: different kernels ), while Linux is fragmented at the distribution level (i.e.: default collection of software, file-system layout, etc). I imagine that, in addition to there being di…

There is no OS level fragmentation. Sorry that makes no sense in the BSD world. FreeBSD is an OS. OpenBSD is an OS. etc. That's not fragmentation. They are different OS's. It's like saying there's fragmentation between Windows and OS X.

GNU/Linux is one OS with hundreds of distros. That's fragmentation.

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

#90
post #62

Earlier quoted context omitted.

> I don't think the fundamental problem with them — performance is horrible — had been made obvious yet. On the contrary, the idea that performance of microkernels is "horrible" is the current received wisdom, believed by the majority of programmers without critical examination, and based on very performance-poor early microkernel designs like Mach. The truth is that modern microkernel designs like L4 can perform IPC…

But why POSIX? There's only so much lipstick any one pig can take.

Because it gets you an immense amount of existing tools that you won't have to reimplement. You can get shells, compilers, and numerous utilities (eg cp, cat, tail, tar, zip, awk). Look at the list of what BusyBox includes to get an idea of the kind of functionality any system would need to get started. http://www.busybox.net/downloads/BusyBox.html

If you provide terminal emulation then you also get editors. If you implement ptrace then you get a debugger. If you provide networking then apps can display remotely (X).

Even if you are developing something unique for your operating system, using POSIX in that lets you perform some of the development and testing on other systems that already have working toolchains.

In short having POSIX saves a huge amount of time and effort. That doesn't preclude you from having other APIs around too. Don't underestimate the importance of having a functioning system while you replace or augment it with parts that are your unique value add.

Post reply on HN