Advertisement

have you heard of HURD?

Started by October 14, 2004 08:11 PM
58 comments, last by flangazor 20 years ago
Quote: Original post by Magmai Kai Holmlor
The only real advantage of a real-world micro-kernel over the real-world monolith kernel (that I see) is that you can take advantage of additional rings of protection with the micro-kernel. This is possible because drivers and system services (e.g. tcp/ip stack) could exist in their own memory space and have their own access privileges. You can set it up so only the network service (and the kernel) can touch the network IO ports of the NICs. Someone can't load a rogue driver and take control of everything in the system. This is not how NT, VxWorks, Integrity, etc... work. They have a micro-kernel architecture, yet kernel and system services share a common memory space and IO privileges. One of the few kernels that actually does this is QNX. Often it's said that QNX has a nano-kernel architecture because it is so different from typical micro-kernels.


QNX rocks as an example of what microkernels are capable of. Stability and real-time capabilities draw from the fact that it's a well-designed microkernel arch.

But notice I said "well-designed". It's more difficult to engineer microkernel archs effectivly compared to monolitic kernels. So to sum up:

In theory, the Hurd system is more scalable, stable, and just generally more capable than Linux.

In reality, the design of Linux is such that new features are easier to implement, because of the inherent simplicity of a mono kernel. That's why, at this moment, Linux > Hurd. Will Hurd catch up? Not unless some big backers get behind it. I personally think Hurd has some major issues which need to be redesigned, but that's only my opinion.
Quote: Original post by C-Junkie
Quote: Original post by Mayrel
The fact that Linux is scalable does not disprove that microkernels are more scalable. It is easier to remove system components from a microkernel system to make it fit on a low-end device. It is easier to add system components to a microkernel system and easier to transparently distribute these components over a cluster.
And yet linux is the most scalable operating system on the planet... a microkernel has yet to beat it. I'll believe it when I see it.

Where exactly is the facts on linux being the most scalable, as I remember both BSD(I can't remember which one, I think it was netBSD) and Solaris have results putting linux's scalability to shame..

another thing C-Junkie, what other OSes have you used extensively other than linux(and maybe windows)?
Advertisement
Quote: Original post by C-Junkie
HURD is pretty much a joke.

Apparently the linux kernel isn't good enough for the GNU people (no copyright assignment to the FSF, presumably), so they're (slowly, slowly, slowly) working on their own.

It's also a microkernel, which is architecturally different from a monolithic kernel. (like linux)


In a way, this is true, in another not exactly. The deal is, according to Stallman( Father of GNU ), that they had started to write a kernel before Linus even starting to think about writing the Linux kernel. But being that a Microkernel architecture is a hell of alot harder to code than a standard monolithic kernel like linux, Linus got his kernel out ready to use( still buggy at that stage but usable ) before the GNU HURD. Now, wether you have HURD or Linux as a kernel won't matter much to anybody since the tools are basicly the same (GCC, GNU's version of BASH, GNU's Make,etc).

On another note, it could be concidered a *NIX, since it's also supposed to be POSIX compliant.
[Cyberdrek | ]
Quote: Original post by Cyberdrek
Quote: Original post by C-Junkie
HURD is pretty much a joke.

Apparently the linux kernel isn't good enough for the GNU people (no copyright assignment to the FSF, presumably), so they're (slowly, slowly, slowly) working on their own.

It's also a microkernel, which is architecturally different from a monolithic kernel. (like linux)


In a way, this is true, in another not exactly. The deal is, according to Stallman( Father of GNU ), that they had started to write a kernel before Linus even starting to think about writing the Linux kernel. But being that a Microkernel architecture is a hell of alot harder to code than a standard monolithic kernel like linux, Linus got his kernel out ready to use( still buggy at that stage but usable ) before the GNU HURD. Now, wether you have HURD or Linux as a kernel won't matter much to anybody since the tools are basicly the same (GCC, GNU's version of BASH, GNU's Make,etc).

On another note, it could be concidered a *NIX, since it's also supposed to be POSIX compliant.


Key words being "supposed to". Theoretically, Hurd will be POSIX compliant int he future, but right now you'll find that many basic POSIX features, like shared memory, are either buggy or nonexistant.

I don't know. Hurd is, like I said, only better theoretically. Perhaps I'd be more excited if there were more than, like, 4-5 entries in the Hurd changelog in the past year.
I actually have Debian's Hurd distro lying around. Maybe I'll use it, maybe I won't.

RMS? Who's that?
Quote: Original post by etothex
I personally think Hurd has some major issues which need to be redesigned, but that's only my opinion.
It's hilarious that you mention this, since that's pretty much 70% of what the Hurd people have accomplished.

Design and redesign. And redesign. And maybe switch to a different microkernel base. And then redesign, just for kicks.

and, um, who was it... eedok. what have I used besides linux? I've never really payed attention too much. Stuff.
Advertisement
Quote: Original post by Oluseyi
I would just like to infuriate the rabid anti-Microsoft visitors by pointing out that Windows NT's kernel is a hybrid of monolithic and microkernel architectures. The kernel itself exists in a protected state, with the Executive acting as intermediary. What would be kernel functions in a monolithic design are actually Executive functions in NT, which then interfaces with the actual kernel. Windows NT is an object-oriented architecture, but it presents a simple procedural API.

Very impressive, and actually possessing more features blow-for-blow than your generic Unix.


actually, linux is also a micro-kernel/monolithic hybrid
Quote: Original post by Roboguy
actually, linux is also a micro-kernel/monolithic hybrid


...No it's not. It's very design parameters basically specify a pure monolithic kernel. Even things that are done in user space usually require kernel support or a kernel module.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Quote:
actually, linux is also a micro-kernel/monolithic hybrid


Linux is monolithic. The only thing that makes it resemble a microkernel is the module (un)loading. But the modules all share the same address space etc.

-oddbot
Quote: Original post by etothex
Perhaps I'd be more excited if there were more than, like, 4-5 entries in the Hurd changelog in the past year.
It's so dead. Looking at the ChangeLogs is just depressing. Most haven't been touched in 16 months to two years.

This topic is closed to new replies.

Advertisement