Slashdot Mirror


GNU/Hurd Gets POSIX Threads

An anonymous reader writes "Neal Walfield announced the first release of RMGPT, which is (or rather, aspires to one day be) a complete, portable implementation of IEEE Std 1003.1-2001 threads also known as POSIX threads. With this new pthreads library, it will soon be possible to run complex software packages on the Hurd, including the GNOME and KDE desktops, the OpenOffice suite, and the Mozilla web browser. Find more information here, including the humorous meaning behind RMGPT, and insight into a future Hurd release..."

19 of 382 comments (clear)

  1. Given the amount of work ... by gowen · · Score: 4, Funny

    ... that POSIX put in defining this standard, and how much extra functionality this library introduces, should we not refer to the OS as POSIX/GNU/Hurd.

    We don't want to downplay their involvement now, do we?

    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:Given the amount of work ... by ajs · · Score: 5, Funny
      I'm sorry, this is getting way too complicated. Clearly, what is needed is an XML format for describing such things. Observe:

      The operating system formerly known as, GNU Hurd is now:

      • <os derived="unix" derived="mach">
        • <kernel name="Hurd"> <distribution name="GNU"> <distribution name="Debian"> <contributor name="POSIX" description="threading, apis"> <contributor name="K&amp;R" description="programminglanguage"> <contributor name="Linux" description="actually running, and proving to the world that free software can produce an OS"> ...
        </os>
  2. Slashdotted! by PhoenxHwk · · Score: 4, Funny

    Warning: Too many connections in /prod/www/virtual/kerneltrap.com/www/htdocs/includ es/database.mysql.inc on line 7 Too many connections

    Oh my, looks like the server needs more POSIX/GNU/HURD threads itself :)

  3. Darwin and MkLinux? by Henriok · · Score: 4, Interesting

    What is the relationship between GNU/Hurd, Darwin and MKLinux? All is based around a Mach-kernel. Are there any familiarity between them that have any relevance? Does the continuing work on Darwin and GNU/Hurd benefit from one another, and if so, in what respect?

    --

    - Henrik

    - when the Shadows descend -
    1. Re:Darwin and MkLinux? by Arker · · Score: 4, Insightful

      You aren't the first to think that was odd. I've been interested in that question myself for awhile. I'm no authority, but I'll pass on what I've learned. First Matthias' post is fairly accurate with one major exception. He wrote:

      Software enginiering. Even if you compile everything in the same address space, it makes sense to separate functionality. This way, you keep a nice design, but do not pay the performance price for context switches.

      Right so far, although I'm sure that Linus, among others, disagrees with the notion that you can't do even nicer design in a monolithic kernel if you pay attention.

      BTW, what Apple has done with Mach is basically the same way MS went with NT (yes I know this week they call it XP, but I don't feel any obligation to obey the dictates of their marketing department so I'll keep calling it NT thanks,) starting with a microkernel but then moving certain systems back into kernelspace for performance reasons.

      Also separated address spaces do not reduce the chances of a kernel crash. Even if the BSD layer was in its own address space, a crash would still bring down the Mach kernel, as part of the BSD layer handles disks and so swap devices.

      Here's where I think he's wrong. What he's describing here is how it works in Darwin (and NT) yes, but only because they moved those systems back into kernel space. But the way it works on a proper microkernel system (like the HURD) doesn't just run these things in a separate address space but at a different privilege level, so instead of crashing the kernel you simply crash a daemon and have to restart it. This does mean drawing the lines a little differently than they have, of course.

      You wrote:

      Darwin is Mach and the BSD kernel merged together. They both live in kernel space. So why are they using Mach? I dunno.

      OK, my best guess is that it's simply a historical relic. When Jobs started work on NeXT, it was damn near universal opinion in CS that Microkernels were the way to go, so that's the way he had it done. NeXT, of course, went bankrupt, and was bought at fire-sale prices by Apple, which has now reworked that system into OS X. At no point along the way did it seem clear to the development team that there was any compelling reason to build a new core - the performance problems are minimised by violating the 'microkernel ethic' and moving the personality into kernel space, without actually rewriting the kernel from scratch. So there you go... probably not the way they would write the thing if they had to start over from scratch, but they don't, and it's good enough. Software development is like organic evolution in that way, even though people usually misquote 'survival of the fittest' what Darwin (as in Charles Darwin) actually said was 'survivor of the fit' - it doesn't matter if something's optimal, as long as it's good enough.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
  4. acronym by Anonymous Coward · · Score: 4, Interesting
    The site is kinda slashdotted. Here's the explanation of the acronym:



    Regarding the name, RMGPT, Neal explains, "Most new program names are a bunch
    of letters stuck together. Only later does it become an acronym and the words
    become bound. This is boring; each new release of RMGPT will offer a fresh, new and
    exciting expansion of the 'acronym'." For this first release, RMGPT stands for
    "Rubbish, I asked for mine with Minced Garlic, Please Take this back".

  5. an excerpt by Anonymous Coward · · Score: 4, Informative
    here's an excerpt:


    Neal Walfield [interview] announced the first release of RMGPT, which "is (or
    rather, aspires to one day be) a complete, portable implementation of IEEE Std
    1003.1-2001 threads [also] known as POSIX threads." I was excited to read Neal's
    announcement email, as this is a big step forward for the GNU/Hurd project. With this
    new pthreads library, it will soon be possible to run complex software packages on the
    Hurd, including the GNOME and KDE desktops, the OpenOffice suite, and the Mozilla
    web browser.

    Regarding the name, RMGPT, Neal explains, "Most new program names are a bunch
    of letters stuck together. Only later does it become an acronym and the words
    become bound. This is boring; each new release of RMGPT will offer a fresh, new and
    exciting expansion of the 'acronym'." For this first release, RMGPT stands for
    "Rubbish, I asked for mine with Minced Garlic, Please Take this back".

    Neal was kind enough to answer a few questions about his pthread efforts. Read on to
    learn more...

    JA: What does this first release of a POSIX threads implementation mean for the
    GNU/Hurd project?

    Neal Walfield: Beyond adding another important, commonly used interface, I think
    that a pthread implementation represents a large step forward in the public eye: we
    should soon have many more major software packages including GNOME, KDE,
    OpenOffice and Mozilla. The perceived lack of support for complex software was
    often assumed to be a result of a general lack of maturity on the part of the Hurd itself.
    In certain respects, this is correct: until now, there was no pthread implementation;
    there are still limits on the maximum size of file systems; and Mach only supports a
    limited amount of hardware. On the other hand, the Hurd was not designed to just
    clone an existing interface; the goal was to study what was available, explore the
    flaws and then redesign it. From this perspective, I think that Hurd has been very
    successful: the translator concept is incredibly powerful and flexible; and security
    wise, Unix just cannot compete.

    JA: You say that RMGPT aspires to one day be a complete, portable implementation
    of IEEE Std 1003.1-2001 threads, also known as pthreads. How complete is it today?

    Neal Walfield: With respect to the pthread interface, all of the prototypes are present;
    implementation wise, I think that we are about ninety percent done. The last ten
    percent consists of advanced scheduling features (e.g. mutex priority ceilings) and
    process shared resources (the ability to share, for instance, a mutex between multiple
    processes just using shared memory). Neither of these are terribly important from a
    usability perspective as not many applications take advantage of them, however, I am
    interested in implementing them. I think that the ABI should remain stable. I am
    relatively confident that the data structures are flexible and expandable enough to
    cover most future changes.

    There are also bugs, however, the implementation seems to be relatively stable under
    normal application load. Several people have compiled some different packages over
    the past few days and they seem to be crashing of their own accord, not pthreads'.

    JA: How long before you expect RMGPT to be fully completed?

    Neal Walfield: The goal right now is to stabilize and get some people to test the code.
    Then we can concentrate on finishing the scheduling and process shared attributes
    and worry about optimizations. It should be integrated into the Debian unstable system
    some time this week. Applications will follow.

    JA: How did you come up with the ever changing acronym RMGPT?

    Neal Walfield: Take, for instance Perl and UVM: the authors are victims of their own
    genius: even though they stated that the name did not mean anything in particular,
    people have tried to guess what their real intentions were thus, de facto interpretations
    have come into use. I am blatantly telling everyone that it RMGPT will have a new
    meaning every release: life does not get any simpler. Plus, it will be less stress for the
    users.

    JA: How close now would you estimate the GNU/Hurd is for another official release?

    Neal Walfield: Getting closer everyday. In fact, I hope that by this time in October,
    we will be a whole month closer.


  6. Re:The HURT by Lendrick · · Score: 5, Interesting

    Developers! Developers! Developers! Developers! Developers! *gasp, pant, pant* Developers! Developers! Developers!

    The problem, I think, is that people really haven't taken a whole lot of interest in it so far, because in general it doesn't really do anything that Linux doesn't already do better.

    On the other hand, if it's really going to be able to run modern desktop environments now, perhaps people will start taking a bit more interest in it, and then developers will start to show up. I think it's just a matter of reaching critical mass.

  7. Re:My apologies to RMS by jbailey999 · · Score: 5, Informative
    The core design of the Hurd still isn't in use by any Free OS out there. The idea is to have as much as possible sit in userspace, and to have "translators" that allow any user to add hooks into the filesystem (making cool things like ftpfs and nfs possible without requiring root, and without requiring the sysadmin to install it for you).

    If you're interested, take a look at Towards a New Strategy of OS Design - It explains what we're doing different with the Hurd, and what the core servers are used for.

    Tks,
    Jeff Bailey

  8. Re:necessary flame by Anonymous Coward · · Score: 4, Funny


    These guys. I think that's all.

  9. Hurd is a multi-server by Per+Abrahamsen · · Score: 4, Informative

    The idea of a microkernel is to have multiple seperate servers running on top of it, providing some clear seperation between different parts of the system. Hurd is the only one of the three that does this, MkLinux and Darwin are both implemented as a single monolithic server on top of the Mach microkernel.

    Also, they are based on different versions of Mach. I believe Darwin is based on 2.5, MkLinux on 3.0 and Hurd on 4.0 but don't quote me on that.

  10. Re:The HURT by DrXym · · Score: 4, Insightful
    Ironically, HURD was around even before Linux was started. I suspect the reason Linux took off and HURD didn't has a lot to do with the leadership and goals for each project. Linus realizing that if you write a practical kernel 'they will come' and so they did while HURD well, just languished and wallowed in microkernel correctness hell.


    Ten years later and HURD still isn't practical (what's the big deal I wonder) while Linux can drive anything from palm devices to super computers and mainframes.


    It's no wonder RMS is so bitter and twisted these days :)

  11. Re:My apologies to RMS by Kilobug · · Score: 4, Interesting

    I won't even go into the overhead inherent in a micro kernel message passing architecture.

    That, and rest, means you are not aware of the research done in the last 5 or 10 years in the field of micro-kernel, with what we called the 'second generation micro-kernels', like L4. The cost of "message-passing" (or IPC to use a correct term) can be minimised and reduced by a factor of 10. With fast IPC, a lot things become possible, that are not in monolithic kernels, and even in many micro-kernel based systems. Look at some papers on http://www.l4ka.org/publications/ for more informations.

  12. Re:The HURT by DrXym · · Score: 4, Insightful
    The thing is that HURD had a big head start over Linux. The fact that it never attracted developers is IMHO in no small part to the perceived political nature of the FSF and RMS.


    Development is meant to be fun and Linus clearly put that and pragmatism ahead of the stupid pigheaded politics that the FSF (& RMS) is associated with.

  13. Re:Marx would be proud by Havokmon · · Score: 5, Funny
    Warning: Too many connections in /prod/www/virtual/kerneltrap.com/www/htdocs/includ es/database.mysql.inc on line 7
    Too many connections

    Socialism at its finest. .NET servers wouldn't have this problem.

    Good point. A .NET server would say, "Not enough licenses."

    --
    "I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
  14. Re:My apologies to RMS by Ektanoor · · Score: 4, Informative

    Hurd is an OS with a much more "correct" architecture ideology than Linux and BSD. In its core it is much more universal and modular. Unfortunately, there is a huge gap between the paper and reality. The way it has been developed showed many HURDles among the GNU community. The more lavish, intellectual and less pragmatic approach to development made HURD a pariah. That's why Linux came up and ran over it. Being a traditional monlithic kernel that nearly carried all the ills of a 20 year kernel ideology, the penguin won just by being more closed to Earth.

    However I hope that one day HURD will be able to hit the stands. It has been a pitty to see such a good idea living such a sad life. Frankly, we have been quite poor in kernels for the last years...

  15. Re:My apologies to RMS by gmack · · Score: 4, Insightful

    And they wonder why more people Listen to Linus ...
    Linus is not for free software? Then why the hell did he release his code under the GPL?

    No. Non-Free software is NOT needed to devlelop Linux. Linus and the bitkeeper folks have gone our of their way to make sure that it's even easier to sumbit patches the old way than it was before. And as he has stated he is willing to consider a free tool instead of Bitkeeper should one become as good.

    And if you read his book he explains that he in fact tried calling it GNU/Linux for a bit then gave up realising that even he can't fight what's become the defacto naming standard.

    Linus has done more for free software than the GNU folks want to admit. How many people would even be using free software if not for Linux?
    I wouldn't be.. "hey lets lose the useabillity battle but we can still win the war?"

    The fact that stallman has been moved out of the spotlight is pretty much his own doing. Reporters tend not to like people who side track press confrences to argue over naming.

    Linus on the other hand had to be coerced into having a book done and has a notable dislike for politics and correctness. I never see him grabbing the spotlight from someone else and demanding attention.

    While the GNU folks were busy trying to fight the whole battle at once and having press confrence Linus managed to build a working kernel and kickstart the free software movement.

    Yeah I run non free software from time to time.. no I don't like it. But I'd rather run one or 2 non free apps than be forced to use windows on my office desktop and run ENTIRELY non free software.

    I'm all for the free software ideals and I know it will bring a better age of software if it manages to take over.

    But seriously.. lets fight this one battle at a time and spend less time arguing views. Buisness seem to have an apathy for ideals.

    Linus pragmatic approach has brought the entire movement into the public software and he deservs more respect than he has been getting from the GNU people.

  16. new scheduling terminology too... by Polo · · Score: 5, Funny
    In addition to a new acronym terminology, I think he's created a wonerful new paradigm for scheduling too:
    JA: How close now would you estimate the GNU/Hurd is for another official release?

    Neal Walfield: Getting closer everyday. In fact, I hope that by this time in October, we will be a whole month closer.

  17. Re:Easy to separate HURD and Linux by gnu_wolfgang · · Score: 4, Interesting

    Hi! I don't think any of us is working on the Hurd "because RMS says so". The Hurd already provides many things that other systems will never be able to to. I love being able to add root privileges to a running Emacs when I quickly want to edit a system, configuration file. This is possible on GNU/Hurd, as are many other cute thinks. Cheers, GNU/Wolfgang