Microsoft's Singularity http://en.wikipedia.org/wiki/Singularity_(operating_system) project was able to eschew the MMU and use verification to prove that programs couldn't harm the kernel or each other.
Structuring a kernel like this makes the micro-kernel idea much more palatable as context switch overheads drop dramatically.