Hi,

I take the chance of last Victor's message to close my point of view.

To Peter Tauben I just answer that I do not want to repeat the
Tannenbaum vs Torvalds dispute, but I think Tannenbaum was right. The
fact that Linux is a success story is like the ridiculous Intel 8088
beating the wonderful Motorola 6800x. Just a market fact and hackers are
just a big market as Windowers are. So I'm a happy Linux user, and I
suggest it to others but, unlike yours, my affair with Linux is one of
interest not of love.

> One of the results of the Mach experiment was that performance required
> moving more and more "server" code into the "microkernel". The problem
> is worse on modern processors where TLB and cache misses are very
> expensive.
>         User ->send request -> Kernel -> deliver request -> server -
> 
>         server reply -> kernel -> deliver reply -> User wake up
> 
>        5 context switches
> 
>        User -> kernel -> User
> 
>        2 context switches, easily optimized to not cause tlb misses.
> 
>        And in a true microkernel, the server may need to talk to another
>        server etc -- so things get worse.

To Victor I say that he made a good point above, but the picture can be
not so straightforward if you are requesting shared resources, as the
kernel can be in a position of not being able to serve you immediately
and then the task switches can be more than 2. Moreover people of QNX
have a lot of measuraments to show that they are faster than many
Unixes, I never saw comparisons with Linux, because their switching is
even faster than the overhead it takes to make kernel calls.
Moreover what about distributed real time applications with monolitic
kernels?
So I too will stop the dispute here agreing that well engineered
solutions are the best compromise and that the modules are a good idea
that add to Linux something toward microkernel like solutions.
Nonetheless in QNX I was able to developped drivers in user space
without, once EOIs were in place, crashing the computer and knowing
anything of the kernel. In Linux module development is more painfull,
not to talk about patching the kernel.

Ciao, Paolo.
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to