New GNU Hurd Kernel Released
Anonymous Coward writes "I don't know if there is much interest out there, but GNU Mach Kernel 1.3 was just released a couple days ago. (May 28)." Looking forward to that 2002 release...
← Back to Stories (view on slashdot.org)
This is a microkernel. It's not supposed to be full of features, only support a minimal set of functionality to write servers for to implement a full kernel. Stuffing all kinds of extra driver support in there would be completely counter productive, as the servers running on top of it would most likely provide their own drivers for most hardware anyway.
What you fail to realize is that the Hurd developers don't CARE if you use it. They're doing this because it's fun to write operating systems (ok, maybe they're crazy -- but so's Linus). Competition with stuff that's already out there is WAY down on the list of things they worry about.
Fair point, but only really valid in a commerical context. Some people are just writing for the hell of it, and they don't care whether they've created a Windows competitor or not - they're just enjoying their code.
Cheers,
Ian
I agree. It is nice to see the *nix methodology re-thought with modern day software engineering techniques such as high modularity. It is also wonderful to see the unix tradition of complete user freedom and vast system customization options be taken to a new refined level with pluggable services and kernel modules. Linux is a nice final chapter in the long 30 year history of a kernel designed by true pioneers in the field, but it is nice to get some fresh insight and thought in OS design.
The Linux you know and love to be a Windoze killer is based on an OS design that is almost 30 years old. It has evolved through time into something that is much better than it was when it first crept out of Bell Labs, but that does not make it perfect. The HURD takes all the great parts of Linux/*Nix and adds in functionality that _nobody_ is currently offering. Just becuase Linux is great does not mean HURD cannot be 10 times better.
Yes, they use Mach. But they didn't take their code base from GNU. They got their codebase from NeXT who got it from Carnegie Mellon University. And, yes, I'm a NeXT zealot who is deeply offended by all the people who think that OS X comes from Apple. :-)
Mac OS X (and Darwin) is based on a Mach derivative, and it has always supported large hard disks. It also supports booting off a network or a firewire- or USB-attached hard disk. If GNU's Mach microkernel can't do these things, it leads me to question the viability of GNU Mach (and I don't know if GNU Mach can do these things - it very well might, but I'm willing to bet karma that it can't).
But I guess when you release a kernel that has 8 years of development and it can barely keep a machine running, you are a joke. I am sure Bill Gates is laughing his ass off.
Strange women lying in ponds distributing swords is no basis for a system of government.
Hurd is not just a microkernel implementation but also a set of servers running on top of that microkernel providing all sorts of clever services through a unique architectural model. Darwin is also running on a Mach-derived microkernel but it is running a single server in a traditionial model.
Trust me - go invest the 5 minutes to read up on hurd, it's goals and how it is going about meeting them. VERY different from the rest of the field and potentially a revolution if it succeeds.
Oh, and the assumption that there are more drivers for Linux then IOKit? That's changing quickly as MacOS X becomes the dominant consumer Unix.
I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
you get faster I/O at the cost of greater instability, a tradeoff most sysadmins are quick to take.
I want whatever you are smoking. Personally I rather have a computer system that may run "slow", but I never have to mess with ever.
Seriously - managing a system is all about finding out what user performance requirements are and finding a solution that meets and exceeds those requirements and does so reliably.
Sounds like you don't mind support nightmares though - so keep at it.
Here are some aspects of the parent post that, if you would think about them for a fricking second, clearly indicate it is a joke (although not super funny):
entire server farm from a Linux/BSD/Windows ME
even on my palmtop
faster I/O at the cost of greater instability, a tradeoff most sysadmins are quick to take.
Even my grandmother can do the base install.
- Have a picture
As is, HURD is an embarrassment to O/S purists. Its the "portable" O/S that can't even work well on ONE hardware architecture!
You're a glass-is-half-empty kind of person, aren't you? Here's how it looks from my perspective: HURD runs equally well on many architectures!
MACH is hardly flawed. Last I checked, NeXTStep, OpenStep, as well as that obscure new operating system you may have heard of, MacOS X, are all based on a MACH microkernel.
;)
I always thought MACH was THE microkernel. Either elaborate and convince me, or put down the crack pipe
Back in 94 I started using Linux because the HURD wasn't ready. The HURD still isn't ready. That's OK, things take time. But what's not OK is for RMS to write:
If you can ignore the facts and believe that Linus Torvalds developed the whole system starting in 1991, or if you can ignore your ordinary principles of fairness and believe that Torvalds should get the sole credit even though he didn't do that... Just consider: the GNU Project starts developing an operating system, and years later Linus Torvalds adds one important piece. Now envision the mindset of a person who can look at these events and accuse the GNU Project of egotism.Huh?
Well, no, Richard, I'm sorry. This is like saying 'this is out bridge, because we built the handrails'. Linus did the hard bit, the bit you couldn't do; and he did it brilliantly well. In fact he did three entirely different hard bits, all of which you couldn't do. The first is, he wrote an operating system kernel which worked. Now you're entitled to say that a kernel is not in and of itself an operating system, and that's true. But it is the critical structural element without which a heap of assorted parts don't constitute an operating system. So that's Linus' first achievement: a technical achievement, and a big one.
The second hard bit that Linus did which the Free Software Foundation has clearly failed to do is to evolve a development methodology which allows - encourages - very many people to take part, and which manages to integrate and exploit the fruits of all their labours. That's Linus' second achievement: a social achievement, and a big one.
But Linus third achievement is the key one, and it is key to your project of making Free Software available to ordinary people all over the world. He has brought the system to critical mass, where it's robust enough and stable enough for many people to use it, and in consequence many people are motivated to port many programs to it. This is Linus' third achievement. It's a cultural achievement, and it is an absolutely critical one without which any Free Software movement is ultimately vacuous and solipsistic.
Yes, Richard, my system is a GNU/Linux system. But it is also and equally a KDE/Linux system and an Apache/Linux system. Your contribution - the Free Software Foundation's contribution - is critical; but so is that of the Apache crew and of the KDE crew and the Debian crew and many others. And although I agree that your contributions - especially on the issues of licenses and of the underlying social principles of what we are doing - are critically important, without Linus achievement your achievement would be a footnote on the eccentric fringe of history.
Disparaging Linus not only does you no credit. It actually undermines what you are setting out to achieve. It not only distracts from the important work you are doing on defending the information commons on which we all depend: it undermines your authority to speak on our behalf.
I know that you are a great hacker. I use Emacs every day, and appreciate it greatly; much of what I do depends on things compiled with GCC. But you must realise that your philosophical work is much more important - much more critical - than your software. You were prescient in seeing the assault on the information commons and in making a stand against it, and that will be the contribution for which you will be remembered.
I have no doubt that one day the HURD will be usable. I have no doubt that the HURD, when usable, will be an interesting opererating system kernel. But the critical issue is that you, and your team, could not deliver it when it was needed, and that Linus could. It does you no harm - it diminishes you in no way - to recognise and give honour to that achievement. And it is peurile and childish to pretend that the conrtibution of the Free Software Foundation is any more important to the operating system on my desktop, on my servers, than the contribution of the Apache Foundation and its contributors or of the KDE project and its contributors. It is mean spirited to pretend that without the critical, fundamental contribution of Linus Torvalds, there would be a usable free operating system for ordinary people around the world to use.
Life is not fair. It isn't fair that the Debian KDE/Apache/GNU/Linux operating system on my desk just gets called Linux, when it comprises 796 packages by literally thousands of different authors. After all, forty or so of those packages are GNU softare. Roughly one tenth, or to put it differently, 60% of the KDE project's contribution. But, I say again, the single, critical component that welds the work of the KDE project, and the Apache foundation, and the Free Software Foundation, and hundreds of other contributors contributions into a usable whole is Linus Torvald's contribution and it's only reasonable that he should get top billing.
Grow up. Give credit where it is due, and concentrate on the parts of your work which are really critical - not just to you but to all of us. Concentrate on articulating the principles which allow an information commons in software to exist, and defending that commons from all encroachments. That is your task to do, which you do uniquely well. The honour which Linus has earned does not diminish or detract from the honour which you have earned. It is your carping, your disparagement, your evident jealousy, which detracts and diminishes your honour. Grow up and stop it.
I'm old enough to remember when discussions on Slashdot were well informed.
IF YOU AREN'T INTERESTED IN THE HURD, THEN SHUT UP.
/. editors decided to carry the story. The comments are filled with jokes about how stupid RMS and the HURD are. I dearly wish there was a "strip all comments labeled "Funny" button.
Can slashdot posters quit talking out of their rear-ends for even one article?
A long-running project in the open source world just made an announcement. The
I'm very interested in how the HURD is progressing, and in TECHNICAL OPINIONS on the HURD. Where are the technical opinions among the comments? Damn few and far between. This is the sort of nonsense that makes slashdot look worse than USA Today (hell, slashdot doesn't even have color barcharts on the front page!).
At one time, I learned a lot about computers and socioeconomic factors surrounding computing by reading slashdot comments. Several years ago, comments included information from computer scientists, sysadmins, and knowledgable hobbyists. Eventually there was a problem where you couldn't find those comments in between the 50 copies of "First Post!". Moderation came, and I could usually find the good posts again.
The comments on this article, however, demonstrate just how stupid the slashdot population has become. My theory is that the huge popularity of slashdot in the US has attracted a readership which closely mirrors the average intelligence of the general US population -- you know, the same population that elected GW Bush for president (motto: "What we need is a clear policy in the Middle East"). The moderation system that once worked well is failing miserably because almost all moderators are as stupid as the posters.
As anyone can tell, I'm pretty pissed that a bunch of whiney losers in diapers, who couldn't spell "algorithm" if they had a copy of CLR on their desk, or explain why CISC was a natural choice for microprocessors in the 1960s, have drowned out any hope of interesting discussion on a technical topic. The comments attached to this article provide some sort of slashdot corrolary to the bikeshed axiom: Since a moron reading slashdot feels compelled to make authoritative posts on every article (to increase their karma?), they will post about the bikeshed color if they have nothing to say about the bikeshed. God help us when the discussion turns to nuclear power plants.
Beyond technical comments, why does everyone feel a need to deride RMS and the GNU project all the time? It seems natural to have some social discussion of RMS and the GNU project attached to any article about the HURD. I can understand why RMS is unpopular. I can understand why some people dislike RMS' campaign to use the name "GNU/Linux" when discussing operating systems which use the GNU foundation but replace the GNU kernel (I guess my feeling on this is clear). What I can't understand is why people put so damn much energy into making RMS a laughing stock.
At this point, it no longer matters what RMS does or says; the slashdot readership seems hell-bent on destroying RMS just because they heard that he was unpopular in some circles. If I were a conspiracy theorist, I'd suggest that Microsoft had a pool of RMS-trolls trying to change public opinion of RMS, GNU, and Free Software via slashdot comments.
I'd like to encourage everyone reading this to do the following:
1) Think for yourself
2) Listen careefully to what people say, in comments and otherwise
3) If you don't have anything useful to contribute, then keep your mouth closed.
4) Be careful with the "funny" moderation tag -- we all need humor, but there's more (or should be) to slashdot than (rightly or wrongly) smacking people down
If we follow those rules, then maybe we'll be able to learn stuff from slashdot comments again. For instance, comments on this article about a new HURD release might include:
1) discussions of microkernel history, strengths, and weaknesses,
2) which microkernels are still in use
3) how the Darwin kernel design differs from the HURD design
4) a reasonable, well-thought-out debate about whether the long term benefits of the HURD justify the current HURD effort in the Free Software community
5) how changes in hardware might affect the expected future value of the HURD, given the HURD's extremely slow development
6) alternatives to monolithic and microkernel designs in principle and practice (I'm not aware of any, but surely someone has something in-between, if not totally different)
7) whether the Free Software and Open Source communities should really be involved with basic software research, or lower its ambitions and simply copy existing, working software
Maybe this post can at least spawn an intelligent discussion of whether it violates the rules it proposes (it probably does, but I'm not going to fix it because I'm still seeing red).
-Paul Komarek
Snip the first one - I agree with it. Instead of doing this extremely well-designed, non-unixy multiserver microkernel design, Linus was in a hurry and just redid it the unix way. Good job. (I love Hurd!)
"The second hard bit that Linus did which the Free Software Foundation has clearly failed to do is to evolve a development methodology which allows - encourages - very many people to take part, and which manages to integrate and exploit the fruits of all their labours. That's Linus' second achievement: a social achievement, and a big one."
No; RMS did this back with TECO Emacs in the seventies. Larry Wall did it with perl in the eighties. The GNU project was a success partly because the unix toolbox philosophy - every developer could make their own version of the tools.
"But Linus third achievement is the key one, and it is key to your project of making Free Software available to ordinary people all over the world. He has brought the system to critical mass, where it's robust enough and stable enough for many people to use it, and in consequence many people are motivated to port many programs to it. This is Linus' third achievement. It's a cultural achievement, and it is an absolutely critical one without which any Free Software movement is ultimately vacuous and solipsistic."
You need a kernel to boot the system - you need a compiler to make the kernel. RMS wrote the best compiler in the world. Gcc.
A couple of years ago, when RMS started insisting on the (admittedly awkward) name GNU/Linux, there were many people talking about "the Linux system" but not talking about software freedom. RMS figured that adding GNU to the name would remind people of that. (And it'd give him a share of the credit. Everyone likes credit.)
These days, this problem is smaller (but it still exists. The kernel/bitkeeper situation is tragic), and many people already think of freedom when they hear about "linux".
Yes, I've also been to one of his speeches (his speech was kind of boring - it basically rehashed all of the information available on the GNU/FSF websites and I was quite disappointed) and I heard the same story. I don't buy it. Apple managed to debug a multi-threaded multi-processor microkernel-based system. Granted, Apple has the resources to pay a small group of highly-skilled engineers to concentrate on a project, whereas the distributed development model common in most Free/OSS projects may not be well-suited for kernel work. OTOH, Linux employs a very open development model, and the FSF's own projects (like emacs and gcc) generally use very closed development models (eg, you have to be on a certain mailing list to get access to emacs betas - no public CVS). So you see, these arguments can't really explain HURD's problems, so that's why I'm confused.
Linux is pretty much based on "stuff that works"
I think this is closer to the real reason. I think HURD may have a bit of the "Ivory Tower" problem. I recently saw on a HURD mailing list a problem someone was having porting over some network program to HURD. HURD puts no limits on the size of strings returned by the gethost* functions, whereas every other Unix system has a well-specified limit on the length of domain names. This makes it difficult to pre-allocate a buffer for a hostname, which in turn, makes network programming in C more difficult (and I'll pre-emptively tell you HLL folks to bugger off because C is still the de-facto language for network programming). The HURD folks came up with some riduculous artificial example of a hostname that breaks under BIND/glibc/Linux.
Whenever I'm writing some program, I have to make certain decisions. For instance, I have to decide what to abstract into a module and what to hard-code in. If you don't abstract anything, you'll end up with spaghetti code, but if you try to abstract everything, you'll end up nowhere. At one point, you have to sit down and tell yourself "now, you write the code that accomplishes your goal."
Anyway, I'll probably be sticking to Linux and FreeBSD for quite a while. I'd like it if DevFS were more accepted, if user-level filesystems became a standard part of Linux and if capabilities were made useful under Linux, but as it is right now, Linux and FreeBSD are actually usable operating systems, which is something I'm not sure I can say about HURD.