10 ms·
Signs of life from GNU Hurd
- leif 15y agoGNU Emacs and GNU Screen do not compile. What?
- rbanffy 15y agoNo Emacs? It's useless ;-) That, OTOH, may explain low productivity by its developers.
- lelf 15y agoEmacs worked for me. But that was long time ago, in “by hand”-cross-compiled system, not any Debian. (BTW, cross-compiling the entire system is tons of fun — for cross-gcc you want libc, but to compile libc you need cross-gcc)
- leif 15y agoThat sounds about as fun as rock climbing with your teeth. Also, our usernames are alarmingly similar in this font.
- hollerith 15y agoThis time for sure :)
- pnathan 15y agoInteresting! If they can really get it ticking this time, it would be really interesting to see how a microkernel plays out in 'popular' use. It's sort of funny how the major kernels are primarily monolithic (please correct me if I'm wrong wrt recent versions of Windows), but academic research says microkernels are better. Worse is better? First-mover advantage?
- acabal 15y agoI'm not an expert in this but I think the issue is one of tradeoffs. I think I remember reading (someone correct me if I'm wrong) that broadly generalized, microkernels have better security at the expense of performance, vice versa for macrokernels. See the "Tanenbaum–Torvalds debate" on Wikipedia. Either way I'm interested to see if HURD will ever take off in any real sense. For example, could we see an Ubuntu/HURD mix in 5 or 10 years? Will it even matter with that kind of timeframe? Would there ever be any practical advantage to use HURD vs Linux besides more "freedoms"?
- plq 15y ago> I think I remember reading (someone correct me if I'm wrong) that broadly generalized, microkernels have better security at the expense of performance, vice versa for macrokernels. that's true, but the "security" is not really what we perceive in the post-google, massively distributed era. microkernels made sense back when key to uptime was hot-swappable devices. e.g. if your nic goes awry due to a hardware problem, it can crash its driver. in case of a monolithic kernel, this would in turn crash the os, whereas with a microkernel, the rest of the system should continue humming just fine. this makes replacing the failed component possible without causing downtime by shutting down the single node the service runs on. but nowadays, we know how to set up systems so that taking down an entire node (gasp!) won't harm the operation of the service as a whole. so i don't think microkernels are that relevant anymore.
- rnemo 15y agoYou're partially right with Windows. Windows NT, since the beginning IIRC, uses a hybrid kernel in which things like drivers and IPC are and such are still in the kernel, but the application subsystems and fileservers run in user space. Plan 9 has a very similar design.
- eru 15y agoHypervisors like Xen can be viewed as microkernels.
- macrael 15y agoDoes OS X (and iOS, I suppose) being built on Mach not count?
- glhaynes 15y agoThe BSD-style kernel "subsystem" of XNU, Darwin's kernel, is statically linked with Mach and executes in privileged mode. So, while it "has" Mach and some parts of the kernel interact with other parts via Mach port interfaces, XNU isn't really a microkernel as classically defined anymore since it provides all the facilities you'd expect of a non-micro kernel.
- kls 15y agoIt's been a while since I have kept up with the kernel space but I remember when I last was interested in it, that there was a trend toward hybridization. That Linux was adopting some micro like architectures as well as windows. OSX probably could be considered a hybrid from the start.
- wmf 15y agoOS X was built on Mach 2.x, which was pre-microkernel. And the modern XNU isn't microkernel-like at all.
- glhaynes 15y agoActually I believe that's incorrect: stock Mach 2.x was considered a microkernel (though, like Mach 3.x, not always used as one in practice), and, versions of XNU since the first client release of Mac OS X are built on a modified Mach 3.0 kernel. But you're right that it's not used in a microkernel-like way.
- gaius 15y agoIIRC Tru64 or OSF/1 (nee Ultrix) was a mainstream Unix based on a microkernel. The problem with microkernels is their advantages (in terms of, a component of the kernel crashing won't take down the box) has rarely been worth it in light of the disadvantages (all that message passing hurts performance). So "better" depends on your POV.
- glhaynes 15y agoWould've been awesome in 1980 on a timesharing system. Now I've got as much control of all my personal devices as I want and I don't want any more control of devices at work than what I need to do my job (with control comes responsibility).
- Someone 15y agoYou still run stuff at home? :-) I think we would see different comments if the HURD were performing reasonably and AWS ran it. Having said that, the speed at which the project moves does not help its cause.
- epsilondelta 15y agoHurd is still using Mach? I don't see the point if it's just going to cheat around the IPC problem like OS X did. And in the past decade, there have been more promising microkernels, like L4. Unless I missed something and there's still a good reason for Hurd to still be using Mach.
- ch0wn 15y agoThere were attempts to use L4 and several other micro kernels like Coyotos and Viengoos, but as far as I know all of them stalled and the Mach variant has been the only one to be continued to present day.
- russellallen 15y agoThese articles always compare Hurd to Linux. I'd love to see a comparison with Minix3 or Genode/L4 instead.
- bane 15y agoIt's probably because RMS always compares (indirectly) Hurd and Linux.
- kls 15y agoRMS has never really liked the fact that Linux was not under direct GNU control. I am sure the rift is greater after the rejection of GPL 3 by the Linux camp. RMS has a vision for how things should be and tries to align the GNU offerings to that vision. Some agree with it, some kind of agree with it, and some think he is a fruitcake. Understanding his vision puts the push for Hurd into perspective. He cannot achieve it with Linux because Linux is steered by stewards that don't exactly line up with his world view.
- caf 15y agoGNU doesn't really seem to rule their associated projects with an iron fist, so this doesn't stack up. glibc, gcc and gnome all seem to be considerably self-determining.
- kls 15y agoMy summation was not intended to infer that there was a GNU command structure on each project but rather that there is a philosophical agreement among the confederation of projects and an umbrella organization. The stewards of Linux are not in total philosophical agreement with the GNU so the GNU organization probably feels that they need their own project that aligns to their philosophical world view 100%.
- 9999 15y agoI rather like the fact that there is one branch of kernel dev that favors practicality, expediency, and commercial viability in their worldview and another that favors a strident free software philosophy. The world is a better place for having people working on both paths.
- onan_barbarian 15y agoGrits teeth... It's _still_ pointless. There's no chance of displacing Linux or the BSDs in practical terms, and there's no particularly interesting ideas in it. We already know you can build a Unix on top of a microkernel and it will sorta work. Enough, already. Kill this late-1980s design and build something interesting already. Surely at least one of the things that have happened between 1990-2011 in hardware, software and networking warrants a rethink of OS assumptions rather than this stale rehashing?
- p9idf 15y agoWhat do you care what other programmers do with their time? The ideas in Hurd are particularly interesting enough to those who work on it. That alone justifies its continued development.
- onan_barbarian 15y agoThis is disingenuous. Under this logic there's no such thing as a project that's more or less objectively interesting. If 999 programmers decide to work on 999 basically identical Soduku solvers, and 1 programmer decides to hack up a novel object recognition system with OpenCV, and all 1000 guys are equally keen on their own projects, we'll just have to all agree that all thousand projects are equally interesting and call it a day. I care because it's wasted effort that would be better spent elsewhere.
- p9idf 15y agoThe logic here is that your opinion on the value of the Hurd isn't objective and that there's no accounting for taste. The Hurd authors know the fruits of their labor far better than you do. If they don't consider their effort wasted and are happy with their results, what are you upset about? If programmers like working on things you don't like, that's their own business.
- onan_barbarian 15y agoThis isn't really about the Hurd, is it?
- beej71 15y agoArch Linux^H^H^H^H^H has had a Hurd variant for some time. http://www.archhurd.org/ http://www.archhurd.org/ I installed it on VirtualBox. Smelled like Unix.
- fununclebob 15y agoSomething relevant: Symbian has had a microkernel architecture for most of it's life: http://en.wikipedia.org/wiki/Symbian http://en.wikipedia.org/wiki/Symbian For a brief shining moment, it was open source. It's legacy is very interesting, worth a read to see just how far the little OS that could has come along since it first ran on PDAs. In fact, it's atypical architecture gives Symbian some advantages over contemporary OSes in terms of absurdly low power and CPU requirements. It is also quite secure, offering granular security settings for almost anything - the only Symbian malware that ever made the news were those that the user installed him/herself. Sadly this also gives it a very complex programming model (for example, it uses an obscure variant of C; also many basic services like audio need to be accessed through a server running on device) and a difficult threading model. Qt provides a beautiful API that wraps over the native layer these days, but it seems it's simply not fashionable among the majority of developers.