A) RISC v. CISC is pointless. Underneath a thick skin of decoders, even the modern x86's are strangely RISC-ful. They just happen to have variable length instructions and dont waste time with load store everywhere.
B) Microkernel is the one true path. The heathenistic convenience of microkernel will one day be overthrown. I will await the coming of my liege... Efficient message passing is no longer the problem. Its <i>inertia</a>. Already userland is cropping up more and more, witness FUSE, DragonFly BSD... DragonflyBSD in particular is heavily indicative of the future. Monolithic breaks down once you start getting more and more NUMA; the sychronization penalties become very serious. The second horseman of the apocalypse is virtualization. Xen, VMWare, these projects are redunant to microkernel systems. Microkernel makes this paravirtualiaztion unnecessary, negating the need to store entire OS images in seperation. Raw memory and disk space aside, this also has great performance impact; the cpu can keep a stable cache without thrashing between para-virtualized kernels. More and more CPU's, more and more performance, but we're trying to split each cpu more ways.... into more than one kernel now. HURD is a friggin joke. Its built off an ancient microkernel. Lord only knows if its active under development. There's a bunch of microkernel projects out there, a lot of them based off of L4. There's also a # of really cool cutting edge microkernels, but I cant find the two I'm looking for. Regardless, here's a link of L4 microkernel implementations; http://os.inf.tu-dresden.de/L4/impl.html -thefowle
