Depends on what all's running in it, but it shouldn't be more than a few MB (maybe 12 at most for a really loaded kernel). The kernel image on one of my servers is 1.2 MB compressed, so probably about 4 MB uncompressed, add in runtime data and the like and you might get 8 MB of space used or so.
Thaidog, yes, microkernel's can be very small, but size isn't the end all and be all of efficiency. For instance, with microkernels, so much is handled in userspace that there's a whole load of extra context switching[1] between all the different user processes, which is time "wasted" from the user POV. And if the entire microkernel was on cache, how much room would be left for user stuff? Not much, I wager (until caches get much bigger), so you're probably going to need to take out kernel stuff to make user processes run as optimally as possible.
The microkernel vs. monolithic kernel debate is ongoing to this day. A google on the subject should put up some good links, some of which I need to read myself some day.
[1] context switching is taking one process off the CPU and putting another on it to run.
|