×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Debian GNU/Hurd 2013 Released

Unknown Lamer posted about a year ago | from the never-give-up dept.

GNU is Not Unix 264

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)."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

264 comments

Question? (-1)

Anonymous Coward | about a year ago | (#43792803)

Will Gnu find the Hurd at the OK kernal?

Re:Question? (0, Offtopic)

Anonymous Coward | about a year ago | (#43793299)

LEWOUWALLZ!!!!!!

Oh come on. (0)

Anonymous Coward | about a year ago | (#43792805)

Oh come on. April 1st is over. Everyone knows Hurd is a running gag. It's an ancient meme.

Re:Oh come on. (5, Funny)

telchine (719345) | about a year ago | (#43792867)

Oh come on. April 1st is over. Everyone knows Hurd is a running gag. It's an ancient meme.

Ha, indeed! Someone once tried to convince me that Duke Nukem Forever had been released too. I'm not so stupid that I'd fall for that!

Re:Oh come on. (1)

VortexCortex (1117377) | about a year ago | (#43793137)

It's a very elaborate troll. Perl 6 Parrot can run some Java programs on HURD / HIRD. They went all out, I'll forgive them missing the April 1 deadline, it's great fun!

Re:Oh come on. (0)

Anonymous Coward | about a year ago | (#43793253)

What do you think the mayan's ment???

Re:Oh come on. (0)

Anonymous Coward | about a year ago | (#43793463)

well.. what they did was talk in a meeting "let's release something to spoil the duke nukem forever".

Re:Oh come on. (0)

TWX (665546) | about a year ago | (#43794035)

I think DNF's release was a product of some new company executives that took over Apogee not realizing that it was supposed to be a joke...

Re:Oh come on. (0)

Anonymous Coward | about a year ago | (#43793325)

Oh come on. April 1st is over. Everyone knows Hurd is a running gag. It's an ancient meme.

Is it as ancient as the Haddaway song "What is love (Baby don't hurd me)" or is it only as old as the Nine Inch Nails song "Hurd", the one Johnny Cash made a cover off?

Re:Oh come on. (3, Funny)

Big Hairy Ian (1155547) | about a year ago | (#43793477)

Oh come on. April 1st is over. Everyone knows Hurd is a running gag. It's an ancient meme.

You mean this is "Debian does Dallas"?

Re:Oh come on. (0)

Anonymous Coward | about a year ago | (#43794101)

> Everyone knows Hurd...

Everyone knows GNU/Hurd...

There FTFY.

Need Clarity (3, Interesting)

CrimsonKnight13 (1388125) | about a year ago | (#43792809)

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?

Re:Need Clarity (5, Informative)

Anonymous Coward | about a year ago | (#43792859)

What are the benefits of using GNU/Hurd 2013?

There aren't any.

Re:Need Clarity (2)

buchner.johannes (1139593) | about a year ago | (#43794441)

If courts decide GPL2 doesn't cover some loophole and people are abusing Linux in some way that Linus does not like, Linus is screwed. With Hurd, there is a license upgrade path.

Re:Need Clarity (5, Informative)

Pecisk (688001) | about a year ago | (#43792877)

Debian Wheezy - Linux kernel, GNU tools, 100% of software compiled for i386/64.
Debian GNU/Hurd 2013 - Hurd kernel, GNU tools, 75% of software compiled for i386/64 (I'm ready to assume it doesn't have support for other platforms but might be wrong).

Hurd has been conceptual official kernel of GNU project for years (But then Linux came and put Hurd on backburner). Thanks to renewed interest it's development has picked up and therefore we have some actual distribution running with it.

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.

Re:Need Clarity (5, Informative)

Anonymous Coward | about a year ago | (#43793101)

Debian Wheezy - Linux kernel, GNU tools, 100% of software compiled for i386/64.

Wheezy is also available for other CPU architectures, e.g. ARM and MIPS. And, as a preview, you can use it with a FreeBSD kernel on i386 and amd64 instead of the normal Linux kernel.

Debian GNU/Hurd 2013 - Hurd kernel, GNU tools, 75% of software compiled for i386/64 (I'm ready to assume it doesn't have support for other platforms but might be wrong).

You're right, in fact it's only i386, not i386 and amd64.

Re:Need Clarity (1)

armanox (826486) | about a year ago | (#43793179)

I was going to say the same thing. Think of Debian GNU/Hurd 2013 as a snapshot of a subset of the whole Debian collection.

Re:Need Clarity (0, Troll)

snarfies (115214) | about a year ago | (#43793225)

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Linux", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux" distributions are really distributions of GNU/Linux.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793355)

Not sure if you're mocking rms and people don't realize it and modding you up because of the information or they are realizing it and modding you up for the funny. Or both. Oh well, you know what they say about good satire.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793409)

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.

Woo Hoo!!!!

gonna argue like it's 1999!

Re:Need Clarity (4, Insightful)

MBGMorden (803437) | about a year ago | (#43793567)

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.

Sorry, but this war has been fought, and your side lost. I'm not using GNU/Linux/x.org/XFCE anymore than others are using Windows/CrystalReports/Office/PhotoShop.

Listing every single component of the system is stupid. Linux is the kernel, Linux is what gets recognized as the OS. There are a lot of programs that go into making the system usable - each one need not be referenced in the name.

Re:Need Clarity (5, Insightful)

slim (1652) | about a year ago | (#43793725)

Listing every single component of the system is stupid. Linux is the kernel, Linux is what gets recognized as the OS. There are a lot of programs that go into making the system usable - each one need not be referenced in the name.

Mmm, but why do you choose the kernel as the piece so important that you name your whole system after it?

I'm forever seeing posts that say "Windows sucks and Linux rules, because in Linux I can do stuff like {insert neat adhoc bash script}". But you could run that script in a MacOS terminal, with Darwin replacing the Linux kernel. You could run it in Cygwin, with the combination of the Windows Kernel and the Cygwin compatibility libraries replacing the Linux kernel.

Linux is great, but it's a thin layer compared to the collection of GNU (mostly) tools that *actually provide the interface people love*.

Re:Need Clarity (4, Insightful)

Anonymous Coward | about a year ago | (#43794165)

Because people like an easy, pronounceable, memorable label for things.

It usually goes like:
GNU: Do you spell it out, "gee en you"? Or is it "new" like the wildebeest? And what's with the recursive acronym (GNU's Not Unix)? Why do you geeks pick such awkward names?
Linux: Only two possible pronunciations, both easy.

Given a choice between technically correct and easy, most people will pick easy.

Re:Need Clarity (4, Insightful)

Cro Magnon (467622) | about a year ago | (#43793783)

One could argue that the OS is Debian (or Fedora or Ubuntu). All of which use the Linux kernel, and the GNU tools.

Re:Need Clarity (1, Insightful)

Anonymous Coward | about a year ago | (#43793805)

The war is still ongoing. And it will, as long as we still have to use closed software. You are too old to fight, that's all. Calling it GNU/Linux is simply a way to give credit to the people who started all the Free Software movement. Without GNU, there would be no Linux.

Re:Need Clarity (3, Insightful)

DrXym (126579) | about a year ago | (#43794435)

The war is still ongoing. And it will, as long as we still have to use closed software. You are too old to fight, that's all. Calling it GNU/Linux is simply a way to give credit to the people who started all the Free Software movement. Without GNU, there would be no Linux.

Most people recognize that a distribution is the sum of its parts (many of which have nothing to do with GNU or the FSF) and therefore don't elevate any particular group above the others and are quite content to refer to the whole lot as Linux. I suspect that the whole GNU/Linux thing is just some underlying resentment that Linux succeeded precisely for the reasons Hurd failed so miserably - because the FSF is big on ideas, not so big on actually bringing them to fruition in a timely and practical fashion.

Re:Need Clarity (1)

greenfruitsalad (2008354) | about a year ago | (#43794069)

If you were really following your logic, you'd call the operating system Debian or GNU. Just as Mac OS X isn't called "Mach" or MS Windows isn't "NT kernel".

Re:Need Clarity (0)

ta_gueule (2795275) | about a year ago | (#43794257)

Xorg can not compile itself because it's a graphical interface. XFCE can not compile itself because it's a desktop environment. Linux can not compile itself because it's a kernel. GNU can compile itself because it's an OS. Debian can compile itself because it's an OS. Call it GNU or Debian.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793627)

Really? Are people still trying to push GNU/Linux. This post should be marked humorous, not informative.

Re:Need Clarity (3, Interesting)

paulpach (798828) | about a year ago | (#43793739)

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.

Both GNU components and the Linux kernel come with a written [gnu.org] permission [gnu.org] to call it whatever you want. I can take all these components, distribute them even verbatim and call them "yomama", and I would be fully compliant with the licenses. The difference is that no one would have a clue what I am talking about.

For this reason it is correct to call it Linux, or Android or Ubuntu or any other name (subject to trademark laws of course). Just use the name most people are familiar with so they know what you are talking about. Calling these systems GNU is merely a courtesy, a form of respect you pay to the GNU project, not a requirement in any way, and not "the right way" but merely your preference.

Re:Need Clarity (4, Insightful)

mark-t (151149) | about a year ago | (#43793779)

The GNU project was a project to develop a free OS and tools.

All works developed for the GNU project were released under the GNU license. Numerous other projects were released under the same license as well.

Linux was a project to develop a free drop-in (and superior) replacement for Minix, and although released under the GNU license, and was distributed with GNU tools, it was never actually part of the GNU project, any more than AIX or HPUX would have become part of the GNU project by replacing their standard tools with GNU equivalents (I personally used an HPUX system at university which had all of the standard tools replaced with GNU ones, but that wouldn't suddenly change the name of that system to GNU/HPUX).

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.

Linux is Linux. GNU/Linux is just a name that people who were tired of waiting forever for Hurd wanted to call it so they feel like they had some closure.

Re:Need Clarity (1)

ta_gueule (2795275) | about a year ago | (#43794345)

GNU carries a philosophy and Linux does not. I want to promote the philosophy and therefore I call it GNU. Technically, Linux is not better than NT or Mach. I have no reason to promote Linux on a technical level. I call it GNU to promote free software. Linux is important because of the GPL. The real value is in the philosophy.

Round and Round (4, Funny)

bigredradio (631970) | about a year ago | (#43793801)

This was modded informative because the argument is so old, it's coming back as 'vintage' by hipsters.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793809)

successful troll is successful.

Re: Need Clarity (1)

oso (7152) | about a year ago | (#43794007)

"What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux."

Wow. This statement is absolute proof that marketing spin works.

Re:Need Clarity (2)

dpiven (518007) | about a year ago | (#43793249)

Debian Wheezy - Linux kernel, GNU tools, 100% of software compiled for i386/64.
Debian GNU/Hurd 2013 - Hurd kernel, GNU tools, 75% of software compiled for i386/64 (I'm ready to assume it doesn't have support for other platforms but might be wrong).

i386 != x86_64. Hurd is 32-bit only, according to the FAQ [gnu.org] .

Re:Need Clarity (1)

andy.ruddock (821066) | about a year ago | (#43792881)

Debian Wheezy is the Linux kernel based O/S we all know and love - Debian 7.0.
The Debian devs took a huge number of the packages available and re-built them to work in the Hurd environment, which uses a different kernel.

There are probably no inherent benefits to using Hurd over Linux - and there are certainly many reasons for picking Linux over Hurd, support being just one of them.
If you have a spare VM though then it may be worth installing Hurd just as a learning process.

Re:Need Clarity (5, Informative)

SirGarlon (845873) | about a year ago | (#43793071)

There are probably no inherent benefits to using Hurd over Linux - and there are certainly many reasons for picking Linux over Hurd, support being just one of them.

At this stage of Hurd's development, parent is correct. For daily desktop use, Linux is clearly mature enough and Hurd is very probably not.

From the perspective of design, Hurd has some good ideas, as the GNU Web site explains [gnu.org] . My favorite is:

the Hurd goes one step further in that 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. This is a multi-server design based on a microkernel. It is not possible that a faulty memory dereference inside the TCP/IP stack can bring down the whole kernel, and thus the whole system, which is a real problem in a monolothic Unix kernel architecture.

So there are design features of the Hurd that make it attractive to developers. I can foresee the Hurd maturing to the point where embedded device makers would seriously consider it, for example.

Multicore (1)

Anonymous Coward | about a year ago | (#43793177)

...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.

Re:Multicore (0)

Anonymous Coward | about a year ago | (#43793893)

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

And yet, in many situations, we blow that off concern off completely.

You get the Core i3 instead of the Core i7 because even the i3 is overkill (maybe I should have got an Atom) and you're looking for ways to underclock it so that you can remove the fans and make the machine quieter.

You write your quickie programs in Python rather than C. Programmer's convenience and time is worth more than execution speed.

But as soon as people talk about running a kernel that's 2% slower, OH NOOOO!!!

I'd be surprised if HURD performs well on i3s or less.

Then you're in for a surprise: people have been running microkernels for over twenty years. HURD probably runs ok on a 80486 or 68040 and probably lower-end equipment than that.

AmigaOS is often considered an early informalized microkernel and that one of the fastest, slickest and best-performing OSes out there for over a decade. Starting at 7 MHz 68000.

You're going to run into issues with application bloat (e.g. Firefox) long long before the OS matters even a litt--

Wait, I was about to say something dumb. The OS does matter to performance, but it chiefly matters in that the most popular ones (e.g. Linux) get the best stuff, due to popularity rather than monolith/microkernel. One thing you can say about the non-HURD systems, for example, is that they have some outstanding filesystems, and probably kick HURD's ass on those kinds of benchmarks (and features). HURD doesn't have Reiser or ZFS or XFS or Btrfs or JFS or HAMMER (gotta throw a bone to the BSD guys). Which is really funny, because it's easier to write filesystems on a microkernel. But that's not where the people are, so that's not where the developers are. Everyone is running Linux these days. If you're alive and living the First World, you probably own a Linux computer or two. So that's where the devs go.

Re:Need Clarity (1)

satuon (1822492) | about a year ago | (#43793237)

To tell you the truth, I'm using Ubuntu daily and I don't remember ever having the kernel itself crash, which I assume would produce the Linux equivalent of a BSOD. Usually it's just user-space programs that crash.

So if the kernel not crashing is the main selling point of Hurd, I don't see much reason why I personally would use it, because it fixes a nonexistent problem (at least for me).

Re:Need Clarity (5, Insightful)

slim (1652) | about a year ago | (#43793833)

That's entirely pragmatic of you, and that's fine.

But say you wanted to try out an experimental device driver. In Linux it would be a kernel module. If it went wrong, it could potentially cause a kernel panic and halt your entire system. Or, since it has kernel privileges, it could just quietly spy on some element of your system and phone home with your confidential data without you knowing.

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.

It may not address a need *you* have, but it may well be useful to others.

Re:Need Clarity (1)

LordLimecat (1103839) | about a year ago | (#43793991)

On the flip side, having all that stuff in userspace surely means a massive performance hit, does it not?

I seem to recall for instance with various *nixes it is possible to have a single box handling tens of thousands of IPSec requests, because IPSec is handled within the kernel (IIRC), whereas that same box might handle a few hundred OpenVPN sessions simply because it is all userland and context switching absolutely kills performance.

If that is an accurate example of the type of performance hit incurred on the networking layer, would you really want that in userland?

Re:Need Clarity (1)

socode (703891) | about a year ago | (#43794135)

Yep, that will be incredibly handy, and will be addressing a clear problem that many users and enterprises have to solve,

We can move to a completely different OS design, to avoid running a development machine [where an experimental driver is mated to experimental hardware], and to avoid setting up a VM for experimental driver software, and the driver will only take out entire subsystems on the host machine (network, filesystem) when it fails.

Re:Need Clarity (1)

greg1104 (461138) | about a year ago | (#43793953)

If you're developing kernel components, having a kernel that crashes cleanly can make development much easier. Being able to shut down your buggy kernel level program and then try again sure beats rebooting after a panic. Even though this isn't directly helpful to users of the system, making the test side of development easier can lead to the program evolving more quickly over time. The Hurd design has been filled with taking the side of various trade-offs that take longer, but are believed to be more powerful in the end.

Re:Need Clarity (0)

Chris Mattern (191822) | about a year ago | (#43793865)

From the perspective of design, Hurd has some good ideas

From the perspective of design, Hurd, has some interesting ideas. Unfortunately, they have for the most part, not turned out to be good ones. Microkernels have failed.

Re:Need Clarity (1)

gmack (197796) | about a year ago | (#43794189)

That makes plenty of sense until you realize that device drivers that interact with the hardware are far more likely to crash than things like TCP. Hardware often has things like Direct Memory Access(DMA) to and from the device to make access more efficient and when a hardware driver crashes, a misplaced DMA setting on the hardware can scribble over any memory it wants.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43792895)

GNU/Hurd is a kernel. Just like GNU/Linux is a kernel. You might want to start reading up on the current state of the 'Hurd' kernel, where you can then make your own decision as to which type of kernel to run.

The software stack (Debian) is essentially the same in both cases - so you won't see an advantage running either. Having a look at the current state of hardware compatibility though, HURD is severely lacking at this point in time (no USB support for example).

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793123)

GNU/Hurd is a kernel. Just like GNU/Linux is a kernel.

ummmm, no.

Linux is a kernel. The GNU in GNU/linux. refers to the non-kernel bits of Linux distributions that come from GNU. It is funny how the GNU/world newspeak has become so reflexive that it has lost all meaning.

Re:Need Clarity (1)

Thud457 (234763) | about a year ago | (#43793329)

It is funny how the GNU/world newspeak has become so reflexive that it has lost all meaning.

That is a worship word. Yang worship. You will not speak it.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43793147)

GNU/Hurd is a kernel. Just like GNU/Linux is a kernel.

No. Linux is a kernel, GNU/Linux is an operating system.

You might want to start reading up on the current state of the 'Hurd' kernel, where you can then make your own decision as to which type of kernel to run.

You might want to start reading up on the difference between a kernel and an OS. Stallman's coming...

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43792969)

I'm far from an expert on this, but it would seem that anything you used to compile into the kernel would no longer need to be compiled into the kernel. You might just be able to swap out hurd member servers, rather than the full kernel. This may also allow for fewer kernel updates (and reboots), which would be good for high-availability servers.

I don't expect this to be sufficiently stable in its first release for these advantages to outweigh the costs, but it might be a good first step.

Re:Need Clarity (4, Informative)

Anonymous Coward | about a year ago | (#43793041)

http://en.wikipedia.org/wiki/GNU_Hurd

Lets start with that. Basically a different kernel (BSD and linux are 'monolitic' kernels, MacOSX is a hybrid).

The idea is everything as much as possible runs in its own process and funnels thru an IPC. The actual kernel does not do much other than scheduling and memory management and IPC.

The idea is you can upgrade your network stack without rebooting the computer. This was very appealing 20 years ago when rebooting to 15+ mins for some bigger hardware. When you can reboot a computer in under 30 seconds it is not as interesting. It is becoming a bit more interesting today with companies wanting '0 downtime' with SLA's. It was also possible that you could run stuff on another machine and it be considered part of the OS. Cool stuff but in practice it ended up being slower than direct calls in many key instances.

Now the downside, they have been working on this since 1987. So work is slow, updates few, resets of the project seem to happen every 3-5 years. At this point you have 4 major OS's to choose from that are all very good (2 of them basically being Unix and one that is a very good clone).

The end user POV of say MacOSX vs Linux vs BSD vs Hurd. Not much. At this point Hurd is basically a research project. Oh I am sure there are a few out there who use it for 'production use'. But not many.

Re:Need Clarity (5, Informative)

LoRdTAW (99712) | about a year ago | (#43793413)

Wheezy is a GNU/Linux operating system based on the Linux kernel. GNU/Hurd is the GNU operating system based on the Herd kernel. Commonly people simply call GNU/Linux "Linux" but Linux is the kernel which GNU runs atop of.

If you do a bit of research on Hurd the benefits are quite intriguing. One interesting bit is since Hurd is a microkernel, the concept of kernel-space and user-space disappears as everything runs in userspace. The kernel only worries about memory management, process/thread scheduling and message passing. Services are provided by "servers" running in userspace and talk to each other via messages. Users no longer need root access to do simple tasks like installing software, mounting disks, accessing hardware or other tasks which require root access or sudo because they live in kernel space. Instead they talk to the servers directly. The idea is that by moving services to user space, the need to grant users any type of root access (setuid, su or sudo) is removed. There is still a security hierarchy with a "root" user who has full control of the system, but users never need access to that user or group. No need for root access means less chance that the root account can be compromised. Imagine the problem of "privileged ports" disappearing because those services (ftp, http, etc.) no longer need any sort of root access. They are simply allowed to read/write certain files/directories and access the network. If that service is compromised, it can't gain root access.

Some have said microkernels are not necessary or that they impose a larger overhead in the form of message passing. That argument was valid ten plus years ago but today we have quad core 1.5GHz cell phones and PC hardware that is so fast that its stagnated the market. Linus Torvalds famously argued against the microkernel with Andrew Tanenbaum (Minix creator who inspired Torvalds) who is in favor of them. Eric S. Raymond once said about Plan 9 (The planned successor to Unix that failed) "There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough.". Hurd may never see production use and like Plan 9 be relegated to a research or pet project of a handful of developers interested in operating system design. I hope it succeeds.

Re:Need Clarity (0)

Anonymous Coward | about a year ago | (#43794515)

plan 9 has been and continues to be in production use in surprisingly
high performance and high uptime environments, such as switches
and storage.

QOTD WTF!!!! (-1, Troll)

Anonymous Coward | about a year ago | (#43792849)

"Q: What do you say to a Puerto Rican in a three-piece suit? A: Will the defendant please rise?" - slashdot

here's a better question:

What do you call a geek site that posts such things?

a fucking disgrace and hopefully amongst the last bastions of casual racism.

and people wonder why I'm AC, pfft

Re:QOTD WTF!!!! (1)

Thud457 (234763) | about a year ago | (#43793385)

I know, I'm feeding the troll.

In case you were actually offended, place blame where it belongs [wikipedia.org] .
Then help fix the problem by submitting a bug report to your favorite distro instead of just bitching about it.

Re:QOTD WTF!!!! (-1)

Anonymous Coward | about a year ago | (#43793747)

"With Ubuntu, I wanted to create a version of Debian that was easy enough for niggers to use." - Mark Shuttleworth

No drivers for SATA in 2013? (1)

zitsky (303560) | about a year ago | (#43792857)

I know that Hurd has been in development a long time. I'm surprised that they still don't have SATA drivers.

Re:No drivers for SATA in 2013? (1)

Anonymous Coward | about a year ago | (#43793011)

http://www.gnu.org/software/hurd/faq/sata_disk_drives.html

Does anyone have any non-silly comments? (2)

serviscope_minor (664417) | about a year ago | (#43793023)

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?

Re:Does anyone have any non-silly comments? (2)

i.r.id10t (595143) | about a year ago | (#43793169)

According to RMS in "Revolution OS" the difficulties with their attempt at the microkernel is in the timing of messages back and forth to all the little sub processes/daemons/whatevers

Re:Does anyone have any non-silly comments? (4, Interesting)

Pinhedd (1661735) | about a year ago | (#43793173)

Microkernel operating systems aren't inherently difficult to construct but there's a very noticeable tradeoff between the performance of a hybrid/monolithic kernel and the security/stability of a microkernel.

The performance hit comes from the hardware isolated process model used by modern microprocessors. Whenever an application needs to do something outside of its own scope, such as request additional memory, access shared resources, or interface with a device driver it makes a system call. In a monolithic system this requires the processor to switch from the running task to the kernel task, perform the requested action, and then switch back to the running task. If the kernel needs to access the tasks memory, it can access it through segmentation or shared memory with ease because the kernel in a monolithic system has no access constraints.

In a microkernel system the processor switches from the running task to an interprocess messaging task (part of the microkernel), which then copies the message to the requested server's buffer, switches to the server task, processes the message, switches back to the messaging task, copies the response back to the original client's buffer, and then switches back to the client task.

Task switches are very expensive in terms of CPU cycles, so minimizing them is key to obtaining performance. Hybrid and Monolithic kernels have a massive performance edge on modern processors because they perform a fraction as many task switches and memory operations whenever a system call is performed.

Re:Does anyone have any non-silly comments? (3, Interesting)

putaro (235078) | about a year ago | (#43793269)

I looked at it a while back with an eye towards doing some work on it, but I'm interested in file systems and large storage and Hurd was limited to a max of 4GB per file because all files were memory mapped all the time and Hurd only runs on 32-bit architectures. So, for me, the amount of work before I could do something interesting was pretty steep.

I think the main reason that microkernels don't have great performance is because not much work has been put into them. I worked on Apple's Copland OS back in the mid-90's (the "failed" OS before OS X). Copland was a true microkernel and there were a number of performance optimizations that we'd put in. Had it shipped, we probably would have started making some modifications to the CPUs to support the microkernel better as well.

A big issue for performance is switching between processes. If you have to make multiple process switches for each kernel call that can get slow due to things like reloading the MMU tables, etc. There are a lot of different paths that could be taken. I could imagine a micro kernel, for example, written in Java or similar language running in a VM that enforced fine-grained memory controls, e.g. at the object level. If you used this for memory protection between trusted (e.g. OS level) servers you could avoid the hit of reloading the CPU's page maps. User space separations could be enforced by the CPU for better security.

Re:Does anyone have any non-silly comments? (3, Informative)

Pinhedd (1661735) | about a year ago | (#43793319)

>I could imagine a micro kernel, for example, written in Java or similar language running in a VM that enforced fine-grained memory controls, e.g. at the object level. If you used this for memory protection between trusted (e.g. OS level) servers you could avoid the hit of reloading the CPU's page maps. User space separations could be enforced by the CPU for better security.

Microsoft Research has done a lot of work on this exact idea. They even produced a usable operating system

http://en.wikipedia.org/wiki/Singularity_(operating_system) [wikipedia.org]

Re:Does anyone have any non-silly comments? (1)

Anonymous Coward | about a year ago | (#43793443)

Microsoft Research has done a lot of work on this exact idea. They even produced a usable operating system

ERROR IN LINE 1: DOES NOT COMPUTE!

Re:Does anyone have any non-silly comments? (4, Funny)

Chris Mattern (191822) | about a year ago | (#43793791)

Microsoft Research has done a lot of work on this exact idea. They even produced a usable operating system

I suppose there's a first time for everything.

Re:Does anyone have any non-silly comments? (5, Interesting)

VortexCortex (1117377) | about a year ago | (#43793515)

Managing the trust graph is why it's hard. Security is always hard. On a monolithic kernel we just say: Uhm, yeah, I trust all these drivers and whatever, even though I probably shouldn't because... well... That's how it works. GNU/HURD/HIRD has a more modular approach that pushes the drivers out of kernel space, but it has some design flaws ( letting a directory node provide its own ".." -- Yikes! ), and the number of developers is next to non-existent.

Furthermore modern processors are designed for monolithic kernels. Just like x86 has a bunch of cruft from when ASM coders wanted more complex instructions (for less / easier coding), Features like Multiple Execution Ring Levels are missing. ARM gives me Two Rings. AMD x86 gives me Two Rings. Intel x86 gives me 4 rings! A ring level essentially is a hardware supported security level. Each ring allows another "mode" of security. So, with only two rings, I can create an OS that has userspace and kernel mode. With 3 rings I can have Kernel, Trusted Driver/Module/Interface, and Userspace. The barriers required to easily create a secure microkernel don't exist. With only 2 rings we have to decide if userspace or kernel mode is where a module belongs -- They don't belong in either! We Need The One Ring to be an intermediary between Ring Zero (which rules them all) and give Ring 2 to the userland, and in the darkness bind them.

Everyone's using monoliths, hardware makers give us 2 rings to make that happen. Hell the hardware even prevents adoption of new (more secure) programming paradigms. Even the virtual memory addressing system in modern chipsets is designed to work best with C. I'm working on a more secure language with separate call and data stacks, and code-pointer overwrite protections for heap data, but the x86 / x64 / ARM platforms I'm working on are built for single stacks, and thus stack smashing or buffer overflow is an inherit design flaw. Segmented memory would be great for securing functions on a per call basis -- Swapping Stacks at will, Super easy Co-Routines... but those bits were sacrificed to the More Memory God, and the registers became a part of the virtual addressing system. On 16 bit code I can do some neat things that I can't do on 32bit mode code without a huge headache, because the hardware doesn't support me doing it.

So, that's why it takes so long. Because we're trying to do stuff in software that the hardware doesn't support. These things are more secure and are great for modularity, but the hardware's designed to do it faster the monolith / C way. Note that to a program it won't matter about whether the filesystem is uber modular, or the device drivers are not in ring 0. Hell, eventually I'll port a C compiler to the multi-stack code.

Note: I don't work on GNU/HURD/HIRD, just develop my own OSs. Yeah, I could work on Linux or other POSIX OSs, but why? That's not going to advance the state of the art in Operating Systems at all. A reliable design is grand for production systems, but to make the leap from the 80's, we're going to need some new hardware to help us out. Got Viruses? Blame the Chip Maker, Language Implementer (not designer), and Operating System. Seriously, they're all doing it WRONG if security is the goal. With a separate call and data stacks on chip, One Ring more, you could actually have the damn security you want.

Re:Does anyone have any non-silly comments? (1)

serviscope_minor (664417) | about a year ago | (#43793653)

Not sure I follow the comment about more than two rings.

Wouldn't a 2 ring system with an IOMMU be sufficient? That way drivers could sit in ring 1, but still have access to the piece of hardware required.

This may not be a sane question: I have read a fair but, but I've never tried to write a kernel.

Re:Does anyone have any non-silly comments? (1)

shia84 (1985626) | about a year ago | (#43793657)

"Just" a microkernel is fairly straightforward to build if you have a bit of experience. I could make a simple one in two afternoons.

Microkernel OSs with a very limited feature set and somewhat OK-ish performance are feasible, as shown by e.g. velOSity and embedded realtime systems like QNX.

Microkernel OSs that can be used for general purpose computing and offer a nonvanishing fraction of the performance of Linux, XNU or NT are ... well, the development times of the L4 family, Hurd (OK, this one has other roadblocks), Sawmill etc. show how hard it is.
There have been quite a bunch of microkernel research projects (by at least IBM and Microsoft for what I know, plus the usual bunch of universities), and there has been renewed interest lately. In the future it might come down to "your hardware is fast enough that a performance hit of, say, 50% doesn't matter, and the added stability, security and MUCH simpler life for developers that interact with the lower parts of the system are worth it".

Re:Does anyone have any non-silly comments? (2)

Chris Mattern (191822) | about a year ago | (#43793759)

Also, why is a microkernel OS so apparently difficult to construct?

In the final analysis, a modular message-passing architecture posed performance problems they were never able to adequately solve, pretty much as the nay-sayers predicting when microkernels were first proposed.

Academic Use (5, Informative)

Giant Electronic Bra (1229876) | about a year ago | (#43793029)

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.

Loss of face if they dumped it (0)

Viol8 (599362) | about a year ago | (#43793201)

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?

Re:Loss of face if they dumped it (0)

Anonymous Coward | about a year ago | (#43793391)

Given that it's happened for 20+ years, yes I can see it happening. Richard has never been one to care about practicality anyway. If loss of face was something he was concerned with he would chew on his feet and hair on camera.

Re:Loss of face if they dumped it (0)

Anonymous Coward | about a year ago | (#43793425)

*wouldn't

I shouldn't be posting to slashdot before my morning coffee.

Re:Loss of face if they dumped it (4, Informative)

CRCulver (715279) | about a year ago | (#43793669)

Stallman has already announced that he is content with Linux as the GNU kernel and that he has lost interest in the Hurd project. Hurd is kept alive now by hobbyists interested in alternative kernel designs, not Free Software demagogues.

Re:Loss of face if they dumped it (5, Informative)

serviscope_minor (664417) | about a year ago | (#43793695)

If they dumped Hurd now it would be a complete loss of face

Yay it's the daily make shit up about the FSF/RMS thread!

http://blog.reddit.com/2010/07/rms-ama.html [reddit.com]

TL;DR

http://lists.gnu.org/archive/html/bug-hurd/2010-08/msg00000.html [gnu.org]

Seriously, is it hard to google RMS Hurd before posting crap?

Re:Loss of face if they dumped it (1)

greg1104 (461138) | about a year ago | (#43793835)

Seriously, is it hard to google RMS Hurd before posting crap?

It takes a while when you have to fetch web pages from other sites by sending mail to a program that fetches them, much like wget, and then mails them back so you can then look at them using a local web browser. (Seriously [stallman.org] !)

Re:Loss of face if they dumped it (1)

serviscope_minor (664417) | about a year ago | (#43794071)

Well played!

Stallman is entertainingly single minded, but I hope anyone can respect someone who actually manages to live day to day by the principles he claims to have[*].

[*]Well I say "anyone", of couse, but if your principles include mass murder etc, then respect is perhaps not due.

Re:Loss of face if they dumped it (1)

Giant Electronic Bra (1229876) | about a year ago | (#43794423)

Yeah, he's a bit out there, but it would be incredibly hypocritical not to give credit where due. The guy is clearly the prime mover behind a lot of free software. I'm sitting here typing this on my nice FC17 system in Firefox and using all sorts of FSF software practically every hour of the day to run my business etc. The world needs guys like RMS, even if it doesn't seem to know it or appreciate them a whole lot. In my world one RMS is worth 12 Bill Gateses.

Re:Academic Use (0)

Anonymous Coward | about a year ago | (#43793523)

So, they can revamp apple mach as a ukernel and port gnu-hurd on it. A lot of device drivers can be used this way. Pure darwin can help there.

But .................

Re:Academic Use (1)

bill_mcgonigle (4333) | about a year ago | (#43793777)

Even in terms of microkernel design Hurd is dated

Well, that would be the place to focus. If Hurd focused on being the best microkernel project (vs. Minix or whatever) then they would attract lots of help from academia. Is there something preventing this?

I wonder, too, since a (the?) major issue with microkernels is the cost of message passing, if some of the newer/alternative distributed architectures (which have an inherent message passing delay anyway) wouldn't be a better fit for Hurd than x86 hypervisors. It's been a long time since I've done any serious computer architecture work, but even back then people were playing with various weird bits of hardware that were very wide and not very deep, with barely an OS to get to the point of being able to experiment with them.

Re:Academic Use (1)

Giant Electronic Bra (1229876) | about a year ago | (#43794497)

Yeah, I don't know. I can't even pretend to be any more than superficially informed about modern OS design. There was a day when I worked on bare metal and RTOSes, ported FORTH to new processors and such things, but its been 25 years now. I understand that people have developed some more useful communications techniques and that a lot of the issue is CPU designs that assume a monolithic kernel architecture and aren't kind to things like microkernels. I know from casual skimming there are various areas of active research. It would seem like in the future we're likely to have dozens or 100's of cores, at which point dedicating one to running your USB port doesn't seem terribly ridiculous and I'd think that would obviate some of the context-switching issues with current designs.

Re:Academic Use (2)

VortexCortex (1117377) | about a year ago | (#43793825)

I agree. However, I think "mostly pointless" is the most moronic phrase. You like viruses? Keep using a single stack for code and data and having no fine grained memory access barriers... Think it's "mostly pointless" to try and solve the malware issue? Well, fuck you then. Say a solution is found, it won't be in a monolithic kernel design. We need at least one more layer between Users and Master of the Universe. Hell, we could even have another level under userspace for "plugins", wouldn't it be grand if a plugin couldn't just take over your whole program? Solving any of these issues is basically what alternate OS development is needed for. What's "mostly pointless" is throwing money and time at the monolithic approach and hoping for innovation in operating systems...

Not currently usable by end users does not make something mostly pointless. End users don't give a damn about how the OS provides security or other features. HURD is MOST IMPORTANT because it actually does things differently than all the other mainstream OSs. That you can get 75% of the Debian repo running on it is HUGE. If you don't think so, I reiterate: Fuck you, fool.

Re:Academic Use (0)

Anonymous Coward | about a year ago | (#43793881)

Honestly, while I certainly don't want to rain on anyone's pet project Hurd has mostly become pointless.

Or rather, you don't value or understand the points motivating the efforts of others putting work into this project.

MIcrokernels are yesterdays tech (1)

Viol8 (599362) | about a year ago | (#43793155)

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.

It's finally here! (0)

Anonymous Coward | about a year ago | (#43793263)

Year of the Debian GNU/Hurd desktop!

So how many GNU/whatevers are there (1)

ebh (116526) | about a year ago | (#43793435)

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?

Re:So how many GNU/whatevers are there (0)

Anonymous Coward | about a year ago | (#43794057)

I run GNU on your MOM! So, it's a GNU/YOUR MOM!
No seriously, you get get the GNU tools to run on any UNIX like system, and they were developed on such before a free kernel existed, and for many years, the tools were better than anything any propitiatory crap.
P.S.

I FUCK YOUR MOM! HAHA!

Re:So how many GNU/whatevers are there (1)

shia84 (1985626) | about a year ago | (#43794155)

This particular terminology is System/Kernel, and a not at all exhaustive overview would be:
GNU/Linux (Debian, Ubuntu, ...)
GNU/Hurd (Debian has one such distribution, Arch has another called "Arch Hurd")
GNU/kBSD (Debian has one, [0])
GNU/ON (Illumian, a Debian+Solaris kernel distro)

GNU/BSD or GNU/Solaris would be somewhat more like GNU/GNU, which doesn't make a lot of sense.

[0] They call it "Debian GNU/kFreeBSD", as it uses the FreeBSD kernel, which isn't actually called "kBSD" or "kFreeBSD" but has no distinct name, as it's not Mach anymore, but simply "the kernel of FreeBSD"

Came for the "Hurd On" joke... (0)

Anonymous Coward | about a year ago | (#43793867)

...was disappointed.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...