Debian GNU/Hurd 2013 Released
jrepin writes "The GNU Hurd is the GNU project's replacement for the Unix kernel. It is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). The Debian GNU/Hurd team announces the release of Debian GNU/Hurd 2013. This is a snapshot of Debian 'sid' at the time of the Debian 'wheezy' release (May 2013), so it is mostly based on the same sources. Debian GNU/Hurd is currently available for the i386 architecture with more than 10,000 software packages available (more than 75% of the Debian archive)."
Oh come on. April 1st is over. Everyone knows Hurd is a running gag. It's an ancient meme.
Would anyone mind explaining to me the key differences between Debian Wheezy & Debian GNU/Hurd 2013? What are the benefits of using GNU/Hurd 2013?
Libera te ex Inferis!
I know that Hurd has been in development a long time. I'm surprised that they still don't have SATA drivers.
Does anyone here know much about the Hurd?
I know it got stuck in "which microkernel shall we use" hell for the longest time. They seem to have settled, but it's not clear if the new one is a modern high performance one (under the Mach name), or if they just settled on the older one and suffered a performance hit.
Also, why is a microkernel OS so apparently difficult to construct?
As far as I can see, the basic bits of hurd are all in place: the things that make it an operating system that actually works. But what took it so long? Micro kernel based things sound like they ought to be easier to develop (segfaults instead of a lockup, for instance), but apparently they are not.
Anyone got any experience?
SJW n. One who posts facts.
If you're interested in understanding microkernel OS architectures, then Hurd might be useful to experiment with. Other than that its pretty close to unusuable as there isn't even basic SATA and USB support (IE you're going to have to install on OLD hardware, or much more likely in a VM where you can supply virtualized IDE).
Honestly, while I certainly don't want to rain on anyone's pet project Hurd has mostly become pointless. Its user space really offers nothing beyond what Linux or other POSIX *nix user spaces offer, and while microkernels are interesting concepts they've never proven to be terribly practical in most applications. Even in terms of microkernel design Hurd is dated. I'd think it would be much more interesting to work on future-looking OSes, say something with a Plan 9-like user space and some more modern experimental kernal with features designed around high core counts and heterogeneous compute resources. Not sure what that is, but I'm sure there are people out there working on stuff like that.
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
As a theoretical design they're very clean and simple to understand. In reality however due to all the message passing and context switching they're dog slow and when every bit of performance matters thats just unacceptable.
...most of the components that constitute the whole kernel are running as separate user-space processes and are thus using different address spaces that are isolated from each other.
Is it capable of using multi core CPUs effectively for those processes?
The trouble with micro kernels is that if you're not careful with CPU utilization, you get a slower machine than using a mono kernel. I know because I lived through in the 90s at a big software company that was developing a microkernel OS.
And to that, I can't wait for the performance comparisons.
I'd be surprised if HURD performs well on i3s or less.
A complete GNU operating system is their goal. If they dumped Hurd now it would be a complete loss of face after over 2 decades of puff and promises with a tacit admission that it was mostly hot air. Then they'd have to settle for just being utility program providers. I can't see that happening , can you?
Year of the Debian GNU/Hurd desktop!
LEWOUWALLZ!!!!!!
I know, I'm feeding the troll.
In case you were actually offended, place blame where it belongs.
Then help fix the problem by submitting a bug report to your favorite distro instead of just bitching about it.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
We know about GNU/Linux and GNU/Hurd. ISTR someone cobbling together a GNU/BSD at some point. Any others? GNU/Solaris? GNU/HP-UX? GNU/DR-DOS?
This was modded informative because the argument is so old, it's coming back as 'vintage' by hipsters.
Flexible bare-metal recovery for Linux/UNIX
...was disappointed.
What, if any, are the advantages that a user would notice of GNU/Hurd over Gnu/Linux?
Who posted this? Unix kernel? WTF? You know that GNU is a recursive acronym meaning "Gnu's Not Unix"??? So if GNU isn't unix, how do they have a unix kernel old sparker? Some who writes blurbs on /. is on the crack just a bit too much. Focus! Fooooocuuuuus! There, that's better. Now try again.
Most of us want to popularize the OS enough so that it will continue to be developed, and so that a larger selection of end user software will be developed for it. Getting bogged down in a disagreement about whether it should be called "Linux", "GNU/Linux", or by a distribution name, is counter-productive to that objective. It gives the impression that all of this is only for nerds (and that is a reason enough for most people to want nothing to do with it).
When I refer to the OS as "Linux", I am not discounting nor disrespecting in any way the contribution of the Free Software Foundation or Richard Stallman. I'm trying to use the most common term that is easy to pronounce, and communicates in a way most commonly understood by the listener to refer to the operating system. The fact that "GNU/Linux" doesn't roll off the tongue or lend itself to being written, or typed easily enough, is the reason I don't, and will not, use it.
The discussion reminds me of one in which fastidious guardians of exactitude allow a discussion about western democracy to get sidetracked by the insistence that the U.S. is a "republic" not a "democracy". Technically, they're right. But they're insistence on it interferes with more important ideas becoming the focus of discussion.
So, I'm not going to call it "GNU/Linux". I'm going to call it "Linux". No further discussion will change my mind on the matter. Furthermore the U.S. is a Democracy (close enough).
P.S. I've switched to FreeBSD, which I call "FreeBSD".
Remember all the complaints in performance from gamers when they lost all that speed going from a shared memory OS (windows 9x) to a protected memory OS?
Microkernels are a similar problem but without a big corporation to force users kicking and screaming into the modern age. I would like to have Multics like features; my CPUs are mostly idle today. Being able to replace RAM, storage, CPUs without shutdown or even turning off half the computer for most of the day...
It's not like we don't have more CPU power than most users need and a slowing market due to an excess of power... Pros and gamers will complain, but then they don't realize they are losing FPS with today's systems they resisted in the past. Sure reboots are fast, but I hate having a buggy driver or worn out device crashing my system frequently until nail down the source (and if it didn't crash, I could just ignore it and keep the device. I have a LiteOn blueray burner that requires a reboot after moderate use-- plus the pain of digging out an HD with windows just to upgrade the firmware on the hope that they've finally fixed it.)
Democracy Now! - uncensored, anti-establishment news
This is good news. I am glad people are working on BSD(s), Hurd, Minix, and other systems because it ensures technological diversity. It would be a sad state if only GNU/Linux and proprietary systems were developed. If we have a thriving ecosystem of vaious operating systems and kernels, that bodes far better for advancement than a monoculture.
"SO we bide our time, waiting for a purer kick to bloom and the future is still bleak, uncertain and beautiful" -GSYBE
HURD only proves that Stallman/FSF couldn't make a kernel, ivory tower theoretical bullshit didn't work. The fact they finally had to borrow Mach shows they couldn't design a kernel themselves, and even today in the project there is debate about using other microkernel foundations but of course no talk about designing from the ground up.
Hint, if you're in a computer science class that claims to build its own OS, and they use Linux or Mach or whatever to layer various message passing schemes on top, you are NOT building an operating system.
It's a school science project, doesn't run on modern processors except in i386 mode, unusable for any practical purpose. it needs to die
Debian Wheezy is Linux. Debian GNU/Hurd is HURD. The former is the usual Linux monolithic kernel. The latter is the GNU implementation of the Mach 3.0 microkernel, w/ the HURD collection of Unix-like services running on top of it.
The only reason to use HURD would be that it would be fully liberated software - if I'm not mistaken, HURD would be GPL3, whereas Linux is GPL2. Essentially, the only rationale to use it is religious i.e. it has the purest license. It's however not the best by a long shot - even if one wants a microkernel OS, Minix 3 would be the best bet there.
The thing that intrigues me is - would HURD be available w/ the entire collection of Debian software, or just the ones that the FSF likes? Like would it have the choices of KDE & GNOME, or just GNOME and maybe GNUSTEP? It would obviously have the entire GNU userland, all GPL3, but would HURD packages contain only the purest of liberated software i.e. GPL3 or AGPL3 licensed software? I'd be curious. On a different note elsewhere, how is Arch Hurd doing?
Main problem for Hurd would be support for hardware who needs closed parts (firmware, binary drivers) as Hurd propably is GPL3 which essentially forbids usage of such things without disclosure to user, essentially killing any chances of having binary Nvidia driver supported. Still, most of open source stuff can be ported to be used with it.
Yeah, that is what would make it pretty much a non starter on the desktop, since it's probably GPL3 - or else, its rationale for existence separate from Linux is as strong as the rationale for East Germany or North Korea existing. Since binary blobs would be banned here, they'd be limited to Intel & AMD GPUs, however bad, and then, on top of that, run X, and GNOME 3.whatever in fallback mode, or in real mode if the drivers are liberated. In short, the best use of HURD, where it would be almost guaranteed to work right, is in CLI mode, if one is like RMS and lives in an emacs world. In which case, the login script could just as well include that, one goes into emacs, and then is off doing everything that one does there.
Just wondering if the "Libre-" Linux crowd will celebrate this, or release a list of 50 reasons why Debian doesn't pass the purity test and therefore, Debian Hurd can't be endorsed? I sure wish gNewSense comes up w/ a HURD distro based on this one.
In 1994, at university, I was in much the same situation (except it was only Sun -- we didn't have SGI boxes, and I couldn't make head nor tail of the solitary NeXT box).
I cut my teeth on SunOS. Then I got a 486 and ran Slackware on it in my dorm room. I found that bash was better than csh (which our admins had made the default shell on SunOS). I found that GNU date was better than SunOS date.
Then I found that our admins had a /usr/gnu/bin NFS mount for the Sun boxes, which we just had to put in our paths to make SunOS feel like Slackware.
So for the last three years of my four year course, I was running GNU/Linux at home and GNU/SunOS in the labs.
The point being that the GNU utilities were the "nice thing" I was interacting with. The kernel was only there to prop them up.
It was just the opposite in my case. We had a few NeXT boxes in the computer center, along w/ a few IBM MVS, DEC Vaxen & Sun SPARCstations. I could follow the VMS commands some, but the IBMs and Suns were painful to use, since I was brand new to Unix - which in Sun's case was SunOS/OpenLook. But the NeXT was a breeze, and using NeXT file manager made the entire Unix file system pretty transparent - one could see what was under /bin, /usr, opt/ and so on. And then there were those cool NeXT apps like Mail, NewsReader (a Usenet app), Lotus Improv and a whole lot of others that were a breeze to use. In our department, the VLSI lab had some DECstation 3000s (based on the MIPS R3000s), Computer Design lab had IBM RS/6000s, CS lab had SPARCstations, and so on. You had DECwindows in the DECstations, OpenLook on the Suns, and so on. Of all of these, the NeXTs were the only ones where you didn't have to know anything in order to get started?
Not to be pedantic, but actually, it was originally GNOME. Stood for GNU Networked Object Model Environment. Something that they abandoned in GNOME 2 onwards, which is where they should have renamed it, since it no longer had its original goals
In Debian's case, it wouldn't be totally right, since Debian offers a choice of kernels - Linux, kFreeBSD and now HURD.
I mean, really. 386 is their standard build? Not 64 bit?
Let me know when they catch up with the century.
I do not fail; I succeed at finding out what does not work.
if i remember well the hurd kernel is still based on some mach fork. well at least it was last time I checked ten years ago... (addendum: omg, it's still there :D)
i watched the attempt to move from that kernel to l4, some progress was made and then it kinda died:
"At that time, L4 (Pistachio) was the prime candidate. A reimplementation of the Hurd on this microkernel looked promising, and got pretty far (running some simple POSIX programs, such as banner). However, over time some lingering design issues turned out to be fundamental problems: the original L4 is not suitable for building object-capability systems like the Hurd. Thus development was aborted in 2005."
It is actually an interesting reading: http://www.gnu.org/software/hurd/faq/which_microkernel.html
anyway, i wanted to say that l4 is better representative of modern microkernel than hurd's kernel. you may want to look at it.
https://en.wikipedia.org/wiki/L4_microkernel_family
But I would buy an open source hardware laptop running on the open ARM with GNU Hurd on it.
Just for the ease of conscience of knowing I have a computer that is as free as a bird.
The notion that without the GNU tools, a Linux distribution would not be usable, and therefore the GNU prefix should be applicable to Linux also ought to apply to Minix itself, which like Linux, was never part of the GNU project (and was released under a different license), but was practically unusable out of the box, and most users of it took the source code to the GNU tools, which was freely and readily available, and compiled them to run under Minix to create a usable system. Minux, starting from approximately v 3 onwards, actually started being distributed with the GNU tools to make it more fully functional out of the box, but nobody ever tries to call Minix GNU/Minix.
That said, since GPL3 surfaced, more and more projects have been looking at alternatives. Minix, for instance, has joined FBSD in using LLVM/Clang and uses NBSD userland. Several projects have switched compilers from GCC to LLVM/Clang, GNU userland to Busybox, and so on. It wouldn't be too long before the only people using GNU utilities would be the FSF crowd.
That is ironic, given that RMS has always belittled the concept of 'open source' and emphatically stated that the purpose was not to build better software, but to build liberated software. In fact, his philosophy has more tolerance for shabbily written code, as long as it allows the 4 GNU freedoms. Given that, HURD should have been able to be whipped up really quick, but it wasted years experimenting from one microkernel to another. I know the licenses don't allow it, but if it did, taking HURD and putting it on top of Minix3 would give it the best of both worlds
Is RMS associated w/ HURD any more? He is on record as having endorsed Linux over it.
From what you are describing, the reason microkernel OSs are slow is the switching from running an unprivileged task (a ring 3 task) to a kernel task (a ring 1 or 0 task). But in that case, given that most modern CPUs are multi-core, doesn't that alleviate that issue? I mean, let's say CPU2 is busy doing somethig and an application needs to make a system call, can't that call go to CPU0? That way, CPU2 merrily keeps humming along, and one of the unutilized CPUs starts getting utilized. Also, most processes don't make full use of the extra cores, but if you have a microkernel OS, can't all that task switching be avoided simply by using, say, different cores? Like use CPU0 for ring0, CPU1 for ring1, and so on (since most systems are quad core or more, and you can then route any system request to particular CPUs dedicated for just that)
Uh, no, hypervizors are pretty much the very opposite of microkernels. In microkernels, things like device drivers live in user space, and have to pass messages to the kernel to access particular resources. In hypervisors, you have a mammoth kernel at the bottom that supplies services to all host VMs running over it. In case of VMware, the underlying OS is a Linux variant called the ESX server. Which is certainly not microkernel
QNX.
"On a microkernel, your experimental device driver would run in separate memory space to other components. If the experimental driver crashes out, the rest of the system keeps going. It can't spy on your other components, because its access is restricted."
This statement is correct for a true (and complete) microkernel, but Mach (including the GNU version) runs all drivers in the kernel's address-space just like Linux.