Slashdot Mirror


First Program Executed on L4 Port of GNU/HURD

wikinerd writes "The GNU Project was working on a new OS kernel called HURD from 1990, using the GNU Mach microkernel. However, when HURD-Mach was able to run a GUI and a browser, the developers decided to start from scratch and port the project to the high-performance L4 microkernel. As a result development was slowed by years, but now HURD developer Marcus Brinkmann made a historic step and finished the process initialization code, which enabled him to execute the first software on HURD-L4. He says: 'We can now easily explore and develop the system in any way we want. The dinner is prepared!'"

116 of 596 comments (clear)

  1. Mods... by GreyWolf3000 · · Score: 3, Funny
    Please mod down any posts that mention Duke Nukem: Forever.

    Except this one, of course.

    --
    Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
    1. Re:Mods... by Anonymous Coward · · Score: 4, Funny

      I'm guessing it will be more Daikatana than DNF.

    2. Re:Mods... by Billly+Gates · · Score: 4, Interesting

      I actually started the lame Duke Nukem posts as a joke, but oddly I had Mozilla mentioned as well. The netscape code finally after 2 years had to be deleted and rewritten.

      After a slow start Mozilla is finally ready and moving fast.

      Hopefully the same fate will happen with Hurd as soon as developers come and take it seriously. Its a selfulling prophesy in free software.

      DNF? Well its proprietary so who knows

    3. Re:Mods... by wolrahnaes · · Score: 3, Funny

      "(I hope I'm not just being really really slow and that everybody else got the joke on day one ;)"

      yes, you are and yes, we did.

      --
      I used to get high on life, but I developed a tolerance. Now I need something stronger.
    4. Re:Mods... by PedanticSpellingTrol · · Score: 2, Funny

      Dude, no! It's going to be the launch title for the Infinium Labs portable, which comes complete with a sticker that triples the battery life!

  2. Dyu think Microsoft will ever live it down ... by ggvaidya · · Score: 5, Funny

    ... if GNU/HURD comes out before Longhorn?

    1. Re:Dyu think Microsoft will ever live it down ... by typhoonius · · Score: 4, Funny

      Mark my words, 2005 will be the year of HURD on the desktop.

    2. Re:Dyu think Microsoft will ever live it down ... by Anonymous Coward · · Score: 2, Funny

      I don't care what the critics are "saying", Hurd is ready for the desktop already. They've got a solid kernel, the GNU system, and can run applications to main().

      All this ballyhoo about Hurd not being ready for the desktop is FUD from M$FT. You guys can stay with your buggy OS, I'll be happily hacking away on my *modern* operating system.

    3. Re:Dyu think Microsoft will ever live it down ... by njvic · · Score: 5, Funny

      Come on... Microsoft will never live up to HURD. Everybody knows it takes many Longhorns to make one HURD.

      *ducks*

    4. Re:Dyu think Microsoft will ever live it down ... by commodoresloat · · Score: 2, Funny
      All this ballyhoo about Hurd not being ready for the desktop is FUD from M$FT.

      Uhhh, yeah. That ummmm big anti-HURD ad campaign that Microsoft is running on all the TV stations.

    5. Re:Dyu think Microsoft will ever live it down ... by djdavetrouble · · Score: 4, Funny

      Mark my words, 2005 will be the year of HURD on the desktop.
      I am going to start a project to rename every friggin FOSS project there is to gain popularity. I happen to know a little about publicity and advertising, and I can tell you right off the bat that products like the gimp, hurd, lame, gnu, etc etc will never gain widespread acceptance until they have a more marketable name. Case in point: Mozilla --> Firefox.

      Hurd will now be known as (dropping all of the stupid recursive abbreviation crap that RMS is so fond of) FUTURINO OPERATING SYSTEM .

      The Gimp will now be called PHOTOFRIEND.

      Lame is hereby dubbed - MUSICSHRINK 5000.

      Gnu/Emacs shall become - WORD-O-LATOR FREE

      and so on...

      --
      music lover since 1969
  3. what about second? by nocomment · · Score: 3, Funny

    Maybe the second program should be a better web server.

    --
    /* oops I accidentally made a comment, sorry */
    /* http://allyourbasearebelongto.us */
    1. Re:what about second? by mangu · · Score: 2, Funny

      Do you mean that, since they finally got to the stage where Linux was in 1991, they should now start rewriting Apache from scratch?

    2. Re:what about second? by pommiekiwifruit · · Score: 2, Funny

      It's the open-source way. After that, they can write a better text editor.

    3. Re:what about second? by SnowZero · · Score: 2, Informative

      No, he's referring to this story: GNU/Hurd Web Server Online
      I remember that slashdotting the first time around... pretty funny to link a beta OS up like that to be taken down in minutes by the hoard.

    4. Re:what about second? by Unknown+Lamer · · Score: 2, Informative

      Actually the machine never died, just the pfinet server.

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  4. what 1st program? by spongman · · Score: 2, Funny

    that 1st program wasn't a web server by any chance, was it?

  5. Mach Microkernel vs L4 by TangoCharlie · · Score: 4, Interesting

    What are the relative benefits of L4 vs the Mach Microkernel? Better performance? As I understand it, MacOS X's microkernel is also based on the Mach microkernel... would it make any sense for Apple to look at L4?

    --
    return 0; }
    1. Re:Mach Microkernel vs L4 by Anonymous Coward · · Score: 3, Informative

      The L4 kernel is built around the x86 (really all modern CPUs) concept of processor "rings". The kernel itself resides at ring0, drivers at ring1, and so on.

      The big thing is that in ring0, no one can interrupt you. So a kernel can run many cycles uninterrupted by applications. Mainly, this is used for scheduling and precise timing.

      What L4 seeks to do is bring all levels of processing out to ring4. By doing this, they minimize the amount of code that cannot be preempted. (I'm sure you've heard about the pre-empted Linux kernel) So with everything running with near-identical process traits, problems like resource starvation and priority inversion simple do not happen. They can't happen, in fact, and that makes the L4 system especially well-suited for embedded systems as well as hard real-time systems.

      But this comes at a tradeoff. Since the kernel is no longer running in ring0, the speed of system calls is dramatically reduced. However, because interrupts are handled in a logical manner, system responsiveness is much faster. It's a tradeoff, like most things in computer software.

      It will be interesting to see, as this kernel matures, how well the operating system stacks up against Linux.

    2. Re:Mach Microkernel vs L4 by Anonymous Coward · · Score: 4, Interesting
      Probably not. The Darwin kernel is really a monolithic layer over the top of a microkernel, not a proper microkernel system. Historically, at least, you gave up too much speed to do a proper microkernel, so monolithic kernels were de rigeur in any application outside the OS laboratory. Just because Darwin is written atop of Mach, it doesn't necessarily follow that Darwin uses a microkernel; and the design of Darwin is that of a monolithic kernel, not a microkernel.

      The Hurd is an interesting design. With luck, it will demonstrate both that the performance hit is no longer of major importance, and that a true microkernel has advantages over monolithic kernels. Only time will tell, of course, if those advantages are going to be properly exploited; but I must admit to curiosity as to what might be implemented above the Hurd that would not be possible (or would be significantly harder) with Linux.

    3. Re:Mach Microkernel vs L4 by js7a · · Score: 5, Interesting
      L4 has only seven system calls, compared to several dozen in Mach. It fits in about 32KB, too, which is very much smaller than Mach.

      But the small size doesn't make most systems faster. Running the same Unix API, L4 adds execution time overhead beyond the default monolithic Linux kernel, about 5%. (Does anyone know the figure for Linux-on-Mach? I know it's much greater than 5%....) However, there are some significant advantages having to do with debugging, maintainability, SMP, real time gaurentees, memory management, configurability, robustness, etc. Detailed discussion here.

      From the overview:

      Kernels based on the L4 API are second-generation -kernels. They are very lean and feature fast, message-based, synchronous IPC, simple-to-use external paging mechanisms, and a security mechanism based on secure domains (tasks, clans and chiefs). The kernels try to implement only a minimal set of abstractions on which operating systems can be built flexibly.

      Other links: L4KA homepage, background info, more info with some historical L3 links.

      Frankly, I think L4 is very much the right way to do things. I wish I could say the same for other parts of HURD.

    4. Re:Mach Microkernel vs L4 by joib · · Score: 4, Informative

      This article explains the philosphy behind L4, and how it's different from Mach.

    5. Re:Mach Microkernel vs L4 by Anonymous Coward · · Score: 5, Informative

      Well, this is fairly wrong but some of the truth is there.

      The x86 uses rings but everything else just uses the supervisor vs user state (since that is all anyone uses the x86 for: rings 0 (supervisor) and 3 (user)).

      You can be interrupted in ring 0 (on x86) or other architectures' kernel privilege level. They usually have an interrupt state flag that needs to be set but, as far as I know, this never has to do with privilege level (except that most interrupts turn it off so that you can clear the interrupt).

      There is no "ring 4". On x86 it is "ring 3" (there are 2 bits for the ring level) and other chips just have "user mode" (hence, this is the generic term for this state).

      Resource starvation and priority inversion have nothing to do with the notion of CPU privilege levels and can both occur on L4.

      The real power to a microkernel comes from the modularity. It is much easier to maintain several small programs than one large one. Plus, it means that any problem in one of them harms nobody else (and that process can later be restarted instead of bringing the whole system down like Linux would with a bug or faulty driver). Additionally, a lean microkernel can stay resident in CPU cache so all kernel code can be run without memory latency overhead (only memory access and device access causes a problem).

      The disadvantage is that the additional level of indirection in the message-passing between processes takes longer than just jumping to the kernel to execute a function and then returning (it isn't quite that simple but you get the idea).

    6. Re:Mach Microkernel vs L4 by TheoMurpse · · Score: 2, Informative

      What L4 seeks to do is bring all levels of processing out to ring4.

      Do you mean ring3? Because there are only rings zero through three (which makes four). Somebody fails their computer counting!

    7. Re:Mach Microkernel vs L4 by Pflipp · · Score: 2, Informative

      As with NextStep in its days, the MacOS X "microkernel" was mainly based on Mach because it allowed fast development. The concept is called a "monolithic microkernel": a microkernel with just one "server" doing just about everything.

      You will realise how long it took the (handful of) HURD developers to port to L4. I don't think Apple has any ambitions in that direction. It just wants to sell a working system.

      --
      "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
    8. Re:Mach Microkernel vs L4 by bstone · · Score: 4, Insightful

      5% overhead for running a system that has all the features in reliability alone has got to be well worth it.

      When you think about it, a system running 5% slower than today's system is only one month behind on Moore's curve. (2x performance in 18 months is 5%/month system speed increase). Wait an extra month to buy your next machine and you can have the same performance on a far sounder foundation. (Of course this assumes you're doing your conversion sometime after Hurd L4 actually runs the things you need).

    9. Re:Mach Microkernel vs L4 by Anonymous Coward · · Score: 2, Interesting

      The real power to a microkernel comes from the modularity. It is much easier to maintain several small programs than one large one.

      I recall RMS saying in Revolution OS that this turned out to be a serious disadvantage due to the difficulty in trying to debug the orchestration and multiple message flow between these many programs. This had something to do with things like having a context which was over a given message which could be subtly modified by some other event in the system. Whereas monolithic kernels like Linux could debug this type of thing in a more straight forward manner.

    10. Re:Mach Microkernel vs L4 by Anonymous Coward · · Score: 2, Funny
      The real power to a microkernel comes from the modularity. It is much easier to maintain several small programs than one large one.

      GNU/HURD the microkernel from the people who brought you Emacs.
    11. Re:Mach Microkernel vs L4 by garethwi · · Score: 2, Funny

      Well, this is fairly wrong but some of the truth is there.

      A 'ring' of truth, perhaps?

    12. Re:Mach Microkernel vs L4 by wtrmute · · Score: 2, Insightful

      That's being foolish. There's plenty of "experimental" OSes around, many of them Free Software, like EROS; that isn't what the HURD should be doing. It shouldn't be this neat system where development breaks away completely from what programmers are used to writing, therefore guaranteeing that porting of applications will be a tedious, and ultimately fruitless, process.

      What the HURD developers should be doing is (risking the wrath of the community) be less revolutionary, and get something going. The team spent God-knows-how-long stumped on that file system mmap() problem, which barred disks larger than 2GB from being mounted. If one runs across this kind of barrier during the development of a system, one should just drop the feature and use something else which is known to work, and leave that feature for version 2.0 or something.

      Of course, if the software is too little revolutionary, it won't make any sense to use it: The L4 developers already have a Linux 2.6.10 running on top of their microkernel... There ought to be some kind of compromise, basically dropping features when the milestones keep getting pushed back.

      Then again, the Hurd might have been just a victim of the Cathedral method it (used to) be developed with...

    13. Re:Mach Microkernel vs L4 by mindriot · · Score: 2, Informative

      Yes, MacOS X is Mach-based. Mach, however, is not really a microkernel in the true sense of the word. Compared to L4's size, Mach is a huge monster. Somebody else already provided a link to an introductory (if old, from 1996) article by the L4 creator Jochen Liedtke.

      would it make any sense for Apple to look at L4?

      As a matter of fact, the L4KA group is looking into this. See, for example, this thesis currently in progress.

      The main benefit is that L4 is actually a true microkernel. It has something like seven system calls that basically handle interprocess communication and address spaces. Everything else needs to be done by user-level processes. L4 separates policy from mechanism, that is, it provides the basic mechanisms and leaves it to the actual OS implementation what policies to implement. It has a very tiny memory footprint and about every optimization possible to operate extremely fast. This is important as in a microkernel environment, much more IPC takes place. Mach sucks here as their IPC operations are terribly slow. L4's IPC speed and its general size show that it's actually feasible to write a real microkernel without taking a non-negligible performance hit. L4Ka::Pistachio is an L4 implementation done completely in C++, which makes code maintenance much nicer, and goes to prove that it is in fact possible to create an efficient microkernel implementation in C++.

      It would probably make sense for Apple to look at L4 (as it does for the Hurd), but of course L4 provides much, much less than Mach does (which is good! It's a microkernel after all) and therefore Apple (or, maybe, my friend working on that thesis I mentioned above) would have to reimplement all low-level system services besides address space handling and IPC around L4, in user-level processes. It is probably feasible, but still a long way away.

    14. Re:Mach Microkernel vs L4 by cpghost · · Score: 2, Informative

      5% overhead for running a system that has all the features in reliability alone has got to be well worth it.

      5% overhead in the system calls only. In their own timeslice, threads run without any performance penalty, up to the point where they need to IPC some server task like a file server or so.

      So it depends if your application is more I/O or compute bound.

      But you're right: 5% is next to nothing, even on low-end embedded platforms.

      --
      cpghost at Cordula's Web.
  6. Dilbert by john-gal · · Score: 4, Funny

    Reminds me of the Dilbert comic strip where an old man waves a piece of paper around and says "At last, I have formed a strategy that is acceptable to all departments. Now if only there were a way to reproduce text from one piece of paper to many."

  7. GNU-Mach was just plain Mach in 1990 by avidday · · Score: 2, Funny

    Mach was still an active CMU project when the Hurd glacier began its very slow creep from the peaks of lofty idealism towards the throng of onlookers waiting patiently for the free unix kernel they always craved to reach them. I understand there are actually a few brave souls still standing there waiting.....

  8. Competition is a Good Thing by Max+Romantschuk · · Score: 4, Insightful

    The HURD kernel is often joked about, but I for one does hope that it will eventually become a viable alternative to the Linux kernel. Competition is seldom a bad thing, especially not among free software projects.

    --
    .: Max Romantschuk :: http://max.romantschuk.fi/
    1. Re:Competition is a Good Thing by ghoti · · Score: 2, Interesting

      Not sure I agree. It took Linux a long time to be recognized as a viable alternative to other Unices. I don't think this can be easily done again. And I doubt that Hurd would have any noticeable advantages over Linux. It's also free, it runs the same software (99.9% or so ...), and it's a Unix (or, well, Not Unix).

      So why not have the people working on Hurd work on something new instead, or work on improving Linux? Competition can also hurt, by splitting up the resources into many small parts ...

      --
      EagerEyes.org: Visualization and Visual Communication
    2. Re:Competition is a Good Thing by Max+Romantschuk · · Score: 3, Insightful

      So why not have the people working on Hurd work on something new instead, or work on improving Linux? Competition can also hurt, by splitting up the resources into many small parts ...

      It's true that combining all the resources and working for The Right Thing is a good idea in theory, but one that fails in practice. The problem is that people can't seem to agree on what The Right Thing is. If they did, there would be no need for politics. For now, I see a need for both competition and politics.

      (And the places that have eliminated both are usually called dictator states.)

      --
      .: Max Romantschuk :: http://max.romantschuk.fi/
    3. Re:Competition is a Good Thing by Anonymous Coward · · Score: 4, Insightful

      So why not have the people working on Hurd work on something new instead, or work on improving Linux?

      Yes sir, I'll reassign the coding monkeys to fit your wishes... wait, what was that? they are volenteering to do this and that's what they want to do? they don't have a boss? well, that's news to me bud, cause I gots a guy right here who wants me to stop the project, yup, stop it right away, cause he wants to tell the coders what they are to do on their own free time. what's that you say? bite your shiny metal ass? well, I never!

    4. Re:Competition is a Good Thing by jeif1k · · Score: 2, Insightful

      So why not have the people working on Hurd work on something new

      They are working on something new: a true microkernel. They are making it backwards compatible so that people can easily use it.

      Competition can also hurt, by splitting up the resources into many small parts ...

      But since nobody knows ahead of time which part is the right one, we have to bear that cost. Microsoft and the Soviet Union believed that they were smart enough to predict everything. The Soviet Union also blossomed initially because in the short term, focusing your resources really does make things more efficient. In the long term it didn't work. And you are seeing the same thing beginning to happen with Longhorn at MS.

      We need more projects like Hurd: in the long run, only diversity survives.

  9. Linux by mboverload · · Score: 3, Interesting
    Linus provided them a better, simpler kernel so they basicly scrapped HURD for linux, if I remember correctly from "Revolution OS"

    BTW, Revolution OS is a great movie, even my non-nerd friends loved it. You can pick it up here: http://www.amazon.com/exec/obidos/ASIN/B0000A9GLO/ revolutionos-20/103-9235316-0475036

    1. Re:Linux by angelfly · · Score: 2, Informative

      yeah, I saw Rev OS, it wasn't scrapped. They just designed their kernel in a way which is which makes debugging hard, and thus really long development time. Lately it's looking good though from what I've seen in debian hurd

  10. Re:It hurds by mirko · · Score: 5, Interesting
    The Hurd Project was started in 1983 (it's an instrumental featuring the speech where Stallman explained the origin of the GNU project).
    Now, 22 years later, a definitve breakthrough has been performed.
    I see this as an excitement :
    1. They kept working on it THAT long despite slandering and scepticism such as yours
    2. The rest of the software library (glib, bash, etc.) is already ready
    3. With Linux, Hurd and BSD amongst others, we are slowly getting back to the same variety we had 20 years ago, when we had to exchange basic listings and to port these onto various platforms (Sinclair, Commodore, Amstrad, Sharp...)


    Now, we will see it emerge and, why not, get sufficient audience to become unavoidable. In 20 years from now, it'll be like it's an opportunity as weel as any other so it's not missed, it just took time to emerge, like my favourite whisky.
    --
    Trolling using another account since 2005.
  11. Re:It hurds by Anonymous Coward · · Score: 4, Funny

    Or they could decide to restart it.

  12. Well, it's not that much :) by Leffe · · Score: 5, Informative
    Let me quote from the l4-hurd mailing list (posted 02 feb):

    At Wed, 02 Feb 2005 01:12:44 -0500,
    "B. Douglas Hilton" wrote:
    > So, how much longer before Python will build on L4-Hurd? :-)

    If you mean "building" as in "compiling it", that should be possible as soon as we ported the dynamic linker, or at least made sure the dynamic linker "builds" (ie, "compiles"), if python can be cross-build.

    If you mean "building" as in "compiles _and runs_", then we are talking about a much longer time-frame :)

    With my glibc port, I can already build simple applications, but most won't run because they need a filesystem or other gimmicks (like, uhm,
    fork and exec), and I only have stubs (dummy functions which always return an error) for that now.

    So, for the time being, a measure of progress is what functionality is implemented: drivers, filesystem, signal processing, process
    management, etc. Luckily, we have so much existing knowledge to draw from (the Hurd on Mach source code, for example), that I am carefully
    optimistic that progress can kick in very quickly once we have sorted out some fundamental (low-level) design issues and got a sufficient
    understanding of the details of the system.

    Thanks,
    Marcus


    I might as well quote this too, which I think this story most likely refers to (posted on 27 jan~):


    Hi,

    with the changes of today, the glibc patch set in CVS supports startup and initialization up to the invocation of the main() function - this means important things like malloc() work.

    Of course, there is a lot of cheating going on, and the implementation is full of gaps and stubs. But this step forward means that we can do
    easy testing by just writing a program and linking it to glibc, and run it as the "bootstrap filesystem" server.

    TLS/TSD seems to work without any problems - important things like the default locale are set up correctly, and thus strerror() works. __thread variables are supported, glibc uses them itself.

    There were a couple of fixes and extensions needed in wortel and the startup code, but it wasn't so much. My understanding of the glibc code has reached an all-time high (not that this required much ;)

    If you want to reproduce all this, you need to configure, make and install the software as usual. It is important that your compiler can find the installed header files afterwards! Only then you can reconfigure your source with "--enable-libc" and try to build the C library according to the README.

    Static linking against this new libc should be possible after (manual) installation, I guess, but I always use a very hackisch and long gcc
    command line to cheat myself into a binary that I can then use as "filesystem server" (the last one in the list) in the GRUB configuration. See the README for details.

    I think that this basically concludes the first step of the initial bootstrap phase. By being able to link a program against glibc, and
    by booting all the way up to that programs main() function, we can now easily explore and develop the system in any way we want.

    The dinner is prepared! :)

    Thanks,
    Marcus


    This uses a lot of advanced words I have no idea what they could mean though, but I don't mind as long as someone does and writes an article :)

    Still a long way to go. Not much one can do except wait... or send in patches if you have kernel hacking experience!
    1. Re:Well, it's not that much :) by The_Dougster · · Score: 4, Informative
      Wow, something I wrote actually trickled back into /. Amazing. I was just joking about Python, of course.

      L4-Hurd is pretty nifty, I think. Of course I run Gentoo and whatnot personally for the usability aspects, but I've been following the L4-Hurd port for a while now and this is an amazing little bit of news.

      I can't wait to start experimenting with the new features. This is really cool.

      Here's a coral cache link to the HurdOnL4 Wiki page which I set up last summer. It's slightly out of date, but provides a lot of background behind whats going on and some basic information about the build and boot process.

      When you retrieve the CVS sources, read the README and all the docs because they contain the most up-to-date information available about building the system.

      --
      Clickety Click ...
  13. Let's see here by ravenspear · · Score: 3, Insightful

    would it make any sense for Apple to look at L4?

    Given the fact that some features in OS X took Apple over 12 years to get into a shipping product (development on Copland started in 89), and given the fact that for years Apple had suffered with a horribly buggy, non standards compliant, limited system that was the Classic Mac OS, and given the fact that Darwin with the Mach kernel is an excellent open source unix system, and given the fact that huge amounts of time and money were spent getting OS 9 and Carbon libraries to run on it, and given the fact that OS X is now arguably the best OS out there and is earning heaps of praise from geeks, luddites, and just about every other type of user, and given the fact that OS X represents the most compelling reason to switch to Apple computers in years, and given the fact that in just a few years the OS has amassed a compartively huge following of developers and applications...

    Given all those facts...

    Whould it make sense for Apple to now completely rewrite it DOWN TO THE KERNEL LEVEL!!!

    I really hope I don't have to answer that.

    1. Re:Let's see here by tm2b · · Score: 2, Interesting
      Given the fact that some features in OS X took Apple over 12 years to get into a shipping product (development on Copland started in 89).
      Copland was abandoned, thank god.

      Mac OS X actually was shipping in 1989 - it was just called NeXTStep back then and didn't have Classic. We actually had two NeXTstations in our house back in college in the early 90s, a cube and a slab.

      Too bad they had to gussy it up to make it look more like Mac OS 9- to be accepted by the faithful, it was a much more elegant design before that.
      --
      "It is our blasphemy which has made us great, and will sustain us, and which the gods secretly admire in us." - Zelazny
    2. Re:Let's see here by ThousandStars · · Score: 4, Interesting
      Arguably, Apple took even longer, since it was looking at next-generation operating systems before Copland development actually started. In addition, NeXT began (IIRC) in 1986.

      Also, not only did OS X take a long time to develop, it took an even longer time to become usable. The first desktop version, 10.0, was released in Mar. 2001, and it sucked. Actually, it worse than sucked, it was closer to a beta than a release. I consider it more of a developer's preview. The next version, 10.1, released in Sept or Oct 2001, was usable but still too slow, particularly for the hardware at that time. The first version I would call good, and good enough for the casual user, was Jaguar, 10.2.

      Most estimates of the cost of developing OS X in its present are around $1 billion. (Cost of acquiring NeXT was $420M, plus all the development time and money. I think part of the Copland money was counted in there too.) That's a whole lot of development time, money and effort to throw out for a hypothetical, potential and probably minor speed increase. Given the further elaboration above, I agree with the parent's implied answer.

      Still, one could argue that much of the time the parent and I count as "working" on OS X didn't really count (i.e. Copland, which failed, and NeXT, much of which didn't make it into OS X), but these timelines were still important in making today's OS X what it is.

    3. Re:Let's see here by ThousandStars · · Score: 3, Funny
      Whould you ever reconsider you're spelling of 'would'?

      I'm sure he would, if you will reconsider your use of the contraction "you're."

    4. Re:Let's see here by sp67 · · Score: 2, Interesting

      Whoa there, cowboy, hold your horses!

      1) OS X has nothing to do with Copland
      2) OS X is not based on the Classic Mac OS
      3) Classic apps and the Carbon libraries running on OS X do not directly access the Mach microkernel
      4) very few things in OS X and its apps actually know there is a Mach microkernel in there

      So given all these things, Apple would certainly NOT have to rewrite much if it were to switch microkernels. Hell, even most drivers are written at such a high level that they wouldn't be affected.

      So why would't it make sense?

      I really hope you answer this.

      --
      Tuff that Smatters.
    5. Re:Let's see here by Anonymous Coward · · Score: 5, Insightful
      given the fact that OS X represents the most compelling reason to switch to Apple computers in years, and given the fact that in just a few years the OS has amassed a compartively huge following of developers and applications...

      Would it make sense for Apple to now completely rewrite it DOWN TO THE KERNEL LEVEL!!!

      Palm OS is on its 4th kernel. Did anyone notice? I didn't. I've been a full-time Palm developer for two years, and I couldn't even tell you which version has which kernel (except that I'm pretty sure they switched kernels when they ditched 68k processors for ARM). Did they have to "completely rewrite it down to the kernel level"? Nope, that's just the point: they did the opposite. They left it the same all the way down to the kernel level; it's just the stuff below the kernel level (and a few minor piece above it) that they changed.

      The point is, switching out kernels is not necessarily that tough a thing. Sure, it can't be done overnight, but it doesn't force you to rewrite your entire OS.

      Much more to the point, if you research it a little, you'll find that Linux has already been ported to L4Ka. And the version of Linux that was ported still runs exactly the same software as regular Linux. If some small team of researchers can port Linux to L4Ka just to give themselves a convenient development platform, then I guess Apple could do the same thing to OS X if they had any interest in doing so.

    6. Re:Let's see here by fr0dicus · · Score: 3, Funny

      Is that silence because you can't configure your soundcard properly?

    7. Re:Let's see here by LWATCDR · · Score: 2, Interesting

      The question then becomes... Why?
      After the port would OS/X be, faster, more stable, more secure, or more portable?
      I would bet it could be done. The bigger questions is should it be done.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  14. Great by Pan+T.+Hose · · Score: 5, Interesting

    When the first programs run, it is just a matter of time before there is a functional L4 port of Debian GNU/Hurd (or just Debian GNU?). I really like the design of the Hurd, but what I'd like to see the most are not the "POSIX capabilities" but the real capabilities as described in the 1975 paper by Jerome Saltzer and Michael Schroeder, The Protection of Information in Computer Systems. (For those who don't know what am I talking about, I recommend starting from the excellent essay What is a Capability, Anyway? by Jonathan Shapiro, and then reading the capability theory essays by Norman Hardy. As a sidenone I might add that I find it amusing that people who say that there are other advantages than only Digital Restrictions Management of using TCPA/Palladium-like platforms usually quote security features, which have already been implemented in the 1970s, only better and with no strings attached. Those TCPA zealots are usually completely ignorant of the existance of such operating systems as KeyKOS or EROS with formal proofs of correctness without all of the silliness.) Are there any plans to have a real capability-based security model available in the Hurd?

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
  15. "hello, world" anytime soon ? by anti-NAT · · Score: 3, Funny

    How much time would it take to port it over ?

    --
    The Internet's nature is peer to peer - 20050301_cs_profs.pdf
  16. In the words of Linus... by tod_miller · · Score: 2, Interesting

    I can (well, almost) hear you asking yourselves "why?". Hurd will be out in a year (or two, or next month, who knows)

    Courtesy of Gooooooogle

    The thing is, GNU/HURD will still be... Linux. Don't shout, yes I know, the thing is, people call Linux, Linux.

    Then people say, aaahaaaa Mr Bond... it is really GNU/Linux.

    Well I am not so sure anymore. Debian think so, but why not call it GNU/Gimp/OOo/Java/Perl/apache/*all other installed apps*/Linux.

    Is GNU software is great, and calling Linux+GNU 'Linux' is wrong, but calling any installation of the Linux kernel 'Linux' is correct regardless of other software.

    If I call my OS Linux, I do so without reffering to the installed user space apps, however necessary they might be.

    I think the person who is most keen to see HURD is Linus himself! After all, he has been waiting since 1990!

    I do hope that /. in 2006 doesn't have a new flame topic:

    HURD v Linux (and HURD will never sell with that name - IMHO)

    HURD running on top of the GNU Mach microkernel first booted in 1994 and became GNU's official kernel

    The development of the GNU/Hurd has important emotional and practical value to GNU fans because in 1990s GNU had not completed any kernel and used the Linux kernel out of necessity. Thus, a number of GNU fans feel that they will have "pure GNU" only with the Hurd kernel.

    I do think that some of the GNU ramblings are a bit ungrateful to Linux kernel. Without Linux it would be in 5 years that people would wake up to *nix OS's types, and in 5 years we would be where we were in 1994.

    I see one thing, with the FUD over linux, will the same FUD establish itself over the huge sprawling software base of GNU?

    Will GNUimp get sued by Adobe? How will this GNUism evolve?

    And the final question on every /. lips is, in regard to anything, when will HURD run Linux? ;-)

    --
    #hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
    1. Re:In the words of Linus... by Ohreally_factor · · Score: 2, Funny
      I do hope that /. in 2006 doesn't have a new flame topic:

      HURD v Linux


      Let me be the first to post the Kottke/HURD troll.

      I don't want to start a holy war here, but what is the deal with you HURD fanatics? I've been sitting here at my freelance gig for about 20 minutes now while it attempts to copy a 17 Meg file from one folder on the hard drive to another folder. 20 minutes. Then it hit me. This doesn't even have a files system yet. At home, on my Pentium Pro 200 running Gentoo, which by all standards should be a lot slower than HURD, the same operation would take about 2 minutes. If that.

      In addition, during this file transfer, FireFox will not work. And everything else has ground to a halt. Even VIM is straining to keep up as I type this.

      I won't bore you with the laundry list of other problems that I've encountered while working on HURD, but suffice it to say there have been many, not the least of which is I've never seen a HURD that has run faster than its Linux counterpart, despite the HURD's' micro kernel architecture. My 486/66 with 8 megs of ram runs faster than this 3.5 Ghz machine at times. From a productivity standpoint, I don't get how people can claim that L4 is a superior kernel.

      HURD addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use HURD over other faster, cheaper, more stable systems.
      --
      It's not offtopic, dumbass. It's orthogonal.
  17. Re:Benchmarks? by Anonymous Coward · · Score: 5, Insightful

    How fast is GNU/HURD compared to GNU/Linux? How about non-GNU/Linux?

    Microkernel systems are always slightly slower because of the message passing overhead but they can be much more secure and stable because all of the device drivers are run in user space. Contrast it with systems such as Windows and Linux where drivers are in kernel space and it is impossible to have a stable or secure system with poor drivers, and in fact most of the problems with Windows and Linux crashing is caused by buggy drivers running in kernel space. When the drivers are just user processes like in HURD then a faulty driver can't crash the system and if it goes berserk it'll just get terminated just like a buggy browser or text editor without affecting the stability of th entire system.

  18. choose a new name for a new kernel by jeif1k · · Score: 2, Insightful

    A commercial company might take old code, given it a new name, and shipped it as a brand new thing. But GNU starts a brand-new, hot project based on better microkernel architecture and they use for it a name that people already associate with failure.

    The L4Ka-based kernel is a new project that sounds like it has a lot of promise and may address problems that both Linux and commercial kernels have with modularity and extensibility. This new kernel should get a snazzy new name to get that message across.

    1. Re:choose a new name for a new kernel by Tumbleweed · · Score: 4, Funny

      The L4Ka-based kernel is a new project that sounds like it has a lot of promise

      I don't think something called "El Forka" sounds all that inspiring.

  19. Dilbert == BSA whore by Anonymous Coward · · Score: 4, Informative

    Reminds me of the Dilbert comic strip ...

    I've been boycotting Dilbert since its authors became BSA propaganda whores.

    1. Re:Dilbert == BSA whore by dustmite · · Score: 4, Interesting

      Indeed, ouch, I find that very disappointing, I'll join the "Dilbert boycott". How patronising too, their lame psychological manipulation strategy: "As an engineer like you ..." .. isn't that how you try manipulate 6-year olds? The BSA's tactics disgust me in general.

      I used to like Dilbert, but I cannot stand any comic strip that whores itself out to corporate interests in this way. A comic strip is not an advertising platform.

    2. Re:Dilbert == BSA whore by HuguesT · · Score: 4, Insightful

      Please think it through, Dilbert is right. How can you not support the BSA's actions ?

      The BSA is making sure copyrights are respected (i.e. the law). Now the only way we are going to get reasonable copyright laws is when people realize that current terms are unacceptable. If people think that they can get away with copyright infringement they wont put as much effort into voicing their opinion regarding how much they think current laws sucks.

      In other words people are now saying: "yes, copyright sucks but it doesn't affect me, I can get all the software/music/videos I want (not need) through [P2P du jour], and I can get away scott-free".

      Moreover the BSA supports Linux. Yes it does.

      It is when companies and individuals realize how much money their have to give to BSA members like Microsoft, Adobe, Apple and others and what little return they get that they'll take a long hard look at Linux and all the excellent Free applications out there.

      There is no need for a vast majority of people to give their money to run Windows or Photoshop. They can get all the software they need and more and stay on the right side of the law.

      The GPL, BSD license and the like all use the underlying copyright laws. If copyright laws are not enforced then those licenses are worthless as well.

      Dilbert is supporting the BSA and so should you. The worse the BSA treats the consumer, the more strongarmed its tactics are, the more audits it conducts, the better for Free software.

      Unless you think you have a right to freely access all the copyrighted works in the world?

    3. Re:Dilbert == BSA whore by mwvdlee · · Score: 3, Insightful

      Remember Novell's legal actions against the BSA?

      BSA protects the rights of their members, they just protect the rights of some members more than those of other members.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    4. Re:Dilbert == BSA whore by dustmite · · Score: 2, Insightful

      Although GP has a point, forcing people to pay for software would encourage adoption of cheaper alternatives for now, you are right, this is the real danger: an installed base of DRM. Companies like Microsoft currently charge "monopoly prices", which are "what the market will bare". They aren't so stupid as to charge so much that people are forced to look at alternatives. So when the first "major" round of DRM comes, people will just accept it, rationalising the decision by saying "well, it doesn't cost THAT much more" and "at least we're doing things the legal way". That's 'fine and well', but once DRM-based PCs and OSs become widespread, the fundamental platform has changed, and the 'big cartels' will be able to (and WILL definitely) engage in highly anti-competitive behaviour by using their newfound massive control over the platform to lock out potential new competitors. This isn't tinfoil-hat, it's logical and inevitable and is the current direction things are moving - fast. And people will anyway also be locked in for the same reasons they are already "locked in" today (e.g. "everyone uses MS Word and we need to interchange files"), only it'll be worse.

      If we can encourage enough adoption of alternatives, e.g. Linux, hardware manufacturers may still be "forced" to produce non-DRM hardware, but this seems unlikely. Most of the world is already hooked on Microsoft's 'heroin'.

    5. Re:Dilbert == BSA whore by ProfitElijah · · Score: 5, Informative

      > Please think it through, Dilbert is right. How can you not support the BSA's actions ?>/tt>

      Easily. I support its basic principles - protecting its memebers' copyrights - but its actions are indefensible. Take some of the following examples. In 2003 they sent a letter to a German university demanding they take down infringing software from their site. The software? OpenOffice. Also in 2003 it attacked Massachusetts, the only state holding out against the DoJ's settlement, for adopting an open source policy when no such policy existed. In 2000 when I was working for a small company in London, we received a letter threatening to make us "the focus of a BSA investigation" if we didn't get licenses for all the pirated software in use at our offices. We had licenses for all our proprietary software - namely Informix and Solaris. In 2002 they attempted to raid kickme.to's offices in order to find information about their customers, when kickme.to is just a redirection service with no hosted content of its own. Only last month they published a whitepaper calling for the enforced cooperation of 3rd parties (i.e. ISPs) with rights holders. In other words they want the existing, much abused, DMCA subpoena and takedown notice fortified. In 2001 they said the cost of piracy was $3 billion. In 2003 they said it was $29 billion. I guess $3 billion is not enough money to make the headlines, so they had to re-engineer their spurious mechanisms to produce a better figure.

      In short the BSA is a bully, a liar and its actions are, as the grandparent poster argued, indefensible.

    6. Re:Dilbert == BSA whore by AbbyNormal · · Score: 4, Informative

      Have you ever received a letter from the BSA? Coinicidentally, we only received one after we let one of our MS action pack subscriptions lapse (but purchased another). In not so many words, they threatened with forcing us to prove we've destroyed our remaining unlicensed copies of software. Ironically on the same day, we received our renewal receipt for the Action Pack. You can imagine all the "warm and fuzzies" the BSA letter gave us.

      Basically, they are a roving band of pirate lawyers looking for plunder. Mafia tactics, that border on harassment, not these "do-gooders of Copyright laws" you proclaim.

      --
      Sig it.
  20. Re:Well worth the wait ... by Mark_MF-WN · · Score: 4, Interesting
    HURD will never ever be where Linux is...
    By that logic, no one should ever start a new software project that isn't already being met (however inadequately) by some other piece of software. Why did Linus start writing Gnu/Linux, when there were already great operating systems like Windows/Dos, and Unix/Unix?

    Fankly, I think it's a great thing that BSD and HURD will be putting some pressure on Linux to be the best. Competition makes them strong, and the cross-fertilization of ideas makes them stronger still.

    Besides, HURD may end up being superior to Linux in some domains, such as high-reliability systems (think banking servers), driver development, OS research, shared systems, and the like.

  21. Re:Benchmarks? by Chanc_Gorkon · · Score: 3, Interesting

    Neat concept, but what if your graphics driver goes out?? Will it respawn automagically? Whaty if the hard drive controller's driver dies? Sometimes a neat concept ends up not being very practical. I would rather have the OS die if the hard drive controller's driver kicks off as there's less of a probablility of hard drive corruption. If the driver code for the hard drive dies and the kernel keeps running, would you not have lost alot data?

    --

    Gorkman

  22. flame of the day by Tumbleweed · · Score: 2, Interesting

    Look, congrats and all, but if I'm going to run a pointless operating system, it's going to be one that's actually impressive, like MenuetOS .

  23. Re:Benchmarks? by meburke · · Score: 2, Interesting

    I may be out of date, but wasn't this Tannenbaum's contention: that microkernel was possibly superior to monolithic architecture because of the stability of the kernel space?

    I'm a little excited by the possibility of a solid Open MK, but a little dismayed at the thought that I may have to re-read Tannenbaum and Wirth (Oberon Project) to figure out what's going on. Does anyone have a link to an overview/comparison of kernel architectures? If so, this old fart thanks you.

    --
    "The mind works quicker than you think!"
  24. Re:OMFG by Pflipp · · Score: 3, Insightful

    While there are many "dying" projects out there (remember the "Windows replacements OS" hype?), HURD has always had the most of critique, mainly because it embodied the very promise of a GNU system to many people in its days.

    But putting the whole history aside, you could see HURD as an exercise in OS development following the route of the more progressive design theories. You might be able to imagine how this pulls the interest of a small group of developers over a longer time, despite of the fact that development is going slowly.

    You know how Free Software has the ability to evolve and persist aside from political influences, well, here is your new schoolbook example.

    --
    "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
  25. Re:Benchmarks? by Malor · · Score: 5, Interesting

    If the system is able to stay up without further drive access, that could potentially allow you to copy data still in RAM. If the OS simply instantly failed when the HD controller went, then any data in RAM would absolutely be lost.

    Software failure is more common than hardware. In many cases, drivers can be restarted. Your specific example is probably the toughest one I can think of offhand... you'd have to have a copy of the HD controller cached somewhere to be able to restart it. (since, obviously, you can't load it from HD :)). But most drivers wouldn't be that hard to restart... video and network are two very good examples. I have seen many 2.4 kernel crashes from what appeared to be network-driver failures. Presumably, a microkernel might have survived whatever the problem was.

    You also, of course, have the advantage of each driver/process running in its own address apace, which would probably make very complex code, like the 2.6 Linux kernel, more manageable.

    Just as an offhand observation, I kind of wonder if the 2.6 Linux kernel isn't approaching the level of diminishing returns... it's gotten so complex that it's getting pretty tough to cleanly improve without blowing a lot of stuff up. A microkernel design would probably have made maintenance easier, and *probably* would have given us more stable systems now.

    But they didn't go that way, and restarting Linux kernel development would be pretty stupid, IMO. :-)

  26. Re:Benchmarks? by TheRaven64 · · Score: 3, Informative

    On BeOS, when the sound subsystem crashed you would get a message informing you of this, and it would automatically attempt a restart. On Windows or Linux when the sound subsystem crashes, the odds are you've got a kernel panic (since the drivers run in kernel space).

    --
    I am TheRaven on Soylent News
  27. False Dichotomy by warrax_666 · · Score: 2, Insightful
    There's no indication that the people working on HURD would work on Linux if they couldn't work on HURD. Although you might speculate that they would, they might equally well work on one of the BSDs.

    And I doubt that Hurd would have any noticeable advantages over Linux.

    Oh, it has lots of advantages, particularly for "kernel" developers and system administrators. For developers, implementing e.g. new file systems is much, much easier than in a monolithic kernel (although FUSE has helped here it still feels kind of like a hack). For sysadmins there is much less privileged code to worry about. (There's lots more but those are the ones that spring to mind).
    --
    HAND.
    1. Re:False Dichotomy by BlackHawk-666 · · Score: 2, Insightful

      I look forward to the day when I can dual boot either a Hurd or Linux kernel and run *all* my *nix software, just like choosing between a 2.4/2.6 kernel today. I'd like to toy with the hurd, later, when it has something to offer, but not at the expense of running two setups. Any idea if this is possible?

      --
      All those moments will be lost in time, like tears in rain.
  28. Re:Benchmarks? by ajv · · Score: 2, Informative

    Windows XP's kernel is a modified microkernel design. Most people are unaware of this, but it means that the vast majority of the code your applications call are also running in user space. For example, on Windows 64 machines, there's a Windows 64 environment, a Windows 32 (WoW64) environment, and so on. In the olden days, there were DOS VDMs, POSIX, and OS/2 sub-systems.

    Not every Windows or Linux driver is kernel-space, but most are.

    However, with adequate testing, crashes due to buggy drivers are rare. If you choose to run crap drivers, of course you'll see problems. Including on

    --
    Andrew van der Stock
  29. Re:Benchmarks? by lokedhs · · Score: 4, Interesting
    But they didn't go that way, and restarting Linux kernel development would be pretty stupid, IMO. :-)
    In a way, you could see the new HURD to be a restart of the Linux kernel development. I.e. a new, better(?), kernel. And I wouldn't call it stupid, quite the contrary. New development is always good.

    The funny thing is that back when Linux was started, it could been seen as a restart of the HURD kernel development. What goes around comes around. :-)

  30. Re:I'm assuming RMS will switch by 808140 · · Score: 3, Informative

    You're describing the bootstrapping problem, which if I recall correctly is actually described on the GNU website, somewhere.

    To answer your question, the GNU devs started out with proprietary operating systems -- primarily SunOS, I think -- and took advantage of the modularity of UNIX to replace one utility at a time. This is why the kernel was the last piece -- because most of what makes a UNIX system run actually resides in user space.

    Attempts to create free versions of other OS types -- ReactOS comes to mind -- have a harder time following this example, because most other operating systems are not designed in such a modular way. So they start with the kernel.

  31. More interested in development by BlackHawk-666 · · Score: 2, Insightful

    When I read about projects like this I know it is being worked on by guys who are more interesting in writing code than finishing a project. That's great for them, kudos that they have spent over twenty years on the same basic idea, but what about the people who wanted to actually get some work done in that time frame. The hurd is interesting as an example of a micro-kernel - but I got MP3's to rip, video to encode, documents to write, emails to reply to and life to get on with. Let us all know in another 5 years when they have some useful code running on the hurd.

    --
    All those moments will be lost in time, like tears in rain.
    1. Re:More interested in development by osierra.com · · Score: 5, Interesting
      This is best illustrated by the parable of the OSs and the gun:
      • With Unix you shoot yourself in the foot.
      • With DOS you keep running up against the one-bullet barrier.
      • With MS-Windows the gun blows up in your hand.
      • With MacOS it's easy to shoot yourself in the foot -- just point and shoot.
      • With SVR4 the gun isn't compatible with your foot.
      • With Linux generous programmers from around the world all join forces to help you shoot yourself in the foot for free.
      • With HURD you'll be able to shoot yourself in the foot Real Soon Now.
    2. Re:More interested in development by Grab · · Score: 3, Interesting

      Too true.

      This is precisely my problem with RMS's theory of freeness. The original reason he developed his whole GNU ideology was due to not being able to get hardware interfaces to work correctly. In other words, he wanted to get some work done and was prevented from doing so by the software he needed not being available. RMS being RMS, he decided he would solve the problem himself, and found that the info he needed to hack the drivers wasn't available. Now there are two possible AND EQUALLY VALID solutions here: either the suppliers make information freely available so that RMS can hack his drivers; OR the suppliers ship decent software in the first place.

      Now granted, if all the docs and source for everything was available to everyone then the world certainly would be a better place - but ultimately what counts is having the tools you need to do your job. RMS (and hence clearly the Hurd developers) have confused this "freeness" with being an objective in itself, when really it is just a tool to let other people achieve their objectives.

      This is as true in the physical domain as in software. If I want to do some woodwork, I buy a chisel, or borrow one off a friend. I don't give a shit if the specs for the chisel and the process by which it's made are posted on a website somewhere - I want to dig a hole in a bit of wood! If the chisel with its own website is a blunt piece of crap, I'll get one that's sharp and does the job properly.

      Frankly, the only reason RMS (and others) can sustain their GNU agenda is that they don't have (and in some cases have never had) real jobs. You know, jobs with deadlines, where you can be made redundant or fired if you're not pulling your weight on a project, and where you don't get a load of time that you can arbitrarily spend on any scheme that takes your fancy. Checking RMS's resume, his background is all Bell Labs and similar "think-tanks". In Ivory Tower Land, such principles are fine - but in the real world, we just want to do stuff, thanks all the same. If your ideologically-perfect OS doesn't work as well as Windows, or if your ideologically-perfect application doesn't work as well as the MS equivalent, I'll ditch it without a moment's hesitation.

      And this is where the Hurd people have fallen down. In their pursuit of the ultimate in gold-plating, they've utterly missed the point of delivering something that people can use. I don't think it's an exaggeration to say that Hurd will never succeed - I don't see how it can, because they've proven time after time that serving their user base is much less important to them than their ideology. And if you screw over your user base, man, you're dead.

      Grab.

    3. Re:More interested in development by essreenim · · Score: 2, Funny

      Get back to work, and stop waisting time. Have you downloaded that Debian ISO for me yet?
      No? Then get back to work.

    4. Re:More interested in development by Anonymous Coward · · Score: 3, Insightful

      I would agree with you except for the fact that you're treating the FSF/GNU as a corporation that has to develop products for customers. They don't. As RMS has said himself, if there's a free, but unfinished or imperfect solution out there, he'll take it over a non-free, proprietary solution any day of the week. I think while they try to make sure the software is completely useful to everyone, listen to feature requests and bug reports, etc., that is not their primary objective. The primary objective is to make something that works that anyone can modify and use.

      So, with your wood chisel analogy, let's modify it a bit. You can buy a wood chisel that is sharp and such, but you are only allowed to use it on certain types of wood, must stand in a certain position when operating it, and are not allowed to give it to your friend to let them borrow it. These are the terms of using the proprietary wood chisel. Now, online there are specifications and instructions on how to build your own chisel. If you disagree with the way they've done something, you can modify the instructions as you see fit to improve it provided you tell the web site of your modifications incase others want to do it. You can even take the chisel you made with their instructions and sell it for a profit, as long as you also provide instructions on how you built it. So, if your freedom isn't worth enough for you to be able to do stuff like that, and you'd rather buy a different chisel for each job because some company tells you that you must, then you'd be the one buying proprietary, non-free software.

      Probably not a great example either, but it's hard to put the concepts into words and compare them to any other such relationship. I guess my whole point is that to them, freedom is the most important aspect of all. If they can provide their users or customers with freedom, they have achieved their main objective. I think the success of GNU/HURD is irrelevent. If GNU uses it, and it works for them and finally gives them a 100% free operating system to release to the public, it's a success.

    5. Re:More interested in development by Hope+Thelps · · Score: 2, Insightful

      That's great for them, kudos that they have spent over twenty years on the same basic idea, but what about the people who wanted to actually get some work done in that time frame.

      What about them? Are you suggesting that HURD is hurting them somehow? Most of the projects that people around the world are working on are of no use or interest to me but... so?

      --
      To summarise the summary of the summary: people are a problem. ~ h2g2
    6. Re:More interested in development by daigu · · Score: 2, Insightful

      It doesn't seem you understand RMS and his theory of freeness.

      From the site: "Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software."

      Using your argument, the supplier would have to product not decent software - but perfect, unimprovable software that met every concievable need, both now and in the future. Something that cannot happen.

      So, now that we have eliminated one side of your EITHER/OR and we are left with RMS (and everyone else involved with free software) hacking. Thank God.

      As a parting shot, can you tell me who the userbase is for a OS that - just this week - started working to the point it warrants a mention on Slashdot? Maybe they should change the name to HNL (Hurd's Not Linux) so that it can help people that are confused on that point.

    7. Re:More interested in development by Bloater · · Score: 2, Interesting

      > but what about the people who wanted to actually get some work done in that time frame

      Easy, they just used Linux, so where's the problem? Now you could use Linux and get your work done, meanwhile they've been creating the next generation of OS technology that much Linux kernel code will probably be ported to so you can make an evolutionary step to a system with very, very high reliability features. Plus extreme flexibility. :) How good is that?

    8. Re:More interested in development by bpd1069 · · Score: 2, Insightful

      I agree 100%...

      I have noticed, as I am sure many others have as well, that without "radicals" in our society, everything would tend to move to the center. And as a result no change would occur... These "radicals" are needed to pull or push any system to a different (could be high or lower) state.

      You don't have to like RMS and people who share his ideology, but you have to respect their determination to change the world, or atleast a small part that they can influence.

      Without Radicals, everything would stagnate... Change is often a good thing, IMHO...

      --
      --
  32. Re:Benchmarks? by Anonymous Coward · · Score: 2, Interesting

    The only module that was converged with the kernel was the graphics subsystem. The NT kernel still remains a microkernel design to this day.

  33. there is a research project to port darwin by Anonymous Coward · · Score: 4, Informative

    guess nobody bothered to g**gle it: New kernel for Darwin:

    Apple's Darwin operating system is the open source base for Mac OS X. The underlying kernel is based on Mach. This project requires implementing a replacement for Mach based on the L4ka Pistachio kernel. Since ports of both exist on similar platforms (IA32 and PPC), most of this project will consist of building an emulation layer for Pistachio which can provide system call interfaces to match those provided by the existing kernel. In addition to implementation and testing, performance evaluation will be an important aspect of this project. Since part of the project is already done and the whole thing is quite large, an important aspect wiill be defining a doable subset, in conjuction with anyone doing part of it for BE. Starting early is advised on this project so no late applications will be considered.
  34. Parent needs a glass hat by QuietRiot · · Score: 4, Interesting

    It took Linux a long time to be recognized as a viable alternative to other Unices.

    Your point? The world now knows there are viable alternatives, and they can be had for historical lows on price.

    I don't think this can be easily done again.

    The world's got practice. It's no longer in the same state it was in '91. Back at that time, very few people had unix machines on their desk or at home. Unix ran in the computer room at work or school and you connected to the system but did little in the way of administration. Millions have been introduced to "the unix-like way of life" (TULWOF), superuser status, and have developed desires to exploit the powers of their machines in an infinite number of ways. The world is primed to be wowed again.

    I see our future selves laughing at our current fascination with Linux like we now look at time we spent with DOS. We'll see someday how horribly inflexible it was compared to what's coming in this next generation of operating systems. Your post shows you know very little about the Hurd and what possibilities it will allow. One cannot currently imagine all the fun things people are going to do with it (them?) X years from now.

    And I doubt that Hurd would have any noticeable advantages over Linux.

    Exactly not the case. There are *profound* advantages [to "the Hurd"].

    If and when a usable system comes to fruition is the question. Developers. Developers. Developers. Get them excited and you'll soon be doing things with your machine you'll never even have considered possible. Maybe not yourself, but people will be doing things they never dreamt possible. There are fundamental differences that are difficult to comprehend having experienced only monolithics. Granted, most of the advantages are not so much at the user level, but from a system administration perspective. Guys working "in the computer room" will probably have much more to be excited about than somebody with a user account. If you know what "having root" is like, the possibilities coming with the Hurd's architecture will be much more meaningful than they would to a typical user. However "typical user accounts" will be much more powerful on a box running the Hurd. Even low level stuff like filesystems floats up into "userland" allowing you the ability to customize your environment to great extents without affecting other users on the same machine.

    So why not have the people working on Hurd work on something new instead, or work on improving Linux? Competition can also hurt, by splitting up the resources into many small parts ...

    Maybe more people should work on the current telephone system instead of wasting their time with VoIP. Maybe you should have worked harder at your old job instead of trying to find a new, better job? The Hurd is to Linux users like Linux is to DOS users. If Linux (as currently implemented) lives in N-space, the Hurd lives in N+1.

    Resources get split up; sure. Consider however how the body of developers grows every day as more and more are introduced to TULWOF. None of us get to justify or dictate how others spend their free time. Get excited about the underdog. Linux has enough developers, don't you think? Will developments made on a new system with completely different rules positively effect Mr. Torvalds pet project? Most certainly I presume. I see the relationship as symbiotic. The Hurd takes on the huge body of software that has been developed due to "the Linux revolution" of the last decade and Linux takes from the Hurd (besides the jealousy that I can only predict will develop eventually) new techniques and perhaps, somehow, some type of hybrid approach to the kernel. There's no telling really; I can only imagine good things coming to both camps. Your attitude of discouraging work on such projects, done freely by others, I see as sel

  35. Why Multics went under by mangu · · Score: 2, Insightful
    I don' really know why Multics went under, it was fun to use.


    That story has been told I don't know how many times. Multics went under for the same reason HURD never took off. It was aimed too high for the resources available. When it became evident that nothing was going to come out of it in a reasonable time frame, Bell Labs got out of the project and that was why Unix was born. Nearly the same thing happened in the HURD/Linux story, the main difference is that Multics/Unix were commercial projects done by big corporations.


    Looking with the benefit of hindsight, I'm willing to predict that HURD may become a viable OS, but it will never be very popular. It has been in existence for so long that it seems unlikely that it will gather momentum now. It may have some advantages, but it doesn't seem to be solving any pressing problem. Its defenders claim it has more stability, security, and flexibility than other systems, but these do not seem to be big problems with either Linux or OSX, so why switch?


    1. Re:Why Multics went under by ehack · · Score: 3, Interesting

      Actually, Multics was deployed commercially, I used it at a university site and it was amazing how well it worked compared to the IBM timesharing systems that were the alternative then in scientific computation (no Vaxen at that time). I think there were some commercial issues rather, the system was mature and deployed.

      --
      This is not a signature.
  36. Re:Benchmarks? by Malor · · Score: 3, Insightful

    Oh, I definitely never intended to imply that the HURD is stupid, not at all.

    I was speaking specifcally about stopping development on the current Linux and starting over, which I think would be very dumb. Usually, rewriting a big software project from the ground up kills it. Mozilla, for instance, ceased to be a viable commercial force because of its rewrite; Microsoft ate it alive. Firefox is doing pretty well now, but no commercial entity could have made that mistake and survived, if selling browsers was its major source of revenue.

    There's a huge amount of embecded knowledge on how PC hardware works buried in the Linux code, and rewriting that whole thing from scratch would be a gargantuan project. They've been working on it for, what, 11 years now? A total rewrite would take at least 3 or 4, during which all forward progress would stop. Just not a very good idea.

    But I think it's great that the HURD is finally moving, at least a little bit. I will admit, I was a bit shocked that after roughly 15 years, they're just now able to load a program. But, hey, it's not like I needed it done last week or anything. :-) And they are, from what I can see, treading very new ground, and that's always slow.

    Reiterating: the more OSes, the better. I just don't think they should start over on Linux itself.

  37. Re:Benchmarks? by Rich0 · · Score: 5, Insightful

    I think his point is that:

    1. Yes - if your filesystem code crashes, you could end up with a dirty filesystem.

    2. Yes - if your hard drive code crashes, you could end up with a dirty hard drive.

    But:

    3. No - if your webcam driver crashes, you won't end up with a dirty hard drive.

    Right now with linux, if a kernel-level driver of any kind panics, the whole thing goes down the tubes.

    Certainly a little compartmentalization can't possibly hurt. It won't fix every problem, but it does prevent a small problem in a non-essential driver from taking down the whole system.

    As you point out, it will still be critical for some pieces of code to just work without bugs at all. However, the amount of that code can be reduced in a microkernel design.

    Also - I don't think TWAIN is windows-specific. I seem to recall using TWAIN on a Mac many a year ago...

  38. Re:Dilbert is bad, very bad. by MightyYar · · Score: 5, Insightful
    This is one of those pieces of writing that is becoming more common today - where a large part of the article is dedicated to some supposed grievous omission in a body of work. Can you imagine being judged on what you hadn't done? From the article:
    Major Issues That Dilbert Rarely or Never Addresses, Although It Certainly Could:

    Um, Dilbert is a comic strip. It is meant to be funny and it attacks some areas of interest to a specific niche of readers. If you think you can address other issues in a funny way, by all means write another comic strip!

    Now, to pick apart his list of things he says are never addressed in Dilbert...

    Export of jobs to cheap labor markets

    Is this guy serious? Hello, Elbonia???? He has clearly not read much of the strip.

    * Union-busing * Corporate Welfare * Repetitive stress injuries, exposure to chemicals and other work-related hazards

    Oh yeah, those are really funny topics that the average geek encounters on a day-to-day basis.... HELLLO, Dilbert takes place in a cube-farm! There is no union in the average cube-farm environment, and when there is interaction it usually leads to a feeling that I would describe as PRO union-busting.

    * Sexual harassment * The glass ceiling for women * Planned obsolescence

    Again, he must not read the strip. Alice's character is there, I think, to humorously depict a woman's experience in a male bastion. Also, I think that they address planned obsolescence sufficently.

    * Cost-benefit analysis defining a finite number of workplace injuries or deaths as acceptable * Pension fund fraud * Tax abatements and subsidies for unnecessary projects

    Jeese... again, just not funny material here. Also, not something that most cube-dwellers will run into except in the newspaper.

    * Blue-collar workers who actually make the stuff that Dilbert designs -- people who, incidentally, face many of the same problems he does, and with far less ability to do anything about it

    Man, alive, this is not a "blue-collar" strip. Again, if this guy wants to make a new strip that targets a different audience, he is welcome to. I don't feel that it is a valid criticism to blame a comic strip, or even any other piece of literary or artistic work, for targeting the wrong audience. Try to restrict yourself to commenting on the content provided. Man, he only has three frames a day! I imagine this guy gets his panties in a bunch over Garfield because none of the characters has ever developed feline AIDS.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
  39. Re:It hurds by halivar · · Score: 4, Funny

    it just took time to emerge

    Damn, those Gentoo guys don't miss a beat, do they?

  40. Why has a GNU kernel been so elusive? by amightywind · · Score: 2, Interesting

    It has always been a mystery to me that so many difficult problems have been solved by so many brilliant GNU teams (gas, gcc, gdb, gld, bfd, glibc, emacs, m4, grub, bash ...) that developing a good kernel has eluded them. The people that have developed these packages are certainly skilled enough. They have also demonstrated tremendous drive. Any ideas?

    --
    an ill wind that blows no good
    1. Re:Why has a GNU kernel been so elusive? by dougmc · · Score: 2, Insightful
      The people that have developed these packages are certainly skilled enough. They have also demonstrated tremendous drive. Any ideas?
      Ultimately, people either write things that they need, or stuff they're interested in. In the case of the Hurd, Linux and 386BSD (and then the other *BSDs later) removed much of the need for a `GNU kernel', so it probably mostly left people who were working on it just because it was interesting.

      And many of those packages that you've mentioned are a lot simpler than a *nix-like kernel, and so it's easier to `get your arms around them' and contribute.

      Hasn't RMS referred to Linux as the `missing' `GNU kernel'? Around the time of the `lignux' fiasco?

      In any event, I see the Hurd as something of an experiment in making a new kernel not because it's needed, but because you can. Linux was in the same boat many years ago, but it became extremely useful pretty quickly. The last I'd heard, the Hurd was reaching the useful stage too, but now that I hear that they've started from scratch, well, I guess it'll be a while.

      In any event, had Linux and the *BSDs not come around when they did, we could all very well be singing the praises of the Hurd on Slashdot now, talking about how it's so much better than the OS/2 that had monopolized the PC OS market ...

      (OS/2 was a very worthy OS, but it just never really caught on. It seemed appropriate to throw it into my bizarro world ...)

    2. Re:Why has a GNU kernel been so elusive? by jonbryce · · Score: 2, Insightful

      A big difference between linux and hurd is that Linus set out to hack something together that would work, based on tried and tested technologies - (ie a monolithic kernel).

      The hurd developers on the other hand set out to create something that is better than anything that has ever been developed before.

      When you consider that, it is not hard understand why linux is one of the more popular mainstream kernels out there, whereas hurd still isn't ready for serious use.

  41. Re:It hurds by mpathetiq · · Score: 2, Funny

    Hopefully I'll evolution to a being that uses HTML properly... dammit.

  42. Re:I just deleted Dilbert from my RSS reader by renderhead · · Score: 2, Funny

    Funny... he's not going to miss you...

    You're all a bunch of whiners. Either the strip is funny, or it's not. If it's not, don't read it and shut the hell up. Boycotting a strip that you're reading for free every day is not going to affect anything.

    --
    I wish that my inferiority complex were as good as yours.

    -RenderHead

  43. Re:Statistics from my slashdotted site by zoomba · · Score: 2, Funny

    So basically you're saying that All Slashdotters use Operating System XYZ and Browser ABC, except for when they don't. :P

    Your statistics have proven beyond a shadow of a doubt that, yes, we use computers and web browsers to view web sites.

    Bravo :)

  44. No. by Ayanami+Rei · · Score: 3, Informative

    The kernel is not implemented as true microkernel. There is seperation, but the message passing is limited to IO request packets that are sent to and from the HAL from (properly written) drivers. The drivers run in the same thread but in a different execution context / ring (IIRC through a "door").
    But drivers that require "fast IO" are running in the same address space as the kernel.
    So while the IORP-using drivers shouldn't be able to take the system down, I wouldn't call it a microkernel exactly.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  45. 1st program? by newandyh-r · · Score: 2, Funny

    ... and I was expecting "Hello world!"

  46. Re:Benchmarks? by Kjella · · Score: 2, Interesting

    Contrast it with systems such as Windows and Linux where drivers are in kernel space and it is impossible to have a stable or secure system with poor drivers, and in fact most of the problems with Windows and Linux crashing is caused by buggy drivers running in kernel space.

    And that's also why drivers in Linux (at least in my experience) are far superior and "just work". Seriously, I don't want my GFX card/network card/printer/webcam/whatever driver to crap out at any time, only to get "just restart it". Yes, they're buggy to begin with, and they take the house down, so you fix them. If I understand it correctly, the HURD kernel would have a fixed driver interface (being in its own keyspace and all), and what would that get you? Buggy closed-source drivers. Exactly what Linus is against, and mostly for good reasons.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  47. motivation matters by jeif1k · · Score: 2, Insightful

    Yes, the BSA is making sure copyrights are respected, and that indirectly helps the open source licenses. But the BSA has been hostile to open source, and the more open source catches on, the more power the BSA loses.

    The Dilbert cartoon does make one wonder about Scott Adam's attitudes towards issues of copyrights and freedom, and that is a justifiable reason to criticize him if it is true. That he indirectly and accidentally may or may not have a short-term positive effect on open source licenses doesn't matter.

  48. To Intel engineers/who's interested by master_p · · Score: 2, Interesting

    Microkernels would be helped tremendously if 80x86 CPUs did not only have rings but also regions...because a faulty driver can write to anything inside its ring and lower-priviliged rings.

    The ring protection should have been inside the page table. A page descriptor has enough room for that. It should have been like this:

    Page Descriptor with Ring Protection:

    bit 0: page present/missing
    bits 1-3: other
    bits 4-5: current ring
    bits 6-7: Read ring
    bits 8-9: Write ring
    bits 10-11: eXecute ring
    bits 12-31: page frame

    So in order for some piece of code in a certain page A to read from another page B, it should be that A.page_ring = A.read_ring. The same goes for write and execute access.

    This mechanism has many advantages over the current one:

    a) ring protection is per page and not per segment. Segments become totally irrelevant for protection.

    b) there is no need for ring gates. A process in ring 3 can execute code of ring 0 if the kernel page allows it. There is also no need for special instructions like 'syscall'.

    c) higher-privileged code can have const data be read from lower-privileged code.

    d) device drivers can easily be isolated from the kernel.

    e) there is no need for special 'virus' protectiobn bit, since executable code can have write ring set to 0 and execute ring to 3 (which means an application can not execute data).

  49. timely by iggymanz · · Score: 2, Interesting

    These microkernels running services make much more sense on a processor with multiple cores - the main problem on a traditional "single-threaded" processor is there is way too much OS overhead 25-30% with the microkernel strategy, compared to a monolithic kernel. So in 5 to 10 years, as the HURD moves forward galacially like the plot to Dr. Who, this will be a good foundation for the new generation of processors.

  50. Re:Benchmarks? by buraianto · · Score: 2, Informative

    "Mozilla" (Netscape) wasn't killed because of the rewrite. They were killed because version 4.7x sucked, and they couldn't compete with free as in beer.

    The article isn't saying that they could only just now boot HURD, it is saying that they moved from the Mach microkernel to the L4 microkernel, and since the move they have just been able to run programs.

  51. Re:Benchmarks? by braindead · · Score: 2, Informative
    The compartmentalization you're talking about is actually in development now. See the Nooks project at http://nooks.cs.washington.edu/ they have code there that you can download for Linux, which allow your kernel to survive a driver crash.

    I think it's really nice how Linux, by making the code accessible, allows smart people to improve it in ways that were not originally in the plan.

  52. Can't anybody over there write an OS? by Animats · · Score: 2, Informative
    These guys started with L4, which been used to run a modified Linux for years. About a half dozen other operating systems have been ported to run on top of L4. So it's not that big a deal.

    The Hurd website, wiki, etc. haven't been updated in years.

    At a more fundamental level, there's a design disaster in the making here. L4 seems to make the same mistake Mach made with interprocess communication - unidirectional IPC. This design error is called "what you want is a subroutine call, but what the OS gives you is an I/O operation". This is a crucial design decision. Botch this and your microkernel performance will suck.

    QNX gets it right - the basic message-passing primitive is MsgSend, which sends a message and blocks until a reply is received (or a timeout occurs). The implementation immediately transfers control to the destination process (assuming it's waiting for a message), without a trip through the scheduler. That's crucial to getting good performance on real work from a microkernel.

    Mach botched this. Mach IPC is pipe-like, with one-way transmission. And that's a major reason Mach was a flop. (Note that the version of Mach used for the MacOS isn't the final "pure Mach", it's a Berkeley BSD UNIX kernel with Mach extensions.)

    Why does this matter so much? Because if send doesn't block, when you send, control continues in the sending process. Later, presumably, the sending process blocks waiting for a reply. But who runs next? Whoever was ready to run next. If you're CPU-bound and there are processes ready to run, every time you do a message pass, you lose your turn and your quantum, and have to wait. So programs with extensive IPC activity grind to a crawl on a loaded system.

    But if message passing is tightly integrated with scheduling, a message pass doesn't hurt your thread's CPU access. Control continues in the new process with the same quantum (and in QNX, the same priority by default, which avoids priority inversions in real time work). Now message passing is only slightly more expensive than a subroutine call, and can be used for everything.

    There is a big literature about Mach, Minix and related underperforming academic microkernels, while the key architectural details of the commercial microkernels that work (basically QNX and IBM's VM) aren't well publicized. But you can dig the information out if you work at it.

  53. Re:"mafia tactics" by cvdwl · · Score: 2, Interesting
    "Mafia tactics": you pay us or we hurt you physically.

    BSA tactics: you pay them or we hurt you financially.

    Yes, the BSA is enforcing legal licenses (albeit, IMHO, draconian, and legal only under our current business-subservient patent system), but otherwise it really is the same thing. The mafia provided a service; a group of thugs wouldn't drop by and ruin your business. The BSA prevents a group of lawyers from stopping by and ruining your business.

    The cost of litigation, even when you are in the right, is a far more dangerous weapon, in this business climate, than a baseball bat. A lawyer can impoverish you for years, a baseball bat is likely just to involve some transient pain and medical expenses.

    --
    ... grumble, grumble, grumble, mutter, mutter, Millenium... Hand... Shrimp, I tol' 'em, I tol' 'em.
  54. Re:Confused by jaoswald · · Score: 2, Insightful

    He's saying that he wants drivers that don't crash, but microkernels that allow crashing drivers to "just be restarted" lead to a permissive atmosphere, in which driver writers don't care if their drivers crash or not.

    His contention is that in a situation where a crashing driver kills everything, driver writers are much more careful, and crashing drivers are not accepted by users.

  55. Re:Linux Driver Portability by forlornhope · · Score: 2, Interesting

    Yes, there is a research proposal on the subject of creating a compatibility layer to run Linux drivers directly in HURD user-space. They are actually thinking about making that the default or using OS-kit or making their own driver infrustructure. I think in the end youll see both the Linux drivers and the OS-kit drivers with OS-kit being the perfered. But this is all from memory and I'm too lazy to look it up.

    --
    "We Don't Need No Truthless Heros!" - Project 86