Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've seen that systems running on top of Hurd start to become available (namely Arch Hurd) and I was wondering how a user, anyhow advance s/he can be, can see a difference?

Linux and BSD should be pretty much the same, because both of them are monolithic kernel, so the only difference should be their syscall API.

NB: when I write Linux, I don't mean GNU/Linux, as I guess that the GNU environment should eventually be the same in both systems

EDIT: deleted the statement about BSD, I don't know anything about this system and that's not the point of my question :$

EDIT 2: Let's try another approach: I have a good knowledge of GNU/Linux. What would be different with GNU/Hurd? for instance,

  • module certainly can't exist with a micro-kernel, what's the equivalent? how does a video card driver looks like ?
  • if the Hurd kernel (Mach) delegates core-tasks to user-space processes, which are they?
  • who is in charge of these core tasks ? (an equivalent of super-init?)

(side-question: does this question belongs to stackoverflow?)

share|improve this question
    
@Ignacio but wikipedia lists xBSD among the monolithic kernel ... ? –  Kevin Mar 10 '11 at 13:28
add comment

2 Answers

Hurd -> Microkernel

while

Linux -> Monolithic kernel

similar to the difference b/w monolithic kernel and Microkernel

1 ) Monolithic kernel is much older than Microkernel. It’s used in Unix . While Idea of microkernel appeared at the end of the 1980's.

2 ) the example of os having the Monolithic kernels are UNIX , LINUX While the os having Microkernel are QNX , L4 , HURD , initially Mach (not mac os x) later it will converted into hybrid kernel , even MINIX is not pure kernel because device driver are compiled as part of the kernel .

3 ) Monolithic kernel are faster than microkernel . While The first microkernel Mach is 50% slower than Monolithic kernel while later version like L4 only 2% or 4% slower than the Monolithic kernel .

4 ) Monolithic kernel generally are bulky . While Pure monolithic kernel has to be small in size even fit in s into processor first level cache (first generation microkernel).

5) in the Monolithic kernel device driver reside in the kernel space . While In the Microkernel device driver reside in the user space.

6 ) since the device driver reside in the kernel space it make monolithic kernel less secure than microkernel . (Failure in the driver may lead to crash) While Microkernels are more secure than the monolithic kernel hence used in some military devices.

7 ) Monolithic kernels use signals and sockets to ensure IPC while microkernel approach uses message queues . 1 gen of microkernel poorly implemented IPC so were slow on context switches.

8 ) adding new feature to a monolithic system means recompiling the whole kernel While You can add new feature or patches without recompiling.

share|improve this answer
add comment

Why not first read up on what HURD is: http://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd.html

In short (from my understanding) HURD is a kernel running on top of a MACH micro kernel allowing for updates of even the HURD kernel stuff without a reboot.

That is all nice and theoretic, but in practice the only thing you'll notice is the lack of (driver) support for HURD.

HURD is like BSD and LINUX . . all pretty much the same but different. They are all kernels with their own pros and cons.

share|improve this answer
1  
"all pretty much the same but different" I can't believe it :) I has to be different in a way, at some level! –  Kevin Mar 10 '11 at 14:40
    
The microkernel design and some philosophy, it seems. –  the JinX Mar 10 '11 at 14:42
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.