w3k3m :
Have you ever heard for a word called "analogy" ? RISC vs CISC was just an analogy to the original principle, nothing to do with current CPU architectures. Small and efficient microkernel OS would despite IPC overhead as a whole match or beat one-piece-monster-kernel OS anytime. Did you know that almost all real-time operating systems are microkernels ? Cisco is using QNX in their high-end carrier grade routers and believe me they do care about performance very much. Microkernels are used in mission critical applications where performance could be matter of life and death. Enough said.
All I wanted to say is that from the pure technical point of view, I find it hypocritical when Linux advocates criticize Microsoft Windows. Otherwise, I also use Linux and as an idea and free source movement I find it great. Simple as that.
All I wanted to say is that from the pure technical point of view, I find it hypocritical when Linux advocates criticize Microsoft Windows. Otherwise, I also use Linux and as an idea and free source movement I find it great. Simple as that.
I'll say it again, MicroKernels do not outperform monolithic kernels. They are more secure and more stable, but executing the same set of code on both will yield better performance on the monolithic kernel.
You might not know this, but I've been working with QNX since early beta. I'm incredibly familiar with it's internals and it's strengths and weakness's. RTOS's are used not because of higher performance but because they are deterministic OS's. Non-deterministic OS's can only provide a guess at how many cycles it will take a specific piece of code to run, due to how they thread share and virtualize the CPU stack it is impossible for them to provide exact execution time. RTOS's do not virtualize the CPU stack and programmers can know ~EXACTLY~ how long a specific segment of code will take to execute prior to it's execution. For consumer desktop PC's this is largely useless, but for industrial and medical systems (along with the defense systems I happen to work on) it's incredibly important to know exactly how long code takes to execute and when results will be back. Their delicate timings are such that slight delays can result in large miscalculations. Cisco is not using QNX for performance related reasons, their using it because it provides better stability, security and determination.
Your original statements were accusing the worlds programmers of being "lazy" that they didn't overnight rewrite all their code for some as-yet-uncreated OS. This is a childish way of looking at things and when faced with that childishness your backpedaling and fronting.
Now what you don't know is that the various OS's of the world are slowly moving to a micro-kernel architecture. The are converting each of their subsystems to behave as they would in a modular uKernel environment. To the uninformed user they would appear to be a single monolithic kernel, but internally the components are being converted and recoded. MS especially has been doing this since XP / 2003 was created with each large block of the OS being broken into smaller blocks and dependencies being altered. Their doing this all while maintaining backwards compatibility by providing various virtual API's. A good example is MS' Windows On Windows architecture. I expect a full uKernel conversion to be complete in the next 10 or so years. The one that will take the longest is Linux due to it being a largely undirected effort.