Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Fun with the Hurd

By BlckKnght in Technology
Wed Oct 04, 2000 at 05:36:24 PM EST
Tags: Software (all tags)
Software

Over the last few days, I've been experimenting with the GNU/Hurd on my spare partition. I asked some of the members of SIG Unix on my campus if they wanted to work on it as one of our projects. To my surpise, they were completely uninterested and even somewhat hostile to the project.

How universal is this among the Free Software community?
Is the Hurd just a ego project for RMS (as one of my friends suggested)?
Do we need an alternative kernel to Linux?


Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers?
Are you without a nice project and just dying to cut your teeth on an OS you can try to modify for your needs?
Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working?
Then this post might be just for you :-)
 
-- Linus Torvalds, 1991
 

I'm interested in OS development and such, but I havn't been able to get into Linux Kernel hacking. But I do feel that I can make a contribution to the Hurd Project immediately, if only by testing the portability of Linux packages. Eventually I'm sure I'll be able to work on some of the core servers.

If you're interested, trying out the Hurd has got a lot easier (though I won't say that it's acutally easy yet...). The Easy Guide to installing the Hurd from Linux is a good place start. And as of a few weeks ago, Debian's apt-get and dselect utilities are working (though not installed by default) to get more packages.

Really though, I'd like to hear what the K5 community thinks about this.
Can the Hurd replaces Linux?
Should the Hurd replace Linux?

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
What's your favorite Kernel?
o The GNU Hurd 8%
o Linux 45%
o BSD 27%
o WinNT 2%
o MacOS 2%
o Win9x 0%
o DOS 12%

Votes: 110
Results | Other Polls

Related Links
o GNU/Hurd
o Easy Guide
o Also by BlckKnght


Display: Sort:
Fun with the Hurd | 57 comments (54 topical, 3 editorial, 0 hidden)
Why does it need to replace Linux? (4.15 / 19) (#1)
by sab39 on Wed Oct 04, 2000 at 04:22:27 PM EST

I would love to see the Hurd be successful. I think it has a good chance of being. I don't see it ever replacing Linux, but I don't see that as a problem. Remember, this is Open Source - choice is good. Personally, I'd like to see Debian GNU/Linux, Debian GNU/Hurd, Debian GNU/BSD, Debian GNU/Darwin, etc etc. And Red Hat Hurd, and FreeBSD/Darwin, NetBSD/Linux, OpenBSD/Hurd, and every other combination you can think of. If 95% use Linux and the rest are spread over the different variations, that's no problem, so long as interoperability and portability are preserved. We should celebrate choice, not fight it.

Stuart


--
"Forty-two" -- Deep Thought
"Quinze" -- Amélie

Re: Why does it need to replace Linux? (2.57 / 7) (#3)
by UrLord on Wed Oct 04, 2000 at 04:26:39 PM EST

Right now it looks like RedHat has enough problems to deal with, without having to worry about another kernel. Also most of these projects are undermanned as it is and bringing this complexity into the issue will detract from thier original purpose. I dont want Theo from OpenBSD to be working on Hurd, I want OpenBSD to be that much better ;) Anyways decent article, wish there was more of the author's opinion in it.

We can't change society in a day, we have to change ourselves first from the inside out.
[ Parent ]

Re: Why does it need to replace Linux? (3.44 / 9) (#4)
by psicE on Wed Oct 04, 2000 at 04:30:46 PM EST

I also think choice is good, but as of right now all non-Linux distros have a merged kernel and distro. FreeBSD means the FreeBSD distro, but Linux means /boot/vmlinuz. GNU/Hurd was a plan to create a unified GNU distro, in the likes of the *BSD's. This would mean that choice would be between FreeBSD, NetBSD, OpenBSD, GNU System, and the many distros of Linux.

In a situation like this, *BSD and GNU would be completely standardized. Anyone using GNU uses the same GNU, anyone using NetBSD uses the same NetBSD. This goes a long way in [a] making the distro work better and [b] helping adoption. Under a system like that, you always know that the libc is compatible with the kernel and is compatible with anything else coming with the system; under Linux you can't even use the same RPM package on RedHat, Mandrake, and Caldera without ruining the database hierarchy! This may be choice, but not good choice.

[ Parent ]
Re: Why does it need to replace Linux? (3.00 / 4) (#7)
by Garc on Wed Oct 04, 2000 at 04:57:17 PM EST

Why wouldn't Redhat, or SuSe make a distro based on Hurd? It's GPL'd, just like the linux kernel, so just linux, there could be multiple Hurd based systems. Maybe a Hurd system might be out of scope, or too much to deal with for some of the companies doing linux distros, but some startup might as well jump up and develop a Hurd based OS. Debian has GNU/Hurd, whats to stop any company from trying?

garc
--
Tomorrow is going to be wonderful because tonight I do not understand anything. -- Niels Bohr
[ Parent ]
Re: Why does it need to replace Linux? (2.66 / 6) (#11)
by psicE on Wed Oct 04, 2000 at 05:05:02 PM EST

Debian GNU/Hurd is just another name for the Hurd project. The FSF is too lazy to package it, so they got the Debian team to do it for them. Yes, theoretically another distro could pop up using the Hurd kernel, but it would probably be too much work for them to bother. Remember Debian/FreeBSD? It bombed because nobody wanted it, they were fine with FreeBSD the way it is.

The one thing I like about Hurd is the fact that there's no /usr, everything's in root. Granted, this makes embedded systems or read-only roots harder, but it's not a good idea to do that with any Unix-based system. I'm hoping that something like Hurd can eventually become the de facto server OS, and something like Palm OS or cellphone software the de facto client OS. The server OS needs to be as minimal as possible for server configurations but very powerful, and the client OS just has to be simple (nothing but application-level functions need to be exposed to the user).

Would it be possible to port a voice-based terminal to cellphones (WAP), so you could remotely control a computer on telnet with your voice? :)

[ Parent ]
Re: Why does it need to replace Linux? (2.83 / 6) (#20)
by itsbruce on Wed Oct 04, 2000 at 06:39:23 PM EST

The one thing I like about Hurd is the fact that there's no /usr, everything's in root.
And that's a good idea? It sounds like madness to me.
'm hoping that something like Hurd can eventually become the de facto server OS, and something like Palm OS or cellphone software the de facto client OS. The server OS needs to be as minimal as possible for server configurations but very powerful, and the client OS just has to be simple (nothing but application-level functions need to be exposed to the user).
I don't see that ever working in practice. The all-purpose OSs will always win out because they have a larger development space and are more flexible and truly scalable. Netware is just a server OS and look what's happened to them (and I speak from an office which is almost entirely Netware on the server side). Nobody wants to develop for Netware and they couldn't carry it all themselves.

In contrast, one of the reasons for NT's success over Netware (Linux user, don't shoot!) is that the server/workstation distinction is entirely arbitrary and the same development environment and API applies to both.

As an IT professional and part-time sysadmin (i.e our actual sysadmin is incompetent and I do half his job) I absolutely value an OS that can be both server and client. I couldn't do without that flexibility. Sometimes I need the same machine to be both.

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
[ Parent ]
Re: Why does it need to replace Linux? (4.00 / 3) (#32)
by psicE on Wed Oct 04, 2000 at 07:52:18 PM EST

NT's success also came from the fact that Microsoft can pay for extensive marketing. Granted, the peer-to-peer might have helped in small businesses, but they could have been using 9x for that too.

Have you ever used a Snap Server? They work with SMB, IPX, HTTP, AFP, and NFS. They do nothing but serve files, and the 15GB version costs $499. You could theoretically design a network around that, where all the computers have a minimal installation image with basic apps on CD-Rs, boot from CD-ROM drives, store swap in memory or minimally-sized hard drives, and store all files on the server.

The reason nobody trusts embedded systems is because they're so new. We all have our general-purpose servers and they work fine, so why switch? Because it makes administration easier, and makes the network more robust, among others.

As for the elimination of /usr, I forgot to find out about the rumored "shadow filesystem" support. Another poster told me that it allowed multiple filesystems to be mounted on the same directory, so your "/usr/" partition would appear in the same space as your root partition, and your /usr/bin and /bin and /usr/local/bin programs would all be in a /bin directory.

More later.

[ Parent ]
Re: Why does it need to replace Linux? (4.20 / 5) (#31)
by pretzelgod on Wed Oct 04, 2000 at 07:46:17 PM EST

You're wrong about /usr. Right now it's just a symlink, but that's there in preparation for one of the cool features of the Hurd. A directory (/bin, for example) can actually be the union of many different filesystems or directories. So your root filesystem would still be small, and you'd still be getting most of /bin from a separate filesystem, but no silly separate directory structures are needed.


-- 
Ever heard of the School of the Americas?


[ Parent ]
Re: Why does it need to replace Linux? (1.50 / 12) (#10)
by trhurler on Wed Oct 04, 2000 at 05:02:04 PM EST

Celebrate choice, as long as it is Debian choice, eh? Sorry, but I'll stick to systems that are reliable and secure, which by definition means NOT designed by committee ala Debian.

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: Why does it need to replace Linux? (3.16 / 6) (#14)
by psicE on Wed Oct 04, 2000 at 05:16:34 PM EST

I'm not saying Debian is good, OpenBSD is bad; in fact, I like OpenBSD in general much better than Debian (license included). All I'm saying is that a microkernel-based architecture and less useless redundancy is better for a server.

Of course, if we can eventually set up all servers as independent hardware devices (i.e. the Snap Server, www.snapserver.com) then we won't need server OS's like these that are (with the exception of OpenBSD) prone to bugs and crashes.

[ Parent ]
Re: Why does it need to replace Linux? (2.60 / 5) (#15)
by fluffy grue on Wed Oct 04, 2000 at 06:06:23 PM EST

Eh? A microkernel is better for a server? What are you smoking?

Even with the minimum theoretical overhead of a highly-optimized microkernel, the overhead of things running as separate processes will more than negate any security and flexibility gains you get.
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Re: Why does it need to replace Linux? (3.00 / 4) (#45)
by Michael Leuchtenburg on Wed Oct 04, 2000 at 11:13:23 PM EST

the overhead of things running as separate processes will more than negate any security and flexibility gains you get.

How does that work? Those are completely seperate things. Less speed, more security and flexibility. Sounds like a standard tradeoff to me.

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]

Re: Why does it need to replace Linux? (3.50 / 4) (#48)
by fluffy grue on Thu Oct 05, 2000 at 01:48:14 AM EST

If your code is secure, though, you don't NEED the tradeoff. It is possible to have both security and speed at the loss of some flexibility, but even then it's a minimal loss. Run a Linux 2.4 server with the httpd kernel module (which serves files Very Quickly, and calls upon Apache to do anything more intense), and you're going to get much more possible throughput than any microkernel could muster. And although it's easier to keep things secure if they're in separate processes/address spaces/etc., it's not like being in a single address space makes it inherently insecure. Actually, being in separate address spaces doesn't make it inherently secure - who's to say there isn't, say, a buffer overflow in the message-handler of the filesystem, or some way to circumvent the identity check or whatnot?
--
"Is not a quine" is not a quine.
I have a master's degree in science!

[ Hug Your Trikuare ]
[ Parent ]

Re: Why does it need to replace Linux? (4.00 / 1) (#54)
by Michael Leuchtenburg on Fri Oct 06, 2000 at 03:17:10 PM EST

It does reduce the number of thing which have to be made secure, however. Each individual program doesn't have to be (as) secure, if the services provided to it inherently prevent it from making some damaging actions that would otherwise be possible.

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]
Re: Why does it need to replace Linux? (3.00 / 1) (#56)
by Miniluv on Sun Oct 08, 2000 at 08:54:34 PM EST

The single address space is not "inherently insecure", it's just begging for an exploit. Sandboxes are good, and the speed tradeoff is acceptable in most environments...in environments where speed is a serious issue why is anything other than a singe service running on said server? If I need high speed HTTP servering, I'll put together a farm of servers running ssh and HTTP and that's it. If I need SMTP/POP3 then that's all it'll run, again with SSH for administrative needs.


"Its like someone opened my mouth and stuck a fistful of herbs in it." - Tamio Kageyama, Iron Chef 'Battle Eggplant'
[ Parent ]

Re: Why does it need to replace Linux? (2.77 / 9) (#18)
by itsbruce on Wed Oct 04, 2000 at 06:25:26 PM EST

Celebrate choice, as long as it is Debian choice, eh?
If I had the mojo I would be marking that down as flamebait. It's the first post I've read in this otherwise mature discussion that smacks of OS wars - there's more than enough of that in SlashDot if you want it.
reliable and secure, which by definition means NOT designed by committee ala Debian.
Curious. Linux as a whole is less secure than OpenBSD but Debian is probably the most secure of all the main Linux distributions. It's also probably the most stable (on the downside, it's never cutting edge - if you rate that kind of thing - and is certainly the least user-friendly).

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
[ Parent ]
Re: Why does it need to replace Linux? (2.63 / 11) (#23)
by trhurler on Wed Oct 04, 2000 at 06:50:06 PM EST

If I had the mojo I would be marking that down as flamebait.
Of course, that's not what trusted users are supposed to be doing, but don't let that bother you; you strongly disagree with what I say, therefore it must be eeevil, right? So, call it flamebait and knock it down. Hopefully you never WILL have the mojo.
Curious. Linux as a whole is less secure than OpenBSD but Debian is probably the most secure of all the main Linux distributions.
That's like being the most innocent in a group of hookers. I seriously don't mean that to sound as bad as I know it does, but in general, there are very, very few systems out there that are secure, and as long as Linux is saddled with the GNU userland and the totally decentralized development model that goes with that, it won't be one of them. The kernel itself is gorgeous, which makes that a real pity. (You can do decentralized development, but unless you have a central quality control mechanism that controls what changes actually make it into the final source tree, you lose, and the Debian "patch mania and lots of backporting" model does not scale well; sooner or later, it'll break down.)

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: Why does it need to replace Linux? (3.00 / 6) (#27)
by itsbruce on Wed Oct 04, 2000 at 07:26:33 PM EST

you strongly disagree with what I say, therefore it must be eeevil, right? So, call it flamebait and knock it down.
No. It's your tone I object to. In this discussion, as in others, I've marked things up if they've been informative or made me think. Some of what you have to say is in that category but the tone that goes with it is childishly aggressive.

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
[ Parent ]
Re: Why does it need to replace Linux? (3.28 / 7) (#38)
by trhurler on Wed Oct 04, 2000 at 08:11:40 PM EST

No. It's your tone I object to.
I can understand that; I tend to be blunt, tactless, and sometimes downright rude. However, if you look at the description of mojo, trusted users, and so on, it says that the zero rating is for one and only one thing: spammers. It is not there to regulate content or manner of presentation, but rather to get rid of one particular kind of actual abuse of the system itself.
Were I a Slashdot luser, almost nobody would ever even have an opportunity to read what I say, because I don't cater to their particular biases; the very fact that this is necessary in order to be heard there should clue you in as to why other sites(several of them,) deliberately do NOT have such a moderation system as is employed there.

(Before someone gets on to the "don't bash Slashdot" thing, understand: I've been rabidly anti-Slashdot almost since it first started, so much so that it took me a long time to even read anything that looked similar, such as K5; this isn't a Kuro5hin ego thing, and you aren't going to change my mind. I don't try to make you agree with me on this point, so don't waste your time trying to make me agree with you.)

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: Why does it need to replace Linux? (2.50 / 6) (#39)
by itsbruce on Wed Oct 04, 2000 at 08:40:30 PM EST

However, if you look at the description of mojo, trusted users, and so on, it says that the zero rating is for one and only one thing: spammers.
Point. I haven't been around here long.

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
[ Parent ]
Re: Why does it need to replace Linux? (2.60 / 5) (#46)
by Michael Leuchtenburg on Wed Oct 04, 2000 at 11:17:51 PM EST

he Debian "patch mania and lots of backporting" model does not scale well; sooner or later, it'll break down.

Didn't you already say "Debian isn't secure" (paraphrased)? Does the model work, or doesn't it?

I like Debian. I don't think it's incredibly secure, though. I know there are bugs, and I know there are configuration fuckups on my part (and the default config's part). Fortunately I don't need the most secure system ever for my workstation.

I'll try a BSD when I have a spare computer. Until then, I'll stick with Debian. Should be soon though. =)

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]

Re: Why does it need to replace Linux? (3.00 / 3) (#51)
by trhurler on Thu Oct 05, 2000 at 01:26:12 PM EST

The apparent contradiction is my fault; I used the term "secure" in two different senses. Debian's security process works in that the available fixes are almost always applied. It fails in that Linux userland code in general is so godawful that no amount of diligence will really protect you.

Put it this way. Would you run a network of Debian machines on a dedicated line with static IPs and no firewall? I hope not. Would I do this with OpenBSD? Yes, and I call it arrogance.org.

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: Why does it need to replace Linux? (3.00 / 1) (#55)
by Michael Leuchtenburg on Fri Oct 06, 2000 at 03:24:36 PM EST

Something interesting I've noticed as I delve into the OpenBSD docs. The site says "no remote root in the default install for 3 years!" What's in the default install? I'm assuming that includes SSH, Telnet (hopefully with SSL), FTP, NFS, perhaps some other filesharing protocols (AFS, SMB, you know the deal), SMTP, POP, and IMAP. I can't back that up, but it seems like the base requirements. Does it also include HTTP? A good one?

What about DNS? Is that secure? I guess they're not using Bind8, then.

What about xdm, or equivalents?

The ports system, it appears, grabs the source from somewhere. Is this source audited too? Obviously not, since there's a binary Netscape port; there's no code to audit.

It doesn't matter if the base system is perfectly secure, as most people don't want the base system. Well, okay, it does reduce the number of possible security holes, so you have fewer things to secure, but it would also seem to contribute to a sort of arrogance to assume that the system is secure.

Am I missing something?

[ #k5: dyfrgi ]
[ TINK5C ]
[ Parent ]

Re: Why does it need to replace Linux? (2.00 / 6) (#29)
by psicE on Wed Oct 04, 2000 at 07:36:53 PM EST

Isn't mojo supposed to be starting posts off at a higher rating depending on your comment rating average? It doesn't appear to be working yet. Can you explain...

[ Parent ]
Re: Why does it need to replace Linux? (1.57 / 7) (#36)
by itsbruce on Wed Oct 04, 2000 at 08:04:51 PM EST

Don't ask me, I've only been around a couple of days;)

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
[ Parent ]
Re: Why does it need to replace Linux? (2.33 / 3) (#52)
by royh on Fri Oct 06, 2000 at 12:56:10 PM EST

Your mojo is something like the average rating of all your posts (I believe it decays with age). A person with high enough mojo (and enough posts) is able to rate a comment "0", which will make it invisible to everyone who doesn't have high enough mojo.

See the moderation section of the kuro5hin faq. (or just click "faq" in the bar at the top of the site :)

By the way, can the person(s) who moderated the post I replied to and the post it replied to down please stop? Those posts should be unrated or given an average rating if necessary, because they are not bad comments and don't do anyone any harm (at least the first couple times).

[ Parent ]

RMS ego trip? (2.00 / 12) (#5)
by jxqvg on Wed Oct 04, 2000 at 04:35:34 PM EST

I'd like to see this discussed just because that line about RMS kind of interests me. Is it true? Does it matter?

[sig]
Re: RMS ego trip? (4.00 / 6) (#42)
by benley on Wed Oct 04, 2000 at 08:57:14 PM EST

I was present at the discussion mentioned in the post (no, really!) after a SigUnix meeting last week, and our general consensus was that it no longer matters if the Hurd was an ego trip for RMS, it is beginning to grow beyond the point where he can retain it as a personal ego trip. If it is or was an ego trip, at least it is an interesting one, and one which puts a somewhat different spin on what we currently perceive as an operating system.

[ Parent ]
Microkernels and servers (3.93 / 15) (#8)
by Eliezer on Wed Oct 04, 2000 at 04:57:53 PM EST

The main reason I want to see Hurd succeed, I must confess, is to see the end result (or next step) of the "micro vs. monolithic" war. I haven't been convinced that the last word on this has been spoken. I can see so many possible advantages to microkernel/server technology; there are a lot of possibilities even if specialized monolithic kernels like Linux do outperform it a bit in the long run. Besides, there are people who do not like the way Linus handles the role of benevolent dictator (although under the circumstances I don't think he does badly), and they may feel that they have more of a chance to contribute something meaningful to what is essentially GNU's pet kernel.

If I weren't running mostly PPC hardware, I would love to have a go at this myself. But it will be a _long_ time before Hurd gets beyond x86 (and maybe Alpha), I suspect. *sighs*

Re: Microkernels and servers (2.42 / 7) (#19)
by commandant on Wed Oct 04, 2000 at 06:35:56 PM EST

I don't see how Linus's benevolent-dictatorship has anything to do with contributing to the operating system. If you have modifications to make, they can be made to the Linux kernel just as well as to the HURD.

It seems your problem is that Linus rejects more kernel patches than you'd like to see. Do you really think Stallman and his gang are going to accept everyone's kernel patches? Please.

All that matters is that you can insert whatever code you need to do a job.

[ Parent ]

Re: Microkernels and servers (3.57 / 7) (#40)
by Eliezer on Wed Oct 04, 2000 at 08:46:11 PM EST

Did I say I had a problem with it? No, just the opposite ("under the circumstances I don't think he does badly"). Read the post.

I didn't mean to suggest that the system was flawed, just that there are people that don't like Linus's attitude and and there are people who don't agree with his kernel design philosophy. I think that his attitude was essential in getting the kernel where it is today, and his design philosophy is clearly standing the test of [Internet] time, but there are a lot of people who wish things were different, and the design philosophies and attitudes of the GNU crowd are different from Linus'. This is, actually, an opportunity for some people to participate who may not have had the chance before, and to participate meaningfully; not just maintaining a patch on the side, but actually to be part of the design process in an environment where the bar is much lower, due to the slower progress of the project, than it is in the Linux kernel crowd.

To corrupt a Kevin Kline quote from "A Fish Called Wanda," "Fork away!" I'm not suggesting that one cannot "insert whatever code you need" to the Linux kernel. It's a question of participation, not capability.

[ Parent ]
The Hurd Rules (2.76 / 13) (#9)
by pretzelgod on Wed Oct 04, 2000 at 05:01:01 PM EST

As soon as i get more free time i'm going to join the Debian Hurd porting effort (i'm already in the queue to become a new Debian developer). X runs on the Hurd now, although it's only version 3. It looks great on my computer, though. This makes it much more usable.

Should the Hurd replace Linux? I don't see that question as relevant. If the GNU/Linux users want to continue to use GNU/Linux, i don't care, but that has nothing to do with the Hurd. The GNU project began in 1984 with the goal of creating a complete operating system. The Hurd is the final component. The existence of Linux is irrelevant; many of us want to be running GNU, not GNU/Linux.

Aside from that, there are the technical issues. Linux was outdated the day it was released. The Hurd uses a revolutionary microkernel architecture. Only device drivers go into the microkernel; everything else is implemented as a user-space daemon running on top of that. Having the kernel itself aggressively concurrent makes clustering and SMP easy on the Hurd.


-- 
Ever heard of the School of the Americas?


Re: The Hurd Rules (4.13 / 15) (#16)
by trhurler on Wed Oct 04, 2000 at 06:08:25 PM EST

Aside from that, there are the technical issues. Linux was outdated the day it was released. The Hurd uses a revolutionary microkernel architecture. Only device drivers go into the microkernel; everything else is implemented as a user-space daemon running on top of that. Having the kernel itself aggressively concurrent makes clustering and SMP easy on the Hurd.
This is religion, pure and simple. The factual bits are wrong, and the rest(which pretends to be factual, but is in fact speculation,) is highly doubtful. Here are some facts that may help to cure it:

1) Monolithic kernels(you mention Linux, but it was hardly the first, and is hardly the best,) are only outdated in the view of starry-eyed academics and people who have heard those academics' viewpoint while having too little understanding to actually rationally analyze it. To date, microkernels have consumed a lot of money and time, and produced nothing in the way of practical benefits - and that's in over a decade of work. Meanwhile, monolithic systems keep doing the same old good job.

2) A lot more than device drivers go into a microkernel. If you're going to tout something as the next big thing, at least learn about it first. You basically have message passing kernels and virtual-memory-tricks based kernels. The former are intolerably slow and the latter generally lack portability and rely on having really fancy hardware that is anything but reasonably priced.

3) Most of the "microkernel systems" out there are no such thing. NT is not. OS X is iffy. Most Mach-based systems end up running all the stuff a monolithic kernel has in the Mach kernel address space, which pretty much eliminates the advantages of the design for everyone but programmers. Basically, the microkernel people are touting an emperor who has no clothes and they haven't even had the decency to hire a tailor. Instead, they keep shuffling him around, playing the shell game and hoping nobody notices that he's not really quite what they're claiming.

4) Microkernels haven't been revolutionary in over a decade. Your hyperbole is inane.

5) Nobody knows how easy or hard clustering will be on the Hurd. They all claim that it just "will" work, but nobody has done it in any real fashion. Mach based systems in general do not scale well past 8 or 16 processors; message passing overhead slaughters their performance. This will probably be true of the Hurd, too. Clustering is probably no easier or harder on the Hurd than anywhere else you have a reasonably robust system.

6) The Hurd will probably never be completed, because it is so damned hard to debug. It will be impossible to properly secure. Of course, Linux is nearly impossible to properly secure, too, but there are alternatives.

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: The Hurd Rules (3.77 / 9) (#28)
by pretzelgod on Wed Oct 04, 2000 at 07:33:18 PM EST

<blockquote type="cite"> Most of the "microkernel systems" out there are no such thing.

That's what makes the Hurd revolutionary. Instead of doing what everyone else is doing and basically building a monolithic kernel on top of a microkernel, the Hurd actually takes advantage of the fact that traditional kernel stuff doesn't have to go into the kernel.

<blockquote type="cite"> The Hurd will probably never be completed

That's a rather strange thing to say, considering that i'm posting this comment from lynx in an xterm on the Hurd. Thanks to Marcus Brinkmann, we now have X and will soon have modems and PPP.

After reading your comment, i don't think you have any actual experience with the Hurd. Yet you claim to have facts, and belittle my comment as nothing more than speculation.


-- 
Ever heard of the School of the Americas?


[ Parent ]
Re: The Hurd Rules (oops) (1.00 / 5) (#30)
by pretzelgod on Wed Oct 04, 2000 at 07:39:09 PM EST

I don't seem to be having much luck with browsers lately. Let's try this.

test

-- 
Ever heard of the School of the Americas?


[ Parent ]
Re: The Hurd Rules (4.14 / 7) (#35)
by trhurler on Wed Oct 04, 2000 at 08:00:48 PM EST

The Hurd is not revolutionary. There have been similar academic systems; the reason none of them ever became the second coming of unix is that they perform badly and are notoriously difficult to debug, which latter leads to them being unreliable, which last makes them insecure.

You have an outdated version of X, and you'll soon get an outdated means of connecting to the Internet. Gee,that's great. When will you have a fully functional set of kernel services? Userland is easy by comparison, but all you have, even there, is outdated and incomplete.

Now, you're only partly right about my Hurd experience; last time I tried to look at it, which was around 1994 or 95, it was so pathetic that I decided immediately that I had better things to do with my life. As I learned more about operating systems(I studied them quite a bit,) I found that the big Hurd claim to fame, extreme modularity, isn't at all what it is hyped as, doesn't deliver what it promises, and introduces needless complexity. At this point, you would have to pay me a handsome salary to waste my time with such toys; granted, my opinion might change if microkernel advocates ever rise from the Lisp-like swamp of mediocrity, vaporware utopian dreaming, and inferior tools they currently dwell in and produce a good product, but I don't believe they can, much less that they will. The fact that there hasn't been a Hurd kernel code release in three years reinforces that suspicion quite strongly.

If it makes you feel any better, you can sum up my actual feelings about the Hurd the same way you can about any other half-complete dreamer's paradise founded on unproven theories: make it work, and then bring me the hype. Right now, you're bragging, mouthing off, and acting like a 1994-era Linux zealot: you're proclaiming the superiority of a product that, for all intents except self-development, doesn't really exist yet. It isn't like we're all wishing I had an operating system, and here comes the Hurd; if you want to talk smack, you need something demonstrably SUPERIOR to a large existing body of similar software.

--
'God dammit, your posts make me hard.' --LilDebbie

[ Parent ]
Re: The Hurd Rules (3.50 / 2) (#53)
by pretzelgod on Fri Oct 06, 2000 at 02:45:56 PM EST

You have an outdated version of X

Hardly. XFree3 is not outdated. Though my computer at work runs XFree4 because the video card isn't supported in 3, my laptop runs XFree3 because its video card isn't supported in 4. And my desktop at home runs 3 because that works just fine so there's no point in upgrading.

you'll soon get an outdated means of connecting to the Internet.

Demonstrating your ignorance again, eh? The Hurd has supported ethernet for a long time. I know because that's how my computer is hooked up to the Internet. That's how i'm posting this comment. From the Hurd, remember? So you can already connect via cable or DSL. Soon you'll be able to connect via modem. That only leaves ISDN, which i doubt anyone will even bother with.

When will you have a fully functional set of kernel services?

What exactly do you think we're missing?


-- 
Ever heard of the School of the Americas?


[ Parent ]
Re: The Hurd Rules (2.33 / 6) (#24)
by ewan on Wed Oct 04, 2000 at 06:52:47 PM EST

Revolutionary? Hardly. Perhaps in 1984 it was somewhat unique, but today several operating systems already have working, mature microkernels.

Ewan

[ Parent ]
Good grief... (3.18 / 16) (#12)
by trhurler on Wed Oct 04, 2000 at 05:09:45 PM EST

I do sympathize with your plight regarding your friends; Linux zealotry is pathetic but quite common(and for all of you that this offended, keep in mind that Linus agrees with that statement:)

However, the Hurd is not a good example of an operating system, it is not a good example of a microkernel, and in fact about the only thing it -is- a good example of is "why rms should stick to lisp." It is huge relative the limited functionality it provides, it is not as flexible as GNU claims unless you make it totally insecure(not that you can make it properly secure anyway; as usual with rms stuff, security is an "unfortunate necessity" at best, so it isn't really done right,) it is slow, it is hard to debug(just ask rms!,) and it is, for all intents and purposes, a dead project. I suggest that if you want to hack on something, you find something of greater intrinsic worth.

--
'God dammit, your posts make me hard.' --LilDebbie

Re: Good grief... (2.41 / 12) (#21)
by Girf on Wed Oct 04, 2000 at 06:39:50 PM EST

I do Linux, I completely agree with you. We are all zealots. Every last one of us. We are not for open source, we are for coolness; this fact stands as many people who would die for Linux use only RPMs, and are scared to death of simple things like make and vi.

We are not for optimized kernels, we are for 'rebeling' against Microsoft; this fact stands as so many people still use the works-for-everyone-straight-out-of-the-box kernel as provided by RedHat.

We are not for choice, and basically we don't care about good computing, only cool computing. In our minds, there are two operating systems.. Linux and Microsoft. We are the ones that invented dual-booting, so we could play are Windows games as well. We are the ones who still don't know the difference between interepter and compiler. We are Linux!

Ok, it's a stereotype, but that is what it is about..

GIRF

[ Parent ]

Re: Good grief... (3.00 / 7) (#33)
by Broco on Wed Oct 04, 2000 at 07:55:16 PM EST

I'm not sure what the point of your post was. That the average amount of technical knowledge of Linux users is lower than that of users of other Unices? Well, obviously. What's wrong with that? Just because people use programs that were created using a compiler doesn't mean they have an ethical obligation to know about it.

I do Linux, I completely agree with you. We are all zealots. Every last one of us. We are not for open source, we are for coolness; this fact stands as many people who would die for Linux use only RPMs, and are scared to death of simple things like make and vi.

Um, according to my definition, a zealot is a kind of "religious" fanatic who is blinded by his obsession for his cause. So you might call RMS a zealot because he is so insistent and uncompromising about free software. Switching OSes just to feel cool may be idiocy, but it's not zealotry anyway.

We are not for optimized kernels, we are for 'rebeling' against Microsoft; this fact stands as so many people still use the works-for-everyone-straight-out-of-the-box kernel as provided by RedHat.

Maybe this is because it's a fine kernel for many people and there's often no need to switch, except perhaps to feel cool?

We are not for choice, and basically we don't care about good computing, only cool computing. In our minds, there are two operating systems.. Linux and Microsoft. We are the ones that invented dual-booting, so we could play are Windows games as well. We are the ones who still don't know the difference between interepter and compiler. We are Linux!

I know some smart people that don't have the time or incentive to become expert at the software they use, and I don't like that sort of condescending attitude towards people who are ignorant about the workings of computers. Are you inferior to a mechanic because you don't have a detailed understanding of how a car engine works? No one can know everything; IT people shouldn't look down on others just because their skill sets are different from ours.

Klingon function calls do not have "parameters" - they have "arguments" - and they ALWAYS WIN THEM.
[ Parent ]

Re: Good grief... (2.75 / 4) (#34)
by BlckKnght on Wed Oct 04, 2000 at 07:58:37 PM EST

Actually, they wern't opposed to it because of any kind of zealotry (our LUG got folded into SIG Unix because there were too few members...), but just a general sense that the Hurd was bad... I'm trying to find out why.

As for the RMS bits, I have heard nothing from him, or about him in the week or so that I've been on the Hurd mailing lists, nor does he appear in any of the recent archives. I know he started the project, but others are running it now (mostly at least). I think working with Debian developers is really moving the development away from the Cathedral style toward the more Linux-like bazarre style of development. I may be wrong, but I get the impression that the current developers would love to have as big a base of user/developers that Linus found for Linux.

As for the Hurd's quality itself, I can't really say much, as I havn't looked at any of the code. I hope that you're wrong about it's poor design, as it really seems to be a pretty interesting design.

-- 
Error: .signature: No such file or directory


[ Parent ]
Silly name (1.46 / 15) (#17)
by daani on Wed Oct 04, 2000 at 06:14:31 PM EST

If it didn't have a silly name more people would be interested. No-one ever achieved world-domination without a racy name.

Re: Silly name (1.42 / 7) (#22)
by Girf on Wed Oct 04, 2000 at 06:42:35 PM EST

Should have called it 'Windows' or something, eh?

[ Parent ]
Community v. quality? (4.41 / 12) (#25)
by itsbruce on Wed Oct 04, 2000 at 07:21:19 PM EST

I don't know much about the Hurd but the other posts on this article make me thing that Worse is Better, from Richard P. Gabriel's excellent article on Lisp (Good news, Bad news: how to win big) is very relevant. The point of the chapter is that it's almost impossible for a "perfect" solution to oust a good-enough solution from its niche: the good-enough solution is leaner, reacts more quickly and is definitely meaner in defence of its territory. For that reason I don't think Hurd stands a chance of replacing Linux, if that's the intention. Re-reading the article, Linux definitely resembles the "New Jersey" approach and what I know of RMS and HURD smacks more of the MIT style.

Besides, IMO one of the most important reasons for the rampant success of Linux is the nature of its community (or it's several communities of development and mutual support). It's that community that attracts many people and makes them want to stay (and, IMO, which explains why Linux is more popular than the more technically rigorous but definitely more snotty *BSDs). RMS is never going to create a community to rival that - he is too purist, elitist and downright aggressive. (NOTE: I know there are Linux bigots like that but Linux, Alan Cox et al. are rational pragmatists and that spirit spreads).

If the HURD isn't a Linux killer, then what is it for? What is the question to which it is the answer? The various BSDs are very clear in their rationales and philosophies, Linux is the good-enough broad church. Does that leave any space for HURD except as the Church of the Selfless Martyr (Orthodox EMACS)?

--

It is impolite to tell a man who is carrying you on his shoulders that his head smells.
Re: Community v. quality? (3.66 / 6) (#41)
by simmons75 on Wed Oct 04, 2000 at 08:53:51 PM EST

I had never read the worse-is-better paper; thanks for posting the link :^) Yeah, I agree 100%. After trying to learn all about lisp/scheme, I have to wonder, "Who the hell decided this was *simple*?" They were so caught up with making the implementation *simple* and *right* and making it/them *elegant* that they forgot that some of us aren't certifiably insane^H^H^H^H^H^H uberhackers.

I definitely identify more with the NJ approach; I tend to land in a task feet-first then try to figure out what the hell I did later. :^) I always did poorly in school on diagraming tree structures and whatnot; I knew what I wanted to do and a silly chart wasn't going to make my code more lucid. :^)

poot!
So there.

[ Parent ]
The easy Unix? (2.62 / 8) (#26)
by hardburn on Wed Oct 04, 2000 at 07:22:05 PM EST

HURD's OO and Microkernel nature may make it far more suitable for GUIs then DOS (duh) or even Linux. Linus has rejected a microkernel design because it adds too much overhead. This may mean that Linux is used on servers, where performance is everything, with all the clients running HURD.

Of course, this all assumes that HURD will get to a solid code base. What it needs to get there is a Linux kernel-style development, as described in The Cathedral and the Bazaar, but I'm not sure thats going to happen with RMS as benevolent dictator (as much as I like his philosophy, I think he'll drive the project into the ground). That would probably mean a development fork is nessary. However, the support the current project gets from Debian (being a Debian user myself) cannot be ignored. A succsesful Bazaar development would probably have to be under a similar project. Unfortunatly, that probably means a commercial Linux maker. Slackware? Red Hat? SuSe? Mandrake?

Red Hat and derived distros might be a good bet with their RPMs for easy updateing (even though DEBs are better).


----
while($story = K5::Story->new()) { $story->vote(-1) if($story->section() == $POLITICS); }


Re: The easy Unix? (4.20 / 5) (#37)
by Dacta on Wed Oct 04, 2000 at 08:05:32 PM EST

HURD's OO and Microkernel nature may make it far more suitable for GUIs then DOS (duh) or even Linux.

Why? I think you misunderstand the nature of HURD. Just because it is OO in the sense device drivers are objects (etc) and just becase it uses a microkernel does not nessecarily make it more suitable for a GUI than Linux.

While using a OO based metaphore for a GUI has a lot of merit (see Be, OS2), it is important to note that it is just a metaphore. For instance, in a CLI, the words on the screen are a metaphore for files and in a OO-GUI they appear as icons. These metaphores have nothing to do with how the operating system views the files. If the operating system uses a OO kernel or not is as relevent as the brand of the hard drive to the metaphore.

Have a look at either the NeXT GUI, the BeOS GUI or the MacOS-X GUI for OO GUIs built upon what are essentially Unix kernels. HURD is exactly the same as any of these - it's just a kernel! It's nature does not make it inherantly more or less suited to a GUI than Linux. HURD is a Unix like system, too, you know.



[ Parent ]
Re: The easy Unix? (4.00 / 3) (#50)
by Darth Yoshi on Thu Oct 05, 2000 at 08:56:52 AM EST

HURD's OO and Microkernel nature may make it far more suitable for GUIs then DOS (duh) or even Linux.

Why? I think you misunderstand the nature of HURD. Just because it is OO in the sense device drivers are objects (etc) and just becase it uses a microkernel does not nessecarily make it more suitable for a GUI than Linux.

I think what he meant was that HURD is (slightly) more suitable for workstations than Linux. Because (as he implies), you do take a slight performance hit with a microkernel, but you gain flexibility. For example (and correct me if I'm wrong), with a microkernel you should be able to install, start, and stop drivers (hardware, file system, or network) as easily as you install, start, and stop servers under Linux.

[ Parent ]
Re: The easy Unix? (4.33 / 9) (#43)
by Pseudonym on Wed Oct 04, 2000 at 10:16:16 PM EST

Linus has rejected a microkernel design because it adds too much overhead.

Which, of course, is a totally bogus argument, although it may have held a bit more weight ten years ago.

Microkernel designs do add some cost to intra-OS communication. Obviously if you have to go outside kernel space to do networking, it will cost a little. (Though BeOS has come up with a neat solution for this. They allow system servers to either be loaded outside or inside kernel memory. That way, you can keep the same performance if you really need it, while keeping all the other advantages of microkernels too.) However, you gain performance too. Losing a little in communication overhead can easily result in a net gain if your kernel fits inside on-chip L1 cache.

Of course, at the time of the initial writing of Linux, "microkernel" meant "Hurd/Mach". The Hurd kernel is not that much smaller than the Linux kernel, and so these performance benefits are not realised (though the Hurd is much more flexible). The QNX kernel, on the other hand, fits in the on-chip cache of a i486.

It always gets me that Linux people balk at the thought of rebooting their machine every time they install new software (like some OSes we won't mention), but have no problem with recompiling and rebooting every time they install a new filesystem or a new network protocol. And they think that having a GUI inside the kernel is "bloat" but having TCP/IP routing support inside the kernel isn't. Some people have truly strange values.


sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
[ Parent ]
Re: The easy Unix? (3.75 / 4) (#47)
by swc on Thu Oct 05, 2000 at 01:42:02 AM EST

...have no problem with recompiling and rebooting every time they install a new filesystem or a new network protocol.

Funny, I've always just compiled the module (for the file system or network protocol) and loaded it with insmod/modprobe.



[ Parent ]
if you're looking... (3.63 / 11) (#44)
by naasking on Wed Oct 04, 2000 at 10:58:08 PM EST

If you really want to develop with an interesting OS or at least something that looks promising, you should check out Eros( www.eros-os.org). Unlike ordinary UNIX systems, Eros is a capabilities based OS with transparent orthogonal persistence, and it is fully microkernel based(IIRC).

Everything is loaded into and run from protected memory spaces. Last I read, they were re-writing large parts of the kernel in C for speed and portability and they had recently added the capability to use Linux modules for hardware support.

And in response to previous posters who say that microkernel technology doesn't work, is inferior or has never been used succesfully, how about you try QNX. www.qnx.com

Or, if you're looking for something REALLY interesting and truly on the edge, look into exo-kernels. Those look VERY cool. :-)

Here's an MIT link: http://www.pdos.lcs.mit.edu/exo.html

Just my thoughts, and no I don't work with either of the above projects, but I do find both of them fascinating and very promising. :-)



Should an OS - even free - dominate the others ? (3.00 / 5) (#49)
by @1F on Thu Oct 05, 2000 at 07:44:41 AM EST

   We can often read assertions as
- Will Linux be the first OS in the future
- Should XXX replace YYY
- Why developing ABC thing when DEF thing exist ?
and so on...

   No matter ! Variety HAVE to exist. No matter if Z is better
than W ! What I want, is to find and use what is good for me. I don't want it
to be used by everybody because I think it is THE best thing. My needs are differents of someone else's. Nothing has to replace nothing, the more thingsexists, the more choices you have. I don't want the death of, for example Windows because it's bad, but I want his domination to die, because his purpose IS to rule over all the computers in the world. As long as the purpose of a software or an OS or everything is only what it is intended to do, there are no problems, and it is right to exist. If windows just wants to be an easy GUI for newbie , it is right to exist. If Linux just wants to be a free (free of freedom, I mean) OS, it is right to exist. If Hurd wants to be a different kernel for Linux-like environment, it is right to exist. But none of them, and none of the existing OS, has to say "I want to be the first OS, I am the best OS...".

   In a short way, what I mean is accept variety and as long as you are able to, make this variety more and more diverse, and don't impose your opinions. Well, this is what I think...


   @1F


Missing option (none / 0) (#57)
by fender0011 on Tue Nov 28, 2000 at 10:33:15 PM EST

What about jiffy pop?
------ This sig is under development. If you'd like to be notified when this sig is completed... umm... well too bad, you'll just have to wait.
Fun with the Hurd | 57 comments (54 topical, 3 editorial, 0 hidden)
Display: Sort:

kuro5hin.org

[XML]
All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
See our legalese page for copyright policies. Please also read our Privacy Policy.
Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
Need some help? Email help@kuro5hin.org.
My heart's the long stairs.

Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!