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..."
... 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.
Looks like the Hurd server collection is starting to lift off. Since Debian is working on Debian GNU/Hurd, and now this new ability, all the Hurd developers need is some more driver developers.
:)
If they get that Hurd will start to become a world usable kernel, and it's always good to have some competition in kernel land
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
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 -
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".
I think you'll find that it's 'dog eat dog'...
But, I don't see the point. In the beginning Hurd made sense but, it floundered for so long that it has been eclipsed by Linux and the BSDs.
Without being insulting, I'd just like to ask, what's the point of putting further effort into the Hurd, rather than concentrating on advancing Linux and or the BSDs?
Same reason there isn't just one distro, or there is even Linux in the first place:
Choice.
Besides, since you're pretty much -1 Flamebait after the first paragraph, I'm not even sure why I bothered to make sure to bring this point up...
CAn'T CompreHend SARcaSm?
Yeah, but equally you could say "Why didn't all the Linux developers join the HURD project".
It's good to have variety. I don't care if Windows gets destroyed or not. It's rubbish, but I don't care, I don't want to see billg thrown to the lions, I just want to use softs that don't suck.
Sooner or later, we will have machines that work properly - and it might even be that the HURD is the first one to get there.
Fitness through diversity, my friend.
Justin.
You're only jealous cos the little penguins are talking to me.
You seem to not understand the concept of a volunteer. They can work on whatever project they like.
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.
There are numerous very fundamental differences between Hurd and Linux/*BSD.
As for rallying around Linux, that would also be a bad idea. If you know anything about software development, youll know that the progress of a project is NEVER proportional to the number of developers. Infact, often its inversely proportional.
Also, there are a range of applications for which I would not consider Linux but would consider FreeBSD ideal.
I dont think this is a wasted effort by any stretch.
loply.com
IANAKG (i am not a kernel guru), but as i understand the Hurd is running on top of Mach which is a microkernel. This is supposed to have some (at the moment still theoretical?) advantages such as running drivers in user space (and some potential speed improvements??).
I believe the idea is to replace Mach in the end by the more advanced L4 kernel, which is an area of active research.
karma police: arrest this man, he talks in maths; he buzzes like a fridge, he's like a detuned radio. [radiohead]
Here is another one
Is it just me or does the GNU/HURD icon bear a startling resemblance to South Park's Mr. Hanky?
yea i stole your sig- whats the big deal, it sucked anyway.
These guys. I think that's all.
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.
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
The main thing is that Linux, HURD, and the BSDs have different fundamental designs. Nobody knows which design is the best, or even if there is a single best design (maybe each of them is better for a different sort of load). It would be a problem if everybody used a design that turned out not to be very good (imagine if, in order to make Linux run well on the hardware people will have in two years, it had to be turned entirely into HURD).
Furthermore, there's no reason to think that Linux development would go better with more people. Linux is on the border of being a large project with all of the management problems that causes. Linux development is actually helped most, probably, but the existence of separate projects which try different approaches, so that Linux developers can then look at the results and consider different techniques.
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.
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)
does the GNU/HURD icon bear a startling resemblance to South Park's Mr. Hanky?
It might, but that's not even close to what was intended. It's a baby GNU. Slashdot uses the "GNU" topic mostly for HURD stories and for GPL violation stories.
Will I retire or break 10K?
Yeah, and he had to write his own C compiler, C library, assembler, linker and text editor to do it, didn't he?
From every interview where he lamely refers to Linux as GNU/Linux and insists everyone else does too.
This is a userspace library implementing Posix threads. Linux, I might point out, doesn't natively implement pthreads in the kernel. You might also consider that Hurd's design isn't monolithic, so of course there's not going to be much in the kernel. Please go read up on things before you flame them. This may be /., but it doesn't give you full rein to be clueless ~_^
... ;_; )
(By the way, sorry to burst your bubble, but MORE PEOPLE THAN LINUS WORK ON LINUX. Most of the really fun threading stuff has been in Ingo's domain, of late. I really need an old, cheap computer to run 2.5 on and hack around
You see, the only way for non-Windows to beat Windows is for every single person to create their own operating system with slightly different interpretations of the standards. Once this low-level heterogeneity exists, software companies will need to create slightly different versions of each of their products to sell to us (or we could each create our own IRC client, calendar app, webmail frontend, etc). This virtually guarantees our freedom as well as making us immune to virii and girlfriends.
Unless, of course, there aren't ANY developers, in which case it is directly proportional. ;)
bytesmythe
Hypocrisy is the resin that holds the plywood of society together.
-- Scott Meyer
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
I think you need to review history. Once Linux released his kernel the Hurd group changed their focus. With the Linux kernel, the BSD kernel and the Darwin kernel going strong today why is another kernel needed quickly? Rather what is going to be needed is a kernel that has worse performance but is far more easily modified than any of the above kernels. That's always been the goal of micro kernels to take a performance hit in exchange for substantial reductions in programmer effort in the same way that moving to structured code and then object oriented code replaced/is replacing unstructured code over a period of many years
Hurd is targetted much more for 2015 then for 2005.
From what I have read, the HURD tries to go to a direction that no other O/S has gone before. This is good because innovation is needed, but they should get rid of all the notions of the past: processes, filesystems, users, groups etc. all these things are for O/Ses of the past. A computer is primarily a deposit for information. We put information in it, we exctract information from it, we process information (and we play games!). They should do the following design: each computer shall have a global tree of information nodes, where as each information node can act as a repository for other information nodes. The system shall be object-oriented, where each node has a specific interface that must implement. Each information node will be an object with all OO shit on it: property querying, run-time type id, message passing, etc. If you sit down and think of it, everything is an object and a repository: there are files, some files are databases, some databases contain records, some records contain entries...an executable contains code, data, resources...a font contains metrics...a window contains other windows...a network contains other computers...etc. By ditching the notion of 'program/task/process', we can get rid of re-usability once and for all. Let me describe an example. Let's suppose that I want to make a bitmap processing application. Here is the traditional way: 1) design the gui 2) find/implement some lib which manages most formats 3) implement a nice C++ framework for working with those formats 4) implement drawing and other operations Here is the new way: 1) use the global 'Bitmap' class as an interface for manipulating bitmap objects; jpeg, tiff, and other formats know the internals of themselves; all I need to know as a programmer is the bitmap API: draw line, put pixel, get width, get height, resize, etc. Suppose that I wanted to search for a photo which is like another photo, possibly with some pattern matching. With traditional operating system: 1) must use special program 'cause I can't do this operation on the system level 2) must use database 3) must use digital imaging app 4) most propably I will not have all this so I will do it by hand The new way: 1) having a handle to the 'bitmap' in hand that I want to compare with, I scan the object tree and call operator '==' for each bitmap. Or use an API like 'patternMatch' which is common to all 'bitmap' types. Another example: lets say I want to browse my MP3 collection for songs of a specific artist The traditional O/S: 1) can't do it (well, except on BeOS) The new O/S: 1) search and return a list for all objects that are subclasses of 'mp3' and where 'artist == Madonna'. Only one browser whould be needed. Custom browsers could be embedded within a master interface. An app could be one object with all its data (code, resources, dlls, etc) in one object repository. The HURD follows some of the above logic, but not completely. They are trying to implement traditional things (filesystems, proccesses, etc) but with a microkernel architecture. But this is not a big deal, because monolithic kernel customization has become very easy, even for non-programmers. They should be doing something for the future.
Having said that, most "start over" projects are massive failures, or that end up just as ugly when they implement all the same kludges to work around issues they thought they wouldn't have, but given that you're talking about volunteers that are looking to do stuff new and fun, I'd expect there to be a burgeoning industry of "Super Duper OS" type projects.
There are, for the record, a few notable exceptions to this... Mozilla being the most prominent. If you measure success solely on how well their program works, then the Mozilla Project has been very successful. They've created a browser suite built on top of their own open development platform, and this development platform is now being used by other people to build more applications on top of Mozilla.
Unfortunately, what these massive, ambitious rewrites usually cost is time. If you measure success solely by user adoption rates, then Mozilla is a dismal failure. (I should point out that I use Mozilla as my primary browser, and love it.)
Hurd may very well turn out to be the ultimate OS kernel, but it spent so long in the vapor stages that people don't take it seriously. It may still gain a foothold, but there's a long road ahead.
I've always found myself intrigued by that fact that Windows NT has a POSIX subsystem. However, security folks always tell you to disable it so I've gotten the distinct impression it isn't really used for anything (I've never personally seen a program that uses it.). Now this post comes along and it becomes obvious to me that POSIX is a big deal in the UNIX-like-OS world. Did MS just screw up their implementation or is it something potentially useful that nobody happens to use? TW
I think the problem is that it is so boring (and sometimes difficult) to program all the drivers that are needed. Hell - if I could magically interface with all my hardware, I would have made my own superduper OS (based on "naughty", my own semi-interpreted LISP-ish language) a long time ago.
Opinions stated are mine and do not reflect those of the Illuminati
When that last one happens, the shit will hit the fan for Microsoft
At this point in time I think we all must sit back and ask whether GNU/HURD is *really* useful or just an overextended ego trip. Remember this story.
-Sean
Since Hurd is a GNU package then it should not be GNU/Hurd. Instead we should use GNU Hurd. Since Linux is not a GNU package then it is referred to as GNU/Linux. For more details see the FAQ.
JOhn
Campaign for Liberty
Check this one out:
n -g uide/english/hurd-install-guide.html
/servers/socket/2 /hurd/pfinet -i eth0 \
~ /hurd/hurd/TODO?rev=HEAD&content-type=text/pla in
http://web.walfield.org/papers/hurd-installatio
"The Hurd can only support partition sizes of up to approximately one gigabyte; anything much larger than this will not work. This limitation is a design decision that was made several years ago in which the file system server maps the entire partition into virtual memory."
As an example of the braindead design that went into the HURD: To configure the network here is the command you have to run:
"# settrans -fgap
-a a.b.c.d -g e.f.g.h -m i.j.k.l"
Not to mention the fact that HURD has just gotten thread support. Give me a break. HURD was started long before Linux and it still hasn't made it to Linux Kernel 2.0 levels of compatibility. This is nothing less than pathetic. Why does the free software community continue to waste their time on these projects?
From http://www.gnu.org/software/hurd/faq.en.html
Heres another Filesystem quote:
"The filesystem servers need to be changed to not map the whole store into memory, which is not too difficult. For large files, some interfaces need to be changed, which is a bit harder but still doable."
On the todo list http://savannah.gnu.org/cgi-bin/viewcvs/~checkout
For nfs:
"Implement async I/O"
On FileSystem Support:
"Filesystem implementations (using libdiskfs) for other popular formats. Importantly, MSDOS FAT format."
So does anybody wish to tell me that all is good and well in the world of HURD? I've already been modded down into oblivion for this post which is sad considering just how bad off HURD really is. Just because its free or open source software doesn't make it good.
J
I love idealists not because I am one, but because they make life bearable for pragmatists such as myself.
Look, even I think that FSF politics can be a hinderance, but saying that FSF politics caused Hurd to fail requires that you overlook a massive, massive project that was nevertheless very successful: GCC. I think that we should probably try to find why it failed elsewhere (for example, its emergence as a microkernel design just as microkernels were being declared a failed experiment due to Mach's poor task switching).
Much as I hate to say it, the two are lightyears apart.
Hurd isn't really usable, unless you're doing it for the pure diehard ideology of it. It isn't technically notable (at least at the current time) and doesn't even begin to compare to Linux from a performance point of view.
When you see an announcement about Linux, it's usually something along the lines of "new major feature annouced that makes Linux better at foo than operating system baz". With Hurd, it's usually "Basic UNIX functionality foo now works, sometimes, assuming you don't push it too hard".
There are a lot of (better) kernels out there. BSD. Linux.
Frankly, the only people that get excited about Hurd are the uber hard core FSF folks.
With luck, in six years the Hurd might be up to where Linux is today.
Finally, one last point: the main reason Hurd exists is so that Stallman can slap the FSF's "GNU/" on top of an OS. It isn't to address some specific technical failure of Linux.
May we never see th
Why not call:
The kernel "Linux", since that's what the kernel makers call it.
The distro whatever the distro maker calls it: "Red Hat Linux 8.0".
The POSIX utilities whatever their authors want to call them: "GNU grep".
Emacs whatever the emacs author wants to call it: "GNU emacs".
If everyone just named things what their *creator* wanted them called, life would be a lot simpler. It would also get rid of the stupid GNU/Linux debate.
May we never see th
Can anobody explain what are the benefits and drawbacks of an exokernel based system compared to a microkernel one? From what I understand, both are similar in that they have a minimal kernel. The difference is that microkernels use daemons to provide services to client programs while exokernels have the same functionality in user space libraries. At least exokernel advocates seem to be saying that exokernels are quicker than microkernels (and potentially quicker than traditional monolithic kernels too) because there is no need to context switch when you need system services. And microkernels need some kind of IPC to communicate with the daemons, which adds even more overhead, right?
Do people really find this funny? Now I understand how dreck like Will and Grace and Red Dwarf get made
Bottom line is that both of them and their "followers" (if this term can even be used in this context) have done a lot for free software. The RMS camp will continue to exert an important influence within the community and their work will be highly valued, but as you say "business seems to have and apathy for ideals."
Pragmatism is very important for bringing useful things into the market quickly, and naturally that is where many people are coming from. On the other hand, in the long run, ideas (and ideals) do matter.
It is important that the GPL is widely adopted, and there isn't a lot of confusion from variations on license terms, but that doesn't mean you should get religious about it. In the long run, these things will settle out, and they already are.
The microkernel ideas behind Mach and all of its derivatives are an important advance in Computer Science, and the HURD project is where these ideas are being devoloped in full. They are not ready for full scale deployment, but when they are, they will be adopted quickly. That is the beauty of a single clear Free license (GPL), because there is no reason that these two projects can't exchange large pieces of code. If the Linux team wants to pull in the HURD microkernel in a major release cycle, there is no licensing issue. The only issue is whether it make technical sense. Nobody should worry that the HURD doesn't have many drivers, since it should be possible to import drivers from Linux. In fact it should be possible to import them wholesale if the interfaces can be matched.
Hi! Well, GNU Mach 1.x uses the drivers from Linux 2.0, OSKit has the driver support from Linux 2.2. We support the most common stuff, but some things are completely missing, like sound card drivers. So the hardware support is nothing to be proud of, and is also not of high priority, as it is strategically better to care about the core components first. As long as it is possible to run the systen on most computers, of course. :)
Cheers,
GNU/Wolfgang
for instance CSP has a reasonable theoretical foundation and is infinitely nicer to program with than those locks and semaphors invented in the '70s...
here's a brief history and more accessible explanation. plan 9 has a nice C implementation.
so much nicer to program with!
For example, on Linux, there are very few drivers that are shipped separately from the kernel. Lots of hardware can only be used if you pull over the kernel source tree, patch it, recompile it, and install it. That makes it unusable for many potential users and applications. Even for people who know how to do that, it's a big pain. Similarly, there are many things people would like to do with networking, file systems, and other kernel functions that are just hard to do in Linux.
I don't know whether the Hurd addresses any of these issues. But there is definitely a need for more kinds of free kernels. We shouldn't be locked into a single approach to free kernels.
Well, it's certainly not the microkernel that's holding things back. BeOS and Mac OS X both use microkernels. There were UNIX emulators for Mac OS Classic running on Mach, and MkLinux had a Linux kernel running in user-mode on Mach on both x86 and ppc platforms before any of this User Mode Linux business.
though I am finding the impersonations fucking hilarious, you probably want to make this at least a somewhat useful discussion. I would advise that you get a throwaway account and email the Editors from your GNU address to let them know who's who. Just a thought.
sulli
RTFJ.
As for gcc, I think the project leadership and necessity gave the drive for its development. Even so, gcc has been stuck in the mud for a long time too. I'm looking forward to trying 3.2 which is long overdue.
And it's not some unimportant parts we're talking about here. Massive chunks of Linux which make it a useful operating system are non-FSF and often non-GPL, this list would include the kernel, MySQL, Perl, Python, OpenSSH, Apache, XFree86, Mozilla, Ghostscript and more. Some might *use* the GPL but the copyright most definitely isn't FSF. I think it is utterly indefensible to tar the lot as GNU/Linux.
No one is denying GNU/FSF authors their credit or recognition - they should get it in the same way as the rest of us. There is no need for this outrageous and selfish glory grabbing. If RMS wants a wholly and holy GNU operating system he should pull his finger out of his arse and ship HURD. Until he'll have to make to with Linux which is a blend of all kind of copyrights and licences.
In 2001 he shared the Takeda award, with Linus Torvalds, and Ken Sakamura. Stallman's share was worth approximately $268,000.
It says here that Stallman also received the Grace Hopper award from the ACM, in 1991. In 1998 he shared the Electronic Frontier Foundation's Pioneer award with Linus Torvalds. And in 1999 he received the Yuri Rubinski Award. I don't know if these awards have any cash component.
Even though he is not a polished presence, he may be able to supplement his savings with speaker's fees. Google tells me he was chosen for the "EECS CITRIS distinguished series", next month. I wonder whether it offers more than a token honorarium?
Give it up, nobody gives a shit. If all that stuff wasn't under the GNU license it would be available some other way.
This is hard to believe, given that no one had made such tools available before GNU, and no one has really created such tools since.
Like that aren't at least 5-10 other compilers that are just as mature or capable as gcc?
Who says it's failed? :( I for one would like to see it gain some steam. Everything I learned in my comp sci courses tells me that the HURD is pushing the envelope of theoretical OS and application design. While I know some people wish it could be a complete production OS, it's going to be some time before that's possible... Though my textbooks currently cover OSF/Mach and Win(ick)NT as examples of advanced modern OS's, maybe in a few years students will be studying the internals of the [Hierarchy of Interfaces Representing Depth (of UNIX-Replacing Daemons)] (God, I love that acronym!)
I'm done with sigs. Sigs are lame.
Time for some GPG signing, I think.
Huh? RMS's GNU posse were concentrating on things like emacs, gcc, glibs that may ring a bell with you. Linux only beat GNU to deliver a free Unix OS because all that Linus had to write was a kernel - the rest of Linux is ... GNU.
If RMS & the FSF had been putting there effort into HURD rather than the rest of GNU, then Linux would not have attracted developers, because there would be no Linux - just a useless kernel sitting on some unknown Finn's hard drive.
As for calling why it should be just called Linux... it is for the same reason that Windows is called Windows, Unix is Unix, FreeBSD is FreeBSD and Mac OS is Mac OS irrespective of what other software is installed. Everyone except the FSF seems to manage fine with this concept.