GNU Hurd Gets Improvements: User-Space Driver Support and More 163
jones_supa writes "At FOSDEM 2014 some recent developments of GNU Hurd were discussed (PDF slides). In the name of freedom, GNU Hurd has now the ability to run device drivers from user-space via the project's DDE layer. Among the mentioned use-cases for the GNU Hurd DDE are allowing VPN traffic to just one application, mounting one's own files, redirecting a user's audio, and more flexible hardware support. You can also run Linux kernel drivers in Hurd's user-space. Hurd developers also have working IDE support, X.Org / graphics support, an AHCI driver for Serial ATA, and a Xen PV DomU. Besides the 64-bit support not being in a usable state, USB and sound support is still missing. As some other good news for GNU Hurd, around 79% of the Debian archive is now building for GNU Hurd, including the Xfce desktop (GNOME and KDE soon) and Firefox web browser."
HURD is an embarrassment (Score:2, Insightful)
Having a project like HURD reflects poorly on Open Source/Free software. It's kind-of emblematic of the major problem with non-commerical software projects; namely, without a central guiding force and a *real* budget, big software projects have a very difficult time getting finished.
Stallman should just kill it. It's pointless.
Re:HURD is an embarrassment (Score:5, Insightful)
Having a project like HURD reflects poorly on Open Source/Free software.
Rubbish. It's a hobby/research project for a few people at the moment. This no more reflects poorly on Open Source software than my crap github account.
Stallman should just kill it. It's pointless.
Tell you what, I'll petition Stallman to ask them to stop (RMS doean't have to power to tell people what to do in their spare time and I doubt he'd weald it if he did) if you agree to cease all your hobbies since you're not pro-level at any of them.
That aside, it's actally beginning to get to the interesting stage. Things are beginning to work quite well. It's soon going to be able to use all of the Linux drivers (i.e. no hardware support problems). The capabilities are interesting because it can do all of this without hacks or root. This gives a much smaller attack surface.
It's also interesting because the difficult and complex security concious important system code can be written in something other than C very easily. In facy you can cobble together all sorts of stuff in all sorts of languages if desired.
Re: (Score:2, Funny)
This no more reflects poorly on Open Source software than my crap github account.
Yeah, we weren't going to bring up your "contributions" quite yet, but since you mentioned it...
Can drivers move so easily from kernel to user? (Score:2)
Re: (Score:3)
There's a Device Driver Environment [gnu.org] that emulates parts of Linux as calls to other servers and Mach. Slides 22-25 [fosdem.org] have a bit of info on the port from running inside Mach to userspace.
Re: (Score:2)
It is still part of open source. It is still the face of the free software movement. Don't compromise on principal, but use something that barely works.
Open source operating systems that come to mind - Linux, "it works, it's free, people use it". Otherwise, Haiku copying BeOS, ReactOS copying Windows but not as well. And the running joke, GNU Hurd.
And your crap github account also is part of open source. If I look for whatever you have, and your account pops up in the list, am I supposed to know someho
Re: (Score:3)
Re: (Score:3)
just shows that Stallman doesn't seem to know when he is in over his head,
Yay. Today is "make shit up about Stallman day" just like every other day.
Let's go for an RMS quote on the HURD:
"finishing it is not crucial" for the GNU system because a free kernel already existed (Linux), and completing Hurd would not address the main remaining problem for a free operating system: device support.
Re:HURD is an embarrassment (Score:4, Insightful)
Re: (Score:2)
It was the moribund state of development 23 years ago which motivated Linus to write his own kernel.
I'm not sure what your point is or if "morbiund" is even right. The Hurd was only started a year before Linux.
So in a sense we should thank Hurd for being so badly mismanaged, mired in politics and kernel correctness that it drove someone to produce something better and more useful.
Do you have any citiaions that the hurd was mired in politics and mismanagement in late 1990/early 1991, before Linux was relea
Re: (Score:2)
I'm not sure what your point is or if "morbiund" is even right. The Hurd was only started a year before Linux.
The 3rd definition of moribund on dictionary.com is what I meant - not progressing or advancing; stagnant. Of course perhaps my frame of reference was too short. Maybe I should have measured progress across decades.
Do you have any citiaions that the hurd was mired in politics and mismanagement in late 1990/early 1991, before Linux was released?
I didn't say it was. Linux didn't become better and more useful the instant that 0.01 came out. But it was the utter lack of progress with Hurd which meant Linux gained critical mass. Hurd couldn't even bootstrap until mid-1994 and a dist only crawled out into the light of day in 1997. It was too
Re: (Score:2)
The 3rd definition of moribund on dictionary.com
Perhaps you should actually read the definition rather than regurgitate it. People were working on it.
Not producing usable results is not the same as stagnant. It was a year old, people were working on it, it wasn't ready because it was a much harder problem than expected. It becme morbiund for a while after Linux came onto the scene as developers left.
I didn't say it was.
Oh my bad. You see, when you said: " So in a sense we should thank Hurd for being so badl
Re: (Score:2)
Perhaps you should actually read the definition rather than regurgitate it. People were working on it.
Er what? I know what moribund means and I used it without expecting someone to start nitpicking. The definition is there. It applies.
Oh my bad. You see, when you said: " So in a sense we should thank Hurd for being so badly mismanaged, mired in politics", I thought you meant that the Hurd was being mismanaged and mired in politics. Looking back at your post it seems obvious now and I can't imagine how I misunderstood you.
Ah yes, it was my fault that you misinterpreted what I said. I see now. It's so obvious.
Re: (Score:3)
Re: (Score:2)
Re: (Score:2)
since we have a free working OS, improving it along other lines is a bigger priority than completely finnishing a pure GNU OS. Stallman has his priorities right here. For once he's being pragmatic.
Re: (Score:2)
Now that's an obvious troll if I've ever seen one. Are you going to suggest Charles Manson for sainthood as your next trick?
Re: (Score:2)
> So in a sense we should thank Hurd for being so badly mismanaged, mired in politics and kernel correctness that it drove someone to produce something better and more useful.
I don't disagree with how it is often ironic for some software to be the father of a good idea but someone else comes along and uses that as motivation to produce something even better. The history of computer software is littered with examples. i.e. Closed source compilers -> open source gcc (originally), Xerox Park, Mac GUI, V
Re: (Score:2)
Not to mention Emacs. Which is an entire operating system all by itself.
Re: (Score:2)
Re: (Score:2)
"Finishing is not crucial"
Re:HURD is an embarrassment (Score:5, Interesting)
"Your signature project has been in development hell for over 20 years, how do you respond?"
You're making stuff up. Making up things is generally known as lieing. I'll be generous and assume that you're merely staggeringly ignorant and perfer to regurgitate anti-GNU talking points you've culled from various message boards and have never bothered to actually find out much about the GNU project yourself.
The HURD kernel is not and has never been the "signature" project. The project is the GNU project (est. 1983) and has been progressing quite nicely. The kernel was not worked on until about 1990. When Linux came along in '91, it was rapidly adopted as the GNU kernel of choice, since it is under an appropriate license.
The goal is to be able to run computers entirely from copyleft software. The fact that some of these were achieved externally is neither here nor there. The GNU project has in fact achieved its major goal: you can now run a computer on completely copyleft software.
Re: (Score:2)
Re: (Score:2)
I'm not sure what your point is. It's not an embarrassmet to the FSF and it's not a flagship project. It's yet-another-kernel to go with all the yet-another-language or yet-another-shell or yet-another-editor. Basically at this point (as has been the ase since the early 90's) it's the pet research project of a small group of people.
If you feel like mocking it, go ahead, whatever floats your boat dude, I can't stop you.
Personally, I like the way it's heading. I've been vaguely following its progress for year
Re: (Score:2)
If I understand it correctly, that was not the original goal of the GNU project. The original goal was to provide a a free operating environment. The goal was not to replace all commercial applications or to nit-pick free-to-use-but-commerci
Re: (Score:2)
It's not 100% clear on the matter, but it does describe more than just an operating environment:
http://www.gnu.org/gnu/manifes... [gnu.org]
Bear in mind that basically everything was commercial by that stage. By the later paragraphs, talking about the particular freedoms, it seems to allpy well to all software.
Re: (Score:2)
Re: (Score:2)
HURD was the signature project for GNU. The whole point of the GNU project was a Free Open Source Unix like operating system. GNU stands for GNU is Not Unix. I don't have a problem with HURD as a project. I am all for grand experiments and now that we have Linux as a production FOSS operating system HURD can fill that roll. HURD may not now be GNUs signature project but at one time it really was.
I will add that I find Minix 3.0 to be very interesting project that is not getting the attention that it deserve
Re: (Score:2)
Linux is not a gnu project.
Re: (Score:2)
I read the gnu newsletter that you should take a look at. It was an "ends justifies the means" thing of advertising gnu by painting their name on someone else's wagon. LiGnuX was the first name suggested but it didn't get any traction.
Ah yes - RMS was jealous of someone that was respected more than himself and rolled that one out. Linus is no hero figurehead and has tried far less than RMS t
Re: (Score:2)
Re: (Score:2)
I am no fan of RMS, but to be fair to him, he had abandoned HURD years ago. His chosen OS is GNU/'libre'-Linux i.e. Linux w/o any 'binary blobs', whatever that is. His preferred distro is gNewSense, running on his Lemote Yeedong laptop, based on the Loongson CPU.
HURD is now not so much a GNU project as much as a project that some FOSS organizations, like Debian & Arch are interested in. Personally, I think that they should use Minix for their microkernel (fork it to GPL3 if they want) and combine
Re: (Score:2)
And we all know how free and open the PRC is.
Re: (Score:2)
Thanks, at least that sounds believable.
Re: (Score:2)
Ye gods, if I didn't know any better I'd say that was all made up gibberish on the spot. Lemote Yeedong... yeah, that's the ticket.
Re: (Score:2)
Got to love the idea of someone that is so concerned about freedom using an all Chinese laptop. Buying an all Chinese computer because you are worried about US spying is like feeling the US to Nazi Germany because you were worried about anti-semites.
Re: (Score:2)
Work on and use what you like, don't work on and don't use what you don't like.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Commercial software projects have their own ways of stagnating.. Needed features disappear due to pressure from marketing's desire to segment the market so customers pay more for less with each new version. Security problems are routinely covered up because the vendor is more worried about image than the actual quality of their product. Large budgets can hinder as well as help development, Windows 8 is a good example where Microsoft just threw money/people at the problem instead of focusing on design cohe
Re: (Score:2)
Re: (Score:3)
They did play with L4, which is an even better choice.
Linux vs. Hurd/xBSD (Score:5, Interesting)
As a rule, I support the idea of making a new OS just for the sake of it. But the important thing to realize most of these will never really get too far as in terms of market share.
Linux success was by luck. It came out when BSD had a lot of serious licencing issues and a big demand for something free, it was developed to a point of being useful fairly rapidly and got a lot of attention. At the same time the 32bit computers for home users were available, and people were jumping on getting a Real OS to do real work on. MS/DOS and Windows 3.1 wasn't a good option, for real work, other solutions just costed way too much money.
Hurd which was made during the same time BSD was having their issues, however it was more of am ambitious project, and couldn't get in during that opening which Linux did.
Now BSD with Free/Open/Net being based on original Unix code, came out of the Licencing mess as an open solution, with some still bad taste in peoples mouth. However they came out a bit more stable than Linux at that time. Where xBSD was being used in a business production settings, for a long time, while Linux matured and took over.
There is a lot of flamewars about GNU being superior then the new BSD license. Saying Linux is proof of this. I would disagree GNU and BSD are both Open Enough standards for general adoption, and Linux success was based on getting in at the right time. Otherwise you would expect HURD to be nearly as possible as BSD is now.
Re:Linux vs. Hurd/xBSD (Score:4, Interesting)
I agree it's basically a confluence of circumstances. Fwiw, while GNU's kernel project was pretty unsuccessful, I do think their more general project of trying to put together all the parts of a free Unix-like was quite useful, and one part of the circumstantial confluence. With BSD tied up in licensing issues at the time, Linus was able to basically grab the GNU compiler, libc, userland, etc. and make a working system. GNU's efforts were less essential to the BSDs after the lawsuit was resolved, but still fairly important in the early years to get something up and running: the lawsuit resolution resulted in ripping out the AT&T-licensed code from BSD, a bunch of which was replaced by GNU utilities as drop-in replacements. These have since been re-replaced in most of the BSDs ('grep' was one of the last GNU utilities to be phased out), but served as a pretty useful 20-year stopgap. And of course GCC had replaced the traditional CC much earlier (GCC appears in 4.3BSD).
One missing bit of this soup that's a real shame, imo: The very late open-sourcing of Plan9 led to a bunch of good stuff that could've been pulled in being ignored. If at least parts of Plan9 had been available in the early '90s when this GNU/BSD/Linux code was coalescing into free operating systems, Plan9's code could've contributed usefully.
Re: (Score:2)
Linux won because it was GPL. Up until that point no company would contribute to open source because their rivals could take their inventions, improve them and not share them back. This is the same thing that caused UNIX's original fragmentation. GPL prevented that, it gave any company contributing a guarantee that anything they put in that someone else improves they get to use as well.
IMO it's only the success of GPL that showed companies that forking was unprofitable that led some of those same companies
Re: (Score:2)
Definitely not. I'd say it's by hard work, and unlike HURD, allowing others to contribute their own hard work.
Re: (Score:2)
Almost nothing back. But they did contribute something.
If it were under GPL these companies would have avoided it, and gave nothing back.
If you want to scare a business who's main business model is selling software licenses, is to try to convince them to use a GPL alternative.
GNU HURD (Score:3, Funny)
Bringing you the technology of 1997...TODAY!
Re: (Score:2)
Re: (Score:2)
Ah, the old Useless Serial Bus.
Win9x gained USB support but I remember around 2003/4 enterprises were still using PS/2 mice and keyboards on NT 4 workstation.
Re: (Score:2)
From what I remember, NT 4 didn't support USB very well, if at all. Windows 2000 however, did work reasonably well with USB. So unless they had upgraded to Windows 2000 or XP, they would still be stuck with the PS/2 -connected devices.
Interestingly enough, the summary indicates that Hurd still doesn't support USB ... that does limit the selection of useful hardware.
Re: (Score:2)
GNU Hurd: A Solution In Search of a Problem (Score:3)
I'm not saying that Linux is the be-all, end-all of Free Operating Systems, but after 24 years I think Hurd meets the definition of a failed software project. (And you think Duke Nukem Forever was in development for a while!)
If the developers want to continue developing it, great. But I hope the project is not siphoning off any resources from the FSF's productive work. But I have my doubts as long as the FSF webpages continue to treat Linux as some sort of temporary work-around to Hurd not being available. (And please, just please, let go of the whole GNU/Linux thing... that ship sailed about fifteen years ago.)
That's nice... (Score:4, Funny)
User space driver's are one thing, but I'm still waiting for the day whe HURD gets a user.
Re: (Score:3)
User Space Drivers != "Improvement".
This is normally called a "defect". Performance design failure and security disaster, in one convenient package!
Re:Does it run Beta? (Score:5, Informative)
It also has security advantages, in that drivers don't run in ring zero can't access all memory.
Performance is less of a problem nowadays, because we have fast chips like the Pentium III.
Re: (Score:2)
It also has security advantages, in that drivers don't run in ring zero can't access all memory.
Performance is less of a problem nowadays, because we have fast chips like the Pentium III.
MacOSX and Windows Vista/7 have had this for many years now.
Re: (Score:3, Interesting)
Oh, shut up.
Windows Vista/7 still haven't even completely separated GUI from ring 0.
Last year had like 5 or 6 vulnerabilities messing with kernel mode to varying degrees simply by trying to display malformed images (and those vulnerabilities were all there at least since WinXP).
My favorite, for sheer WTF-ness, was "display an iframe of a very specific height - get a BSOD [stackoverflow.com]". You can find a bunch more by searching for "win32k.sys+(vulnerability|cve)"
Re: (Score:2)
yes, if you don't mind getting the performance of a Pentium 3 out of your core I7 system whenever that driver becomes the I/o bottleneck. All that extra context switching basically guarantees it will happen regularly.
Re: (Score:2)
Re:Does it run Beta? (Score:5, Informative)
If you're going to disagree with the whole security community on a security issue, you might want to explain why.
Everybody I know who has any security credentials believes monolithic kernels are a security risk. I have about 20 years of security specialization, and I agree with that view.
If you have an IOMMU, your drivers belong outside kernel address space. If you don't have an IOMMU, you need to get one.
This does not imply that Hurd has done it right. I know nothing about that. It is possible to do it wrong.
Re: (Score:2)
Christ man! Keep your voice down, lest Torvalds and Tenenbaum waken from their uneasy slumber and the Kernel Wars arise anew.
That being said, I tend to agree, and with the speed of processors and RAM these days, microkernels should have a better chance than they did in the past.
Re: (Score:2)
Re: (Score:2)
Theory is outdated, and not taking into account past 10 years of experience.
Kernel can be whitelisted. Userspace? Good luck.
Re: (Score:2)
Now, prove the formal correctness of Linux [nicta.com.au].
IOMMU is for restricting device's memory access (Score:2)
Re: (Score:2)
With the IOMMU, the userspace driver sending malicious commands to the device will not enable that driver to access memory that it should not access.
Without the IOMMU, the kernel needs to inspect every command sent to the device in order to check that the userspace driver is not malicious. This is not good for performance.
Depending on the device and the bus, there may be other ways to interfere with normal system operation, so an IOMMU is not necessarily a complete solution.
Re: (Score:2)
MMIO is slow. To me the IOMMU is as important as the MMU was in the past to ensure system stability and security. You certainly do not want a malicious or buggy piece of hardware writing crap all over the rest of your system any more than you would want someone's program to do the same in a system without memory protection.
Re: (Score:2)
I can see corner cases for microkernels, like single-purpose/banking/ATM machines where security is paramount. SCADA (though latency might be an issue) might be another good application. However I bet there isn't hardware fast enough to compensate for them in performance critical systems like stock markets.
Re: (Score:2)
High frequency trading systems are not a typical example of anything, and should be held as a typical use case for any reasonable operating system. They do things like use custom network hardware which plays fast and loose with the standards, and could easily be compromised if they weren't on a fairly trusted network.
Re: (Score:2)
FTFM
Re: (Score:2)
Gasp, you mean there are architectural security advantages to the way NT is designed vs how Linux is?
Dont let the rest of the community hear you, youll end up tarred and feathered.
Re:Does it run Beta? (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
Have you ever seen this done well? It always looks good on paper.
What about virtualization, and byte-code virtualmachine processes? How many context switches will you do "all the way down"?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I'm sorry, but what? Running drivers as the kernel in ring 0 -- which is the Linux model since it's a monolithic kernel -- is a better security model than user space drivers? How about running as root and writing directly to /dev/mem for memory mapped devices? Is that a better security model, too?
Re: (Score:3)
How about subjecting hardware access to the same environment as arbitrary use case and unlimited connectivity options of a user context.
Whoops! Flash exploit just took over my filesystem and network card!
Re: (Score:2)
Yeah. But i386 hardware has more than two rings. The fact that OSes don't use them is what is a problem.
Re: (Score:2)
No, you aren't. This was a key point in Liedtke's design for L4.
A "context switch" in a macrokernel OS (on Intel hardware; architectures which support tagged TLBs have a different tradeoff) is a single thing. In L4, the various parts of a context switch are decoupled and the kernel tries very hard to only do as much as it needs to. For commonly-accessed drivers, for example, an IPC round-trip requires only a selector switch (which a macrokernel OS does anyway when it enters and exits kernel mode) and avoids
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
> like Apple 2 and Commodore systems were 8 bit but really didn't have OSes.
Amnesia much? Do you even understand what the acronym RWTS - Read/Write Track/Sector means? Do you even understand what a File System is? Do you understand what a Device Driver is??
I also guess these books are just figments of my imagination:
* Beneath Apple DOS http://www.amazon.com/Beneath-... [amazon.com]
* Beneath Apple ProDOS http://www.amazon.com/Beneath-... [amazon.com]
Gee, I wonder what these programs are?
* Apple DOS 3.2 and DOS 3.3
There is no hope (Score:2)
Thus it's better ignoring them instead of trying to fee
Re:Micro Kernel, Failed Computer Science Pipe drea (Score:5, Informative)
Re: (Score:3)
An interesting historical tidbit about QNX is that it was started more or less on the basis of a textbook implementation of a microkernel with real-time features. In the literal sense that the company's co-founders did a class project where they implemented a basic realtime microkernel in an OS class, wondered why there wasn't something similar in the marketplace, and founded a company to sell it.
Re: (Score:2)
Yes, I've heard the 'real-time' arguments in embedded but for consumer devices are there tangible benefits to QNX vs Linux?
I'm just thinking, hypothetically, of when Blackberry.com goes under - whether the assets be sold off again to a standalone QNX entity.
Or would it be useful for a company like Samsung re-basing their Android and Tizen efforts on their own proprietary kernel to differentiate their offerings from HTC and LG etc?
Re: (Score:2)
Re: (Score:2)
But more importantly, free software is full of tens of thousands of experiments that didn't seem to make sense at a start. Most wither and die, a few become very big and hugely popular, and even the ones
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
The Amiga microkernel was fast because there was no memory protection. "Kernel" entry consisted of pushing a few registers to the stack and doing a jump. Context switches were similar.
Practically no one is willing to do without memory protection today, and it is likely that achieving Amiga-like context switch times while retaining some kind of memory protection would require significant hardware changes.
Re: (Score:3)
Your answer sounds like it is nothing more than the regurgitated result of the Torvalds - Tenenbaum debate. Basically it was an argument between the creator of Minix (Tenenbaum) and Torvalds who was inspired to write Linux after playing around with Minix. Torvalds outright called Tenenbaum an idiot and since then we have this single argument as some sort of proof that macrokernels are the holy grail of OS design. And this was over 20 years ago. Though in the end the Linux kernel won because it was available
Re: (Score:2)
WTF!
What on earth are you basing that on or are you just punching a strawman? How is he more of an egomaniac than ANYBODY in politics and media?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Plan 9 is open too.
On Inferno, has there been any activity at all the last few years from vitanuova? Seems like its totally stagnant at this point. Not flaming, but i cant see anything going on now.
Re: (Score:2)
Plan 9 works, today. If you want to stay current, you want to go with 9Front however.