Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Are You Using the GNU/Hurd Kernel? 146

carter asks: "I remember this article from a year back about the brave soul who got a web server running on the GNU Hurd. Due to the now-famous /. effect, I never got a chance to see it running, and now the server appears to be down for good. One year ago is like ancient history in hacker-time, so it makes me wonder: has anyone else had luck getting a web server going on the Hurd? Is anyone using the Hurd for anything resembling production use yet? Also, is the Hurd project closing in on a stable release? To look at the Hurd's seemingly ever-static home page, one would think that no major developments have happened since 1999, although I'm sure this is not the case." For those of you who are actually running it, what are your experiences of the system? Are there any any pitfalls in installation and operation that you can share for those brave folks who are planning on making the plunge in the near future?
This discussion has been archived. No new comments can be posted.

Are You Using the GNU/Herd Kernel?

Comments Filter:
  • by Anonymous Coward
    There is another microkernel being developed by some fellows in Sweden. They call it "chaos" and use microkernel "storm".
    From what I have experienced this one really seem to be have the potential to grow.

    www.chaosdev.org [chaosdev.org]
  • by Anonymous Coward
    that wasn't wirth it.Oberon this side of the world we have more pride than to go for cheap puns.
  • ...it's quite possible to write programs for HURD which would be difficult or impossible to port to UNIX.

    WHAT ?!?!? This is nothing less than blasphemy! How dare you even imply that the sacred UNIX (hallowed be thy processes) may not be suitable for any purpose?

    Truly, if there is any task that cannot be completed under UNIX from a CLI using a GNU utility with a command syntax that looks like line noise... why, even if such a task were to exist, it would surely be nothing less than the spawn of EVIL itself! And how fitting that the most revered, the most perfect, the most holy of all operating systems (thou shall have no other before me) would be incapable of tolerating such vileness!

    Yeah, verily, brethren - repent of your evil ways, for you know not of which you speak. UNIX is a loving OS, a caring OS, and should you admit your sins and seek forgiveness, lo, thou shall be forgiven. But should thou turn away from the one true OS, even in such a minor way as flaunting the GNU/commands that have been given you... then yeah, brother, thou shall reap what thou hast sown, and thou shall be rm'd like the trash-talking MS lackey that thou art.

  • by Anonymous Coward
    Windows NT and W2K are microkernel architectures and none of your arguments really fit them.
  • If the legal issues were truly a problem, would you have been able to ship the code?

    If you didn't mind the risk of being sued. But it certainly was cite as a reason by many people at the time to hang off the BSD code base.

    It was certainly enough to concern BSD luminaries like Peter da Silva in the early ninties.

  • Did you notice anything interesting about the OS that Netcraft is reporting?
  • computers will probably start having several medium fast cheap processors instead of one really fast expensive processor

    A reasonable prediction, but wouldn't you think that would've happened already? Seems the cost of connecting and synchronizing them always outweighs the cost of a single fast CPU. With 800Mhz machines selling for $1k with everything including the kitchen sink (AND in your choice of groovy colors!), is it really cost-effective to add more main processors now for consumer/business systems?
  • Many, many, things use micro-kernels. Or something close to it. WinNT for example.

    NT is not a microkernel. You are half-right though. Once upon the time it *was* a microkernel. A long time ago in a galaxy far away... oh wait, nevermind.

    ___

  • I am not a microkernel fan particularly. But your comments have little do with the choice of using a microkernel design and more to do with specific implementations of microkernels.

    QNX is a microkernel and it is small and fast.

    HURD though fits into your critisims. It is large and slow. It might be possible to optimize it. But I won't hold my breath.

    Troy
  • Windows NT (and therefore W2K) are not real microkernels. The last true microkernal WinNT was 3.51 as far as I know. They had to start moving to a macro-kernel architecture because they couldn't get good enough graphics performance.
  • I was just on #hurd at irc.openprojects.net and some of the people there believe that HURD will have a PPP release this weekend. Minus one complaint about usability! The source is the debian-hurd mailing list.... Its coming along! It may even get ported to L4 which should open up some bottlenecks. If you want to learn more go to #hurd on irc.openprojects.net. Someone there may be able to help you find better websites to look at. In the meantime try this one! Installation Guide [walfield.org] Take care!!! -Dave
  • Huh? 30GB? Linux 2.2.16 (which is the kernel tarball I had handy) is ~70MB uncompressed, and that includes all of the source, documentation and drivers.

    The core kernel is pretty small. It only looks big when you take all of the drivers and other bits into account, most of which are not used on a given platform. For instance, the stuff under arch/s390 is only needed if you're building for a mainframe.

    --Joe
    --
    Program Intellivision! [schells.com]
  • Yah, read the kernel developer list. Linus wont help in debugging the kernel (by adding more support for kernel debuggers) partially so that bugs are not easily fixed. He wants the developer to have to think to fix the problem.

    I of course can't grok the kernel in 30 minutes a day of effort (even after looking at it since the 0.12 release).

    what ever.
    Joe
  • > I'm continually surprised at how slowly things move in the computer world. There are performance improvements on the hardware side, yes.

    To make up for the performance improvements in hardware, programmers continue to get lazier, add more bloat to your software, making the current software today run no faster on today's computer, than the current software yesterday running on yesterday's computer.

    Of course this is not always the case, but it's very common with both Windows and _GUI_ Linux software (but mostly Windows :-)).
  • Sure. Some people will probably switch to it when Linux becomes even more popular than it already has. Some people are fans of an underdog and when Linux loses that status they will complain it is "too corporate" and move on to the next project in development. That could be Hurd, or a couple of other operating systems.
  • Sure. Here's a pound of cocaine, now go and deliver this to my pal Joe in [insert yout least favorite neighborhood here]. Just because something can be done, doesn't meant it is a wise thing to do (specially if it has legal consequences)...
    --
  • I'm continually surprised at how slowly things move in the computer world. There are performance improvements on the hardware side, yes. ... Overall, though, programming and computer use are the same as they were ten years ago.

    on one hand, artificial intelligence, the area i work in, is entering a new renaissance exactly because of moore's law. the fundamental algorithms of ai haven't changed too much over the last few decades. but it's only now that we have fast enough processors to actually try and do things like formal inference in a computer game, where you have only 10% of a consumer-grade CPU available for controlling your characters.

    on the other hand, i agree that the fundamentals don't change very fast. imperative programming and functional programming remain the same, consumer operating systems are largely monolithic, even languages tend to stick around.

    case in point, even python is really lisp, only dressed in algol syntax... ;) *putting flame suit on*
  • I would think that people would use the HURD for exactly the same reason that people were using Linux when it first started; not because it was stable, not becuase it was reliable, not because it was practicle in any way shape or form, but rather because it was a cool chance to hack on some source code. Personally, I think it would be cool to have a heterogeneous network of computers running all kinds of different operating systems: Linux, BSD, Solaris, HURD, Mac OS, etc, and even Windows. Oh, and a palm, too.

    Reasons? We don't need no stinking reasons!

  • There is a difference between a microkernel and a modular kernel... I don't know if microkernels are unfeasible, but there are no major OS's atm that have them. (No, NT is _not_ a microkernel).
  • NT is definately not a microkernel. The devel started as a microkernel, but it didn't end up as one.. I wouldn't know about win2000, but I assume if it was a microkernel we'd have heard some more discussion on the topic by now...
  • Micro is a structural choice, not a description of size..
  • If city buses are any indication, we ARE that kind of society.
  • Good God almighty, if we can't rely on uid's in the 20'000 not to get trolled then we are fucked as a generation.


    That's one of the funniest things I've seen on slashdot in weeks!

  • the chances of a code fork with Hurd are even greater than for Linux, due to the easier understandibility of the source code.


    More easily understood source code is one of the reasons Hurd won't be successful? Must be a rough world you live in.

  • A bunch of different servers running in separate address spaces. In NT4, everything's in kernel space, including the GUI, which means everything can stomp on everything else. This is not a microkernel. Even the revisionist NT guys who were trying to cash in on the microkernel hype when they released it had the grace to call it a "modified microkernel". Where "modified" = "not a".
  • Incorrect! After the amount of childish whining about "GNU/"Linux, I'll be doing my best to misinform people at every chance I get. :)
  • Thanks for the support! They are all just jealous because I got first post - hahahahahaha! :P
  • Read into that whatever you will

    I would imagine there is no compelling reason for most people to replace a stable Linux kernel with an unstable HURD kernel, if the Linux kernel already does what they want.
  • I know that MS Bob was an Utter travesty of a program, but I have very little idea why it is. I have tried to look and see what this fabled MS Bob is but everything I found was just making jokes about BOB.
  • by Anonymous Coward
    The original concept of NT was to be a micro-kernel, but it's pretty much straight monolithic now. The only BSD with a microkernel is Darwin. QNX RTP and 4 (legacy) is indeed a microkernel. BeOS is a straight monolithic kernel, it's just very sparse. MkLinux is indeed a microkernel, but it's quite dead now.

    So the only two (mainstream) Operating Systems that are actually *alive* and use microkernels are QNX RTP and Darwin.
  • by Anonymous Coward
    ...was that the Debian folks were going to do a Debian GNU/Hurd distribution. After that, I have heard nothing more.
  • Actually, the comparison with early Linux misses some important history: at the time Linux was released, the free (as opposed to Free) BSD source was tied up in legal wrangles, and people were annoyed with the deficiencies of Minix for a small Unix-like system. A Linux based system was actually one of the best choices at the time for people who wanted a personal Unix system.

  • I want to see more of these types of arguments. In all the time I've heard of HURD, I've never actually heard its technical merits.

    C'mon guys. Convince the unwashed masses. Give Linus Torvalds a run for his money. Prove him wrong and Tannenbaum right for once. Hey, it just might work.

  • I guess the lack of Hurd developers has something to do with existance of Linux. If I had to choose free OS project I wanted to join, I'd always choose working OS with millions of users against obscure OS without users, purpose or acceptance. This is not to bash Hurd, just "Linux kernel developer" in resume weights much more than "Hurd kernel developer" in the eyes of people.
  • The difference with HURD is that regular users can run kernel servers without causing security problems.

    Also, most microkernel architectures simply have a single server running on top of the microkernel (like mkLinux). However, even though they are using a microkernel, all of the pieces are very tightly bound together. The idea behind HURD is to come up with services that are generic enough that any of them can be easily replaced/substituted/whatever not only system-wide, but per-application as well. With Darwin, even though it is microkernel based, I believe you still have to go through the UNIX subsystem. With HURD, you can go through any subsystem you want, even create your own.

    While many people claim that free software is simply re-implementing someone else's software, the HURD seems to be pretty original.
  • If all you're going for is modular, then Linux is a microkernel. The distinction is, "what happens when a kernel service goes beserk?". In monolithic kernels, the kernel goes "Oops". In a microkernel, nothing really happens to the other kernel services.
  • Point of clarification. I'm not saying Linux is a microkernel, I'm just saying that you can't judge being a microkernel on modularity alone.
  • Most of your points are correct, though not all. Device drivers going berserk isn't really a problem, unless its your root hard drive. That's one of the big differences. If my Linux network driver starts doing random things, that's all she wrote. When HURD is finished, that driver can muck up all it wants, and all it will hurt are my network services. In addition, I can probably just unload and reload the driver to get it working again. This actually works in Linux if the problem is that a driver stops functioning (not if it tries to randomly write memory pages it doesn't own). Unloading and reloading drivers have fixed many network problems in my day. One of the goals of HURD is to reduce the dependencies on each component, so this will be even more true (for example, you might be able to have multiple process servers).
  • Comment removed based on user account deletion
  • When you go back and resarch your unix history, you will see that the legal issues did not seem to bother the people who shipped 386BSD and FreeBSD 1.X.

    Like I said, legal concerns don't seem to bother some fine businessmen in Colombia either. The fact that that code is not around anymore speaks for itself.

    If you want to talk about legal issues, then look into the GPLed code shipping on a virgin webplayer.

    Ok, so you're one of those entrenched BSD partisans, that strive to hold on to the 'leetness of your plaything. Ask yourself this, my friend: why is it that NeXT gave up fighting the FSF in the Objective C affair (curiously, the compiler used by the oh-so-'leet, oh-so-holy BSD crowd is still a GPL'ed application). Not even Stallman is stubborn enough to pursue every little arguable GPL violation by a manufacturer that is losing money on its web gadget thing.

    If it was said on slashdot, it MUST be true! I make your words mine and I rest my case.
    --

  • It seems you need a brush up on your UN*X history... The "legal issues" (who were such a true problem as to eventually lead AT&T and the U of Berkely to face each other in opposing ends of the court) were the reason why BSD had to be purged of all AT&T code and that purged code is the forefather of the current BSD offerings, not the AT&T original UNIX, and not the original BSD.
    --
  • One advantage: People will finally not be able to bitch about whether it being GNU/Hurd or just Hurd.
  • Isn't GNU and acronym for something?

    Yes it is, it stands for GNU is Not Unix (try to write that without using an acronym, I dare you :)

    Hurd by the way is a recursive acronym as well, a two-step such, standing for Hird of Unix-Replacing Daemons. Hird OTOH, stands for Hurd of Interfaces Representig Depth

    © 2000 Ilmari. All ritghts reserved, all wrongs reversed

  • Who the hell moderated this redundant!? It was the first post mentioning it, plus it was informative. Morons.
  • by plaa ( 29967 )
    ...and now the server appears to be down for good.

    Well, if it wasn't previously, it sure is now! ;)
  • Bob was Microsoft's attempt at making computer's easy to use for even those people with severe damage to the frontal lobes of their brain. Instead of a desktop with icons, users were presented with various user customizable "rooms" that mimicked real life rooms along with cute, fuzzy animated assistants.

    The one I remember was a cartoon drawing of an office with a desk and file cabinets and a calendar on the back wall. The user clicked on various items in the office to accomplish their objectives. For instance, clicking on the calendar brought up a date book/PIM type of program.

    You know, it's funny, but I did a quick search on Google in order to try to find an URL with a screenshot and I couldn't find a thing. The closest I found was a bunch of humor pieces and this [strategymag.com] article. I wonder how much Microsoft paid to expunge the memory of Bob from the net?
  • The main difference is that Hurd is a kernel multithreaded and massively multithreaded OS. This is important for 5 years down the road because computers will probably start having several medium fast cheap processors instead of one really fast expensive processor. Kernel multithreading will enhance SMP and multitasking performance to it's peaks.

    The main advantage of WinNT over Linux is exactly this, kernel multithreading, that's why a 32 processor WinNT will outperform a 32 processor Linux on most applications and low to medium loads.

  • and the chances of a code fork with Hurd are even greater than for Linux, due to the easier understandibility of the source code.

    Understandable source code is a bad thing?? Excuse me while I laugh. Ha!

    :)
  • Maybe one day, after the Hurd is more integrated into an end user ready product it will gain some more popularity, but I doubt any more than some of the lesser known BSD's.

    Well, in principle, a fully-finished Debian GNU/HURD distribution would have everything that Debian GNU/Linux does. The user would then have a choice of kernel to go at the bottom of their Debian system, and choosing HURD shouldn't stop them using any[*] software they could have used with Linux.

    [*]At least, any Open-source software.
  • I check out KernelTraffic every rare once in a while, and it seems to me that the large codebase and barrier to entry is putting enough pressure on kernel developers, that Linus is actually revamping, and modularizing the kernel. It may not exactly be a microkernel with totally separate pieces, but the fundamental problem is the same. Microkernel architectures are no more a panacea than monolithic ones are. Who said microkernels where a "big deal"? Every engineering problem involves trade offs.
  • Hurd is based on Mach, so it is full of context changes. Very slow on some machines, especially RISCy ones. Thus I don't suspect it'll ever be a good performer.

    Chorus apparently includes message-passing within its microkernel, substantially reducing the number of context switches. That should greatly improve its performance doing network-y things. Sun is selling Chorus now as a real-time system. It has Solaris compatibility (to simplify development) but lets you build tight small-code embedded systems. I don't know what the license is on the Chorus microkernel itself, before you buy the whole ChorusOS from Sun.
  • I'd say the essence of microkernels is message-passing, which is a
    kind of abstraction of OS services that makes a lot of OS tasks easier
    to coordinate, like locking of devices. It should be covered in any
    good intro-to-OS-design course, and it's a bit like the `command'
    design pattern.

    p.Linux isn't even modular: Linus has frequently resisted any attempt
    to standardise linux APIs, citing the need to allow the implementation
    to evolve. Linux's kernel modules have little to do with modularity:
    they are just a trick for switching bits of code in and out of kernel
    space.
  • (No, NT is _not_ a microkernel).

    Why not? It has a message passing architecture. What's missing?

  • Excuse me? I'm sorry, but no dice. Since when is BeOS a monolithic kernel? Sure it does some things like run (some) driver in kernel space, and implement process management in the kernel, but none of these keep it from being a microkernel. Its just not obsessively microkernel like QNX is. If you've actually ever read the documentation on BeOS (www.be.com/developer, click "Free Resources" then "Find," and read the articles that detail how the OS works) you'll find that it is very much a microkernel. It runs graphics, sound/video, input, even networking in userspace.
  • It IS a microkernel, just not religiously. And given the great performance NT offers, maybe its not such a bad trade-off. (The fact that NT isn't the fastest most stable OS is not an architecture problem, but an MS-developer-are-monkeys problem.)
  • However, if graphics, sound, input, networking, or any number of non kernel services goes beserk, then everything still works. For example, if the current (fairy unstable and soon to be replaced) BeOS networking stack was running kernel mode, BeOS would be less stable than Windows. Now, however, it is just a matter of opening up a terminal, killing net_server, and restarting it. Given the stability of microkernel OSs like QNX and BeOS, especially under strange conditions, you have to admit that microkernel designes have SOME stability advantages. They also encourage tight, small code throughout the entire system, especially if the kernel developers are also working on the server and retain the (small, fast, minimal) mindset. (It's interesting that nobody ever mentions the fact that *NIX kernel developers tend to have the app-developer-like "general as possible" mentality.)
  • Yea, the kernel is nice, its the other 30million lines of code (Mozilla, X, KDE, GNOME, and the 300 other libraries that are necessary to compete with Win2K, feature-wise)

  • Anything with 45 million lines of code would be hard to call _micro_

    ~Sean

  • No, BSD based system were the better choice.

    Care to argue that a code base with all the years of development of BSD would make it a worse choice?

    If the legal issues were truly a problem, would you have been able to ship the code?
  • Oh, YES! HURD: The Pascal of Operating Systems!

    Yeah, and it's modula, too!

    ;-)

  • Are you suggesting that he runs his public Internet site off of his laptop?
  • I am sure I wrote Linus Torvalds there, not Linux Torvalds! But it's right there, the "x"...

    I hate it when people make that mistake, yet appearently, I do it myself as well. Writing "Linux" has become a habit like writing your own name...

    Another reason to step to the HURD; you can't confuse it with the name of its initiator ;-)

    It's... It's...
  • FreeBSD, for those of you who are too lazy to click. Of course, this might just be his firewall.

  • I've always thought that Hurd had an interesting potential to become a good gaming machine. Don't plan on using network? Unload the driver! That way you literally only have loaded exactly what you need to play.
  • Let's not forget Bob's wonderful security features (which seem to be an eerie precursor to MS's current approach to security..)

    If you set up Bob to require a password, it would (of course) ask you for one before allowing you to use the system..

    If you entered the wrong password three times in a row, Bob would assume that you'd forgotten it, and helpfully ask if you wanted to change it.

  • >If someone stopped writing code in 1990 and started up again in 2000, he wouldn't feel like the world had passed him by.
    I find this an interesting comment because this is almost exactly what I did, and I don't feel like it has.

    I work for an organization doing linguistic research and literacy and translation based development work.
    In 1991 I changed from software support to linguistic field research in an African Village. This last year I've started programming again, using Borland Delphi/C++ Builder

    RABBITTRAIL
    As I see it, since 1982, as a linguist/translator there have been the following stages in computers as a tool in a third world environment (including the hardware I've used):
    1) c.a. 1982 the personal computer (VT103 with TU58's as system devices, running RT11 ... if you thought 8.3 file names were bad, try 6.3 with no directories and every file had to live in contiguous space)


    2) c.a. 1983 solar power laptop with user definable characters (Sharp PC-5000 with an 8-line screen)cut the power cord.

    3) c.a. 1985 24 line screen laptop (Toshiba T1100) enough screen space to edit properly.

    4) c.a. 1987 20M hard disk laptop (Toshiba T1200) enough disk space to do more than basic editing.

    5) c.a. 1990 The WIMP interface with True type fonts, WYSIWYG and finally an end to designing special characters for each type of screen & printer.

    6) Mid-1990's CDs allowed large amounts of storage which meant reference material on-line.

    I would include e-mail except that mine usually spends seconds getting to Accra and weeks sitting waiting for me (no telephone at home - satellite is too expensive). As for long file names, they were available in 1990 if you looked out the Windows.
    /RABBITTRAIL

    The '90s only brought two software development advances worth commenting on into my life. They are:
    - the Drag 'n Drop facilities of Delphi, which does something to tame the WIMP user interface, which I didn't ever have to program for in 1990.
    - Object-oriented code, which wasn't nearly as important as the subroutine for solving the software complexity problem.
  • Can anyone give any reasons to switch the the HURD kernel other than those stated on the link? (other than the usual... it's free, it's open source, it's not just developement material, blah blah blah). What are the real advantages of using this replacement kernel when most have already paid for the Unix that is already on their machine, something that has been tested and already works. I am not bashing open source or anything, and I use linux exclusively at home... but knowing sysadmins they would rather leave well enough alone. am i wrong here?
  • I live in Seattle and teach free classes on how to program, use a shell, architecture issues, and what not.

    I've noticed conversation and interest shifting into the HURD lately, and have decided that it will be a good place to go, in terms of studying and teaching.

    A microkernel where we can add and remove services will be nice as an educational tool, and will be interesting to work inside of. It seems like a good thing. It probably is.

  • Hehe. Showing a screenshot of,e.g., a Linux server running on top of L4 doesn't seem to impress to many people. That's one of the problems we usually have to face when we demonstrating what we do to non-insiders. And, by the way, the ``most official'' L4 site is now located on the L4Ka [l4ka.org] website.
  • That's interesting, but I still don't see the difference. I thought both Darwin and the Hurd retained the Mach core and the Mach architecture of interacting server processes. Both provide UNIX compatibility through Mach "servers". I also thought that some of Darwin's non-UNIX facilities (traditional MacOS stuff) was implemented taking advantage of the Mach architecture rather than being built on top of its UNIX personality.

    Are you saying Apple somehow removed the ability to implement additional Mach servers? Does the UNIX personality of Darwin violate the modularity of the Mach server architecture? If that were true, then that would indeed be a strong argument in favor of the Hurd. Or are you saying that the Hurd happens to come with a wider variety of servers right now? If that's the case, probably many of the Hurd servers could be ported over quickly.

    Maybe it would be good for someone to write a more detailed technical comparison of the Hurd and Darwin. So far, the bird's eye view is that both system are based on the Mach microkernel, both have a variety of servers for them, and both have a UNIX personality. So, to me, the question remains: why pick one over the other? (Of course, there may still also be licensing issues.)

  • Darwin is based on the same technology as the Hurd, and it has seen more maintenance over the years. Perhaps it would also offer better compatibility with a commercial OS (MacOS X). So, why not use the Darwin kernel instead of the Hurd?
  • It would seem to me that there are two major contributing factors here:
    • Lack of optimization of programs
    • Most commercial programs have deadlines too tight for the developers to make many optimizations. Even when that isn't the case, many programs are tested mostly on trivial cases where speed is not the issue. Even "common case" testing can be bad as the problem size commonly used often increases dramitically and unforeseeably over the life of a program. (Take the first web servers as a good example.)

    • noncaptilization of innovations
    • Computers as we know them aren't different not because of lack of innovation but because of lack of popular application of those innovations. For example OO has been around for a long time but the only OO languages with any major popularity are Java and C++, both of which have serious drawbacks that hamper thier effectiveness.

      Another example -- sensible memory handling including garbage collection can solve many of the crashing problems we have (yes, linux programs sigsegv ocasionally,too :) But you can't see GC integrated into any mainstream OS currently. I for one am all for sacrificing a few cpu cycles for stablity -- what good does a fast program do if you loose a night of work due to a bad pointer somewhere? Besides, we'd find ways to make it even faster if there were wider usage. I can even imagine hardware-accellerated GC.

      I'm not suggesting that these would solve the world's problems or that they're the best solution or insert-your-favorite-flamewar-topic-here. I'm just saying that the vast majority of new, innovative solutions are unimplemented because of PHB's with severely impared long-term vision.

    Free software seems to avoid these two pitfalls. Therefore I predict that free software will continue to improve the state of desktop computing as long as it tries to actually innovate instead of immitate. (not that it is horribly bad to immitate a good, successful function)

  • I have been following the Hurd for longer than Linux has been around.

    I think that the biggest problem is that open-source software has been mostly concerned around ESR's scratching an itch sort of programs, that do some sort of task useful to the creator.

    And when it comes to open source OS design, all we have been able to do is recreate Unix a large number of times.

    The problem with the Hurd is that it's just Unix, all over again. In order for Hurd to compete with Linux, you would have to show that it has some measurable advantages over Linux. And because Linux has the biggest mindshare, followed by BSD, among OS hackers, Hurd will be a toy OS until somebody does something with the Hurd that will give it mindshare.

    I personally would love it if the Hurd would re-focus towards becomming a post-Unix OS. Break the Unix compatability, simplify things, and make something that's more attuned for what today's computing is like. That way, Hurd is an evolution in design, not a microkernel trying to catch up with a billion Linux kernel hackers.
  • As far as I can tell, in order to install it you need a running Linux system, and if you aren't running Debian it's harder still. Back when I was running debian I gave it a go but had problems which I blamed in limitations of GRUB at the time.

    GRUB seems pretty good now. It would be nice if someone make a Hurd release that didn't require an existing OS. The best way to do this would be to install for a Linux boot disk (if you can't do it with a Hurd boot disk).
  • by mindstrm ( 20013 ) on Wednesday November 22, 2000 @11:56AM (#606517)
    I used to be the only person I knew who used Linux. Does that mean linux was crap?
  • by amccall ( 24406 ) on Wednesday November 22, 2000 @12:08PM (#606518) Homepage
    Many, many, things use micro-kernels. Or something close to it. WinNT for example. Or some of the BSD's. Or QNX. Or BeOs(not so sure about that one.) Or MkLinux. Microkernels are not dead. They can be much more stable than monolithic kernels. They just aren't that apparent. And in terms of stability, a microkernel could potentially allow you to update most of the kernel without a reboot. And, I don't think that the fact that Hurd was a microkernel played any impact to it's death or unpopularity. Linux did.

    This is probably why RMS is so obsessed with calling it GNU/Linux. The original GNU Hurd vision that he had never came to fruition because of the simple development of the linux kernel. Being first to market, determined what would happen. If the Hurd kernel was ready before the Linux kernel, things would have happened much differently.

    But as it is now, GNU/Linux, or for people like me who think the easily marketed term is better, Linux, is the most popular. Hurd had a chance, but it was wasted by being beaten by something of comparable quality. (I won't say equal, better, or worse, in order to avoid the massive flame war that would erupt.)

    Maybe one day, after the Hurd is more integrated into an end user ready product it will gain some more popularity, but I doubt any more than some of the lesser known BSD's.

  • by Gorgonzola ( 24839 ) on Wednesday November 22, 2000 @11:51AM (#606519) Homepage
    You might take a look at Kernel Cousin Hurd, a weekly overview of Hurd developments. It is hosted on www.linuxcare.com.
  • by divec ( 48748 ) on Wednesday November 22, 2000 @12:37PM (#606520) Homepage
    Can anyone give any reasons to switch the the HURD kernel other than those stated on the link?

    Well, it's probably bad to run not-yet-released software if your aim is to get things done (as opposed to just hacking). When HURD is stable, there will be good reasons to write certain types of software on it, because its structure is fundamentally more flexible than UNIX (so you could have more fine-grained permissions, more user-space drivers etc).
  • by Chalst ( 57653 ) on Wednesday November 22, 2000 @03:35PM (#606521) Homepage Journal
    Well, according to such a restrictive definition of microkernel
    (ie. there must be at least two context changes whenever you use a
    core service), there aren't many microkernels out there (Mach,
    Chorus, are there any others?), because context changes really are
    expensive, especially on an x86. I don't suppose that when people say
    they that microkernels won the OS design wars they meant that the OS
    must be doing endless context switches to process the most basic
    service...

    If by a microkernel OS you mean that there is a principled
    distinction between core OS services and other OS services, with a
    well-defined message passing interface between the two, then NT is a
    microkernel.

  • by ^switch ( 65845 ) on Wednesday November 22, 2000 @05:04PM (#606522)
    russian university? I don't think so!

    The L4 microkernel was developed and implemented on ix86 platforms by Jochen Liedtke, then at
    GMD, Germany. Liedtke continued development of the Intel version of L4 while at IBM TJ Watson
    Research Center. He is now at the University of Karlsruhe.

    University of New South Wales are working on L4 implementations for several platforms:

    L4/MIPS: a stable version for the MIPS R4x00 processor, to our knowledge the world's fastest kernel for that architecture.

    L4/Alpha: a development started at the Technical University of Dresden. We (I) are presently working on an SMP version.

    An L4/StrongARM is also being here.

    Other ports exist also, developed by other parties. Linux runs on top of Intel, MIPS and partly Alpha versions, that I am aware of.
  • by CaptainCarrot ( 84625 ) on Wednesday November 22, 2000 @01:04PM (#606523)
    A microkernel where we can add and remove services will be nice as an educational tool, and will be interesting to work inside of.

    Oh, YES! HURD: The Pascal of Operating Systems!

  • by TomSawyer ( 100674 ) on Wednesday November 22, 2000 @01:15PM (#606524) Homepage
    The latest Dr. Dobb's journal is all about operating systems. There's a great introductory article on the Hurd. It covers differences between monolithic kernels vs. microkernels and hence the Hurd vs. Linux.

    It's available at their ddj [ddj.com] website, here [ddj.com]

  • NT *tried* to be a microkernal, but found it was too slow and pathetic, so they moved bits back into kernal space. One example is the GDI subsection, which runs the graphics. NT 3 had it in userspace, but it was too slow, so NT 4 moved it back into the kernal. Which is why a good 60+ percent of NT blue screens say 'ati.dll' somewhere on them.
  • by small_dick ( 127697 ) on Wednesday November 22, 2000 @02:15PM (#606526)
    ...was that many on the hurd project were frustrated that mach kernel development had slowed and lost resources at the U of Utah or whatever.

    They were planning on shifting to something called "L4", a microkernel started by a russian university (AIR). L4 is supposed to be extremely fast and lightweight.

    remember the goal here -- instead of having to pester Linus with patches, and wondering what release they'll get in, you write something called a "translator" instead, and they are all the same from the kernel's point of view. No more kernel patches for drivers! Just add a translator!

    I wish I GNU more about the L4 and Mach issues, cuz last I hurd that was the main issue deciding where HURD was going in the future.

    Free computing gneeds HURD.

  • by PollMastah ( 174649 ) on Wednesday November 22, 2000 @04:56PM (#606527) Homepage

    OSS advocates often talk about technical merit, and how open source projects tend to have more technical merit than close source projects. (Daft moderator pacifier: I said tend to be, not are.) IMNSHO, the Hurd has a LOT of technical merit.

    Hurd is the ultimate of configurability. One of the major reasons I gave up Windows completely was because the hood was welded shut. Linux gave me so much more power to configure. Unfortunately, Linux is still not the ultimate... dig Hurd: you can replace parts of the OS and have it affect only one user!! If you've ever tried writing anything close to an OS before, you'll know that it's a major pain to get things going because of the chicken-and-egg problem: you gotta somehow bootstrap this new thing you've written, and everything has to be perfect and properly setup, and basically, you need to have written a substantial amount of code before you can actually see anything run.

    But with Hurd, you can just run a new interface in user-space, no matter how primitive it may be. It may crash, it may burn, but you're safe in the comfortable, stable development environment -- all you need to do is to debug the code and restart the interface.

    The kernel hacker's dream, if you ask me. No more tedious reboots, lost error messages, hard-to-reproduce bugs, etc.. I, for one, will switch to the Hurd as soon as they make a stable release.

  • by Erasmus Darwin ( 183180 ) on Wednesday November 22, 2000 @12:25PM (#606528)
    I was able to install it a while ago on my system. It was fun for a while, but I couldn't really do much with it.

    This reminded me of my personal experience with running Hurd. I spent a considerable amount of time downloading the 0.2 distribution over a slow modem. When I'd finally gotten it all, I untarred it on my Linux box, and spent some more time wrestling with GRUB to get the system up. When everything was said and done, I was rewarded with a bash prompt and a bunch of GNU utilities. It was kind of anticlimactic -- I figured I could've gotten the same effect by most of the packages on my Linux box.

    But that being said, I think there is some merit in the Hurd project. It's just that it's nowhere close to the point where it can start sucking up marketshare for any reasons other than "I'm working on Hurd" or "I was really curious, bored, and/or drunk." Furthermore, it's entirely possible that it may never become more than a novelty.

  • by Leimy ( 6717 ) on Wednesday November 22, 2000 @01:15PM (#606529)
    Thats not true at all. Why did people run Minix?
    Why do people continue looking into Microkernels like FIASCO ?

    Why would anyone be interested in furthering the area of Operating Systems by exploring new options?

    If you aren't curious about how things work then don't play with HURD .

    Wait until its really ready for use and then complain about it.

    I realize HURD has been in development for eons. It is because noone has done this sort of thing before.

    True, microkernels have existed for a while but can you run multiple OS servers on them? I haven't seen any. The HURD is capable of this.

    I can tweak key parts of the OS like the scheduler and not affect anyone else on the who is logged in. Its just an interesting animal right now.

    I plan to run it in the near future. I had been running it once before and I plan to develop software for it now and when its ready.

    Linux is still the way to go though.....

    Dave

  • by isolation ( 15058 ) on Wednesday November 22, 2000 @11:52AM (#606530) Homepage

    If anyone reads the mailling list archives one will find that one of the most recent disccusions has been to replace the kernel (GNU Mach kinda sucks).

    The only problem with this is it would mean about a 90% rewrite of the kernel stream work done so far.

    As for applications once the kernel is retooled (Or compleated deppending on what GNU wants to do) any posix/linux app or server should compile and run fine.

    PPP being the only one that needs major work
  • by jerky ( 22019 ) on Wednesday November 22, 2000 @11:51AM (#606531)

    You can follow the action on the Debian Hurd mailing list (which is slow but nowhere near dead) at the Debian Hurd Kernel Cousin [linuxcare.com].

    Bottom line is that people are getting things like X and PPP going, so there's definite progress toward a system you could use every day.

  • by divec ( 48748 ) on Wednesday November 22, 2000 @12:32PM (#606532) Homepage
    Darwin is based on the same technology as the Hurd

    Both Darwin and Hurd run on top of the Mach microkernel. But they're not the same thing. Darwin is UNIX implemented on a Microkernel (plus whatever extra Appley bits). HURD really isn't UNIX at all. It is a general system for running interacting "servers", plus some particular servers. The UNIX compatibility is given by some of those servers, but it's quite possible to write programs for HURD which would be difficult or impossible to port to UNIX (e.g. it is almost trivial to run "sub-HURDs": just start copies of all the servers and make them talk to each other).
  • by Junks Jerzey ( 54586 ) on Wednesday November 22, 2000 @12:13PM (#606533)
    One year ago is like ancient history in hacker-time

    That's not true at all, unless you're into having the latest and greatest hardware and such simply for the sake of newness. For example, I've been using a 2.0 Linux kernel for a few years now, and the "benefits" of newer versions are pretty minor in the overall scheme of things.

    I'm continually surprised at how slowly things move in the computer world. There are performance improvements on the hardware side, yes. Sometimes there are real bullets, like the catch-up game PC video cards have been playing for the last three years. Overall, though, programming and computer use are the same as they were ten years ago. I used a UNIX variant on a Sun workstation from 1990 through 1993. It felt about the same speed as the other machines I've used over the years. But that machine was running some kind of 20MHz 68020-class processor. I don't feel like we've advanced much. Programming is still the same. If someone stopped writing code in 1990 and started up again in 2000, he wouldn't feel like the world had passed him by. Heck, even BASIC still has a reputation as a slow, interpreted language, though machines are now 1000x faster than they were when that repuation stated.
  • by MWright ( 88261 ) on Wednesday November 22, 2000 @11:58AM (#606534)
    I was able to install it a while ago on my system. It was fun for a while, but I couldn't really do much with it. It was hard to figure out exactly what to do. For example, to run emacs, I first had to make some changes to the configuration of the system.

    Recently, I again tried installing it on the same partition I used before. This time, however, I couldn't get it to boot at all. I tried the debian distribution of it, which was unable to find the filesystem I installed it on, even though I entered it in (using the HURD-style device names). The version from the GNU website would find the filesystem, but would later go into an infinite loop.

    I'd say it has a while to go before it becomes more useable; however, when it does, I'd really like to use it. I'm quite excited about the advantages that it will eventually have over Linux.


    -----
  • by Reelworld ( 120784 ) on Wednesday November 22, 2000 @12:01PM (#606535)
    Well, seeing as this : ftp://ftp.debian.org/debian/dists/unstable/main/bi nary-hurd-i386/web/apache_1.3.3- 4.d eb [debian.org] exists, I assume that some people are running a webserver on HURD ...
  • by Straker Skunk ( 16970 ) on Wednesday November 22, 2000 @12:30PM (#606536)
    Aye, there was some discussion not too long ago about replacing the Mach architecture with L4 [tu-dresden.de]. Some guy said he was going to do some thesis work involving the Hurd, and wanted to know what he could do that would be useful, and this was one of the first suggestions that came up.

    Many of the debian-hurd folk were pretty excited about this possibility, as L4 is smaller and faster than Mach, is already in a working state, and is actively being worked on by its own cadre of developers.

    (Man. To think-- not so many years ago, the vision for the GNU desktop system was GNUstep running on Hurd. I hope it'll still come to pass...)
  • by Fnordulicious ( 85996 ) on Wednesday November 22, 2000 @12:57PM (#606537) Homepage
    Last I saw RMS he had Hurd in use on his laptop. I watched him drop into GDB when his Emacs died on him, and he hacked on it and then went back to writing Emacs documentation. It seemed pretty workable, but he was only using it in console mode. He was using a Happy Hacker keyboard, too, which I can't say was an endorsement but he seemed pleased with it.

    This is before his laptop had the horrible screen damage that occured while he was in Brazil. That particular laptop is out of commission now, I think, after his modifying it to display on the unbroken half of the LCD screen, and then dying completely when he tripped over the power cord and knocked it off the table, cracking the other half of the display. The Brazilian Linux people bought him a new one, IIRC, and I think he paid them back later (but I'm not sure).

    So, the Hurd seems to be living through his daily abuse. It must be functional, at least for that.
  • by johno.ie ( 102073 ) on Wednesday November 22, 2000 @12:12PM (#606538)
    There are iso images for Debian GNU/Hurd available. The US version is here [ftp.fsn.hu] and the non-US version is here [ftp.fsn.hu] . If you don't have a CD-R you can try downloading the packages from your nearest Debian Mirror [debian.org].

    The Hurd is still under development and many features are brok^H^H^H^Himproving.

    johno

  • by Pflipp ( 130638 ) on Wednesday November 22, 2000 @01:56PM (#606539)
    The Hurd has got lots of advantages over "common" kernels. There is some thingy which allows you to... Oh well. I have explained this once before here, go read for yourself instead, on the Debian GNU/ Hurd page [debian.org]. These pages are where the action is today. The GNU Hurd page is only some static placeholder page. Granted, traffic on the major Hurd development list isn't like linux-kernel, but there sure is work going on there.

    I have to agree with some more FSF-cynic people here that the HURD indeed does resemble any other "My Own Featureful Kernel" kind of project, and if this one wasn't supported by the most influential Free Software Foundation, it would have been bleeding to death years ago. I mean, the historical mails from Linux Torvalds, wherein he announces the Linux kernel, are already cynical about the release date of the HURD (first he says "within a few months or so", in later mails he starts with "end of this year, age, millenium"-like suggestions). That reminds me a little bit of Paul stating in the Bible that "the End of the World is Nigh" -- words which are 2000 years old now. If it ("it" being the End of the World, or the HURD, or even both at once - whee :-) wasn't anywhere near "Nigh" way back then, then why should we expect it now?

    Then again, one never knows what comes of a Free project. It may lay slumbering for years, then maybe development is suddenly picked up by an interested group o' people (like Debian).

    Oh, and I'm interested, too. I recently tried it. After a night of downloading and installation (which is a smooth, automated process that only requires you to run a few scripts and mount a device as /gnu) that went quite OK, I rebooted with a GRUBbed floppy and found that the kernel hung. Shoot. After some discussion on the mailing list, they found that it was probably my ISA ne2000 card that hung the system.

    (At this point, a cynic would say two things: first: "an ne2000 card is about the first thing one would have supported", and second: "one of the advantages of a microkernel should be that its modular design would allow for the system not to hang when one driver fails", right? I wasn't interested in being cynical, I never really am with Free Software. If it's crap, don't complain -- just don't use it, or make it better. You got it for free, and, unlike promotional material, the givers don't want anything from you in return.)

    The folks from the HURD came up with a few solutions. Some of them involved fooling around in the sources and stuff and didn't seem proven solutions. Another option was to plug the ISA card out. While I'm not very fond of fooling around with hardware, I decided to do the last thing.

    There went the HURD, passing the network card detection part as if it were a simple bend in the road, but then it suddenly crashed into a problem as if it were a trailer that was parked just around that bend. This time I got a real kernel error, not just a message-less halt. The idea behind this crash was that the HURD found way too little main memory on my system.

    So I posted a new message to hurd-help, stating "problem solved, long live the problem", but this one didn't seem to get very much response. (The other message, AFAIK, resulted in some modifications in the network card detection stuff, but as you might know, it's very hard to autodetect an ISA ne2000 card, so I don't expect to see a really "smooth solution" unless, as with Linux, the "kickstart system" doesn't require all hardware to be detected and stuff.)

    So for now, no, I haven't used HURD. Might check again later, but I don't want to disappoint myself for now, as I don't think that my current problems are now suddenly all solved. Even if the HURD will never come near stable, there's one thing that's good about it, and that's competition. Cool features and concepts can only inspire us all to make software better, just like Linux "inspired" Microsoft to do better, and GNOME and KDE inspire each other. And the HURD does have cool concepts (and probably features as well ;-).

    It's... It's...

  • by jbailey999 ( 146222 ) on Wednesday November 22, 2000 @01:29PM (#606540) Homepage
    That was *my* box you guys did in a year ago... =) I changed the address as quickly as I could to save my poor development system.

    For an update, apache still compiles nicely on it, and recently many people got X running.

    As to the Hurd web pages, I've taken over development on them and you can generally expect there to be updates to them starting this weekend. I'd appreciate any assistance people want to give. (web-hurd at gnu.org)

    Another good place to go is http://www.debian.org/ports/hurd/
  • by BlowCat ( 216402 ) on Wednesday November 22, 2000 @12:09PM (#606541)
    There are few issues that prevent us from making the next release. Most of them are filesystem specific.

    1. fdisk cannot get the geometry of the drive due to lack of the interface
    2. ext2fs partitions cannot exceed 1Gb because they are mmap()ed
    3. symlinks are not supported on CD-ROMs

    We cannot release GNU/Hurd-0.3 without all the above.

    But the worst problem by far is lack of developers. Let's hope that this article will attract new people into the GNU/Hurd community.

    Previous articles failed to do it though :-(

All seems condemned in the long run to approximate a state akin to Gaussian noise. -- James Martin

Working...