So, as I (poorly) understand it, the idea of a "microkernel" is that each process/thread/application (I'm not quite sure which) gets its own kernel, sort of, and that this kernel is somewhat modular in that it only provides what functionality the application needs from it.
If I'm understanding that correctly -- which I very easily might not, I only have a somewhat abstract understanding of kernels to begin with, at best -- it seems to me that things like memory management suddenly become cooperative efforts, and that could very easily lead to what is typically non-technically referred to as a massive clusterf***.
Wouldn't it be easier/better, if you're going to rewrite code, to look at how the code is written now and find ways to make it more compact (or less sloppy, perhaps, as the case may be) while still providing the same functionality?
I recognize that we've come a quite long way from things like an Atari 2600, but when you consider the system resources of /that/ machine -- 4k ROM, 128 *bytes* of memory, a rather nastily-tempered, strict, and uncooperative graphics controller, and a CPU running at ~1MHz with no interrupt capability whatsoever -- and what all was done with it by coding tightly (and the occasional dirty trick or three) -- it seems to me, admittedly as a non-programmer, that there's a lot that could be done to streamline the behavior of modern operating systems and the applications that run within them.
For example, I'm typing this on a 32bit Win7 based HP Mini netbook with an Atom N450 CPU and 2gb RAM. It seems to me that playing Pandora Internet Radio in one browser window, with another browser window of nine tabs (and three of those are static JPEG images retrieved from a search engine, not proper webpages or anything), and with the file manager having one window open and another image displayed in an OS-resident image viewer -- that the described load ought not to very nearly lock the machine up entirely. And yet, it does -- which, it seems to me, indicates that the gentlefolk they're hiring over there in Redmond these days, simply do not understand how to code.
But, then, neither do I...