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?
Whatever happened to the Hurd? – The story of the GNU OS
61–70 of 93 posts
Re: Whatever happened to the Hurd? – The story of the GNU OS
#62Earlier 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…
Re: Whatever happened to the Hurd? – The story of the GNU OS
#63Earlier 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.
Re: Whatever happened to the Hurd? – The story of the GNU OS
#64> 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?
On the other hand, it's ridiculous to think of how far things have come since then... people who complain about Linux usability and driver issues in 2012 really don't know what they missed!
[1] and failing!
Re: Whatever happened to the Hurd? – The story of the GNU OS
#65Earlier quoted context omitted.
Is this comparable to eLua? http://www.eluaproject.net/home/overview EDIT: I found this on YouTube: https://www.youtube.com/watch?v=W_aXsutL4rQ I was interested in this a while back, but never took the plunge. Seems you can run it in an 'emulator' on i386.
Well, kind of but not really. Xen isn't really bare metal in any sense of the phrase. It's just at a similar (but different) level of abstraction. In an embedded system you will need to have device drivers, respond to hardware interrupts, etc. On Xen you make hypercalls. So eLua and these projects are similar in, say, the same way that a typical RTOS is similar to running Linux on AWS. They both have kernels, but the…
http://www.artima.com/weblogs/viewpost.jsp?thread=239339
ROS calls itself a 'meta-operating system', I guess the definition of an OS is sort of blurry!
Re: Whatever happened to the Hurd? – The story of the GNU OS
#66Earlier quoted context omitted.
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.
A few "merges" (to use source control terminology) of newer Mach stuff into xnu (the OS X kernel), but the BSD-in-userspace stuff never came over.
Re: Whatever happened to the Hurd? – The story of the GNU OS
#67Earlier quoted context omitted.
I thought XNU was considered a micro-kernel because of the Mach part.
To quote that bastion of Jimmy Wales: "Although Mach is often mentioned as one of the earliest examples of a microkernel, not all versions of Mach are microkernels. The project at Carnegie Mellon ran from 1985 to 1994, ending in apparent failure with Mach 3.0, which was finally a true microkernel. Mach and its derivatives are in use in a number of commercial operating systems, … most notably Mac OS X using the XNU op…
None of this technology made it into a mainstream Mach distribution because the band broke up: Rick Rashid and his staff and students went off to work at Microsoft Research. Brian Bershad took over the project and then moved to University of Washington. It was also becoming clear in the mid-90's that the OS didn't really matter much anymore, since the big money was being made in Internet applications. So most of the hackers who might have worked on new operating systems during this time ended up working on application servers and web apps instead.
Re: Whatever happened to the Hurd? – The story of the GNU OS
#68Can 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?
Re: Whatever happened to the Hurd? – The story of the GNU OS
#69> 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?
Re: Whatever happened to the Hurd? – The story of the GNU OS
#70Earlier 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…
Their papers have pretty detailed performance measurements. I recall that they pass fixed-length messages between processes for efficiency (to avoid buffering). And they said it takes approximately 500ns to send a message on a 2.2GHz Athlon, which is in the neighborhood of a malloc().
I don't know how the overall performance is. Minix 3 appears to be targeted at lower end devices, e.g. they mentioned OLPC. I don't think they have things that you would want for servers, like multicore support. I don't think anyone uses it for those types of applications. But it does implement POSIX and it is a microkernel. And from what I gather the codebase is relatively modern -- they said it is related to Minix 2 in name only.