summaryrefslogtreecommitdiff
path: root/microkernel/fud.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2010-12-13 20:22:52 +0100
committerThomas Schwinge <thomas@schwinge.name>2010-12-13 20:22:52 +0100
commit4eea3efc13acccfb613571f604f17e0ec68e5bed (patch)
tree9c72a7790d6eb1602614971853131e3cc3f68174 /microkernel/fud.mdwn
parentcfccdc1bdbee7fb25ef0aa9639a3ffec926bf690 (diff)
``Some'' Mach documentation.
Parts have been rescued from 4b382d8daa5a9e2d54e78c18beeff76bc54dc16b:Mach/MachConcepts.mdwn.
Diffstat (limited to 'microkernel/fud.mdwn')
-rw-r--r--microkernel/fud.mdwn14
1 files changed, 13 insertions, 1 deletions
diff --git a/microkernel/fud.mdwn b/microkernel/fud.mdwn
index 6353f81d..3f9229aa 100644
--- a/microkernel/fud.mdwn
+++ b/microkernel/fud.mdwn
@@ -11,7 +11,19 @@ This article is a response to an [earlier article](http://www.linuxjournal.com/n
Miles Nordin claimed that microkernels are dead already. But this is not completely true. The first generation of microkernels, which were in fact no real microkernels, are dead. But there is a new generation, which uses a radically different strategy than the original (so-called) microkernels. Thus, microkernels are still a research topic, and today they look more promising than ever before. By now, this is just something we claim, but read on, and you'll find out why we do so.
-Out of our own experience, we can confirm that the first generation microkernel Mach is quite slow, but being microkernel independent is one of the goals of the Hurd and people are already working on porting the Hurd from Mach to the second generation microkernel L4. Those new second generation kernels aren't as slow as Mach and we think that one should not talk about the performance of microkernel based systems without having read at least some of the papers on L4. The L4 people did some interesting benchmarks, which indicate that one can get a lot of performance by making a microkernel really small. How is this supposed to work? Well, the microkernel provides very primitive, highly optimized operations, and applications use them to implement whichever way of interprocess communication is apropriate for them in an efficient way. By deciding this on a per-case basis, you get optimal performance for all applications.
+Out of our own experience, we can confirm that the first generation microkernel
+Mach is quite slow, but being microkernel independent is one of the goals of
+the Hurd and people are already working on porting the Hurd from Mach to the
+second generation microkernel L4. Those new second generation kernels aren't
+as slow as Mach and we think that one should not talk about the performance of
+microkernel based systems without having read at least some of the papers on
+L4. The L4 people did some interesting benchmarks, which indicate that one can
+get a lot of performance by making a microkernel really small. How is this
+supposed to work? Well, the microkernel provides very primitive, highly
+optimized operations, and applications use them to implement whichever way of
+inter-process communication is apropriate for them in an efficient way. By
+deciding this on a per-case basis, you get optimal performance for all
+applications.
But L4 takes this even further. For example, you can have schedulers in userspace. Therefore you can use a scheduler which is optimized for the specific tasks your system performs. With the Linux kernel, different schedulers are only possible by using a different source tree, thus you cannot switch at run-time and/or have different schedulers for different groups of processes.