I was discussing
exo-kernels, actually, not microkernels; they are radically different concepts. A microkernel design is intended to be at a higher level of abstraction than a a monolithic kernel, by providing a set of standard protocols by which new components can be added to the system, and removing many of the modules which would otherwise be part of the kernel and making them user processes instead. Exo-kernels, conversely, are intended to
remove abstractions, by providing no services except basic memory protection and multiplexing of the hardware - everything else is done in userland libraries and/or application-specific low-level code, even memory management and IPC and process/thread control. The whole reason for calling it an exo-kernel is because it doesn't really have a kernel at all in the usual sense - the 'kernel' services are outside of the 'system', invisible to the users and even to the programs, which are given the illusion of running alone on bare metal.
More succinctly, a microkernel works by making an operating system more extensible and simplifying the kernel part of the system; an exo-kernel bypasses the need for an operating system entirely.
It is incorrect to describe a microkernel as a virtualizer; microkernels provide many other services than that, and conversely, not all microkernels virtualize (e.g., the original 8088 versions of Minix and QNX). The issue of 'os personalities' is orthogonal to the monolithic vs micro vs exo-kernel issue entirely; only a handful of systems provide such services, and some of those which do are monolithic systems.
There are dozens of microkernel systems in wide use, starting with the current versions of Windows (which does indeed use it for OS personalities, primarily, though on a level that is essentially transparent to the user - the 'personalities' part is entirely in the support for executable formats and system services, not user interface) and MacOS (which uses the Mach kernel, just as the NeXT did; you'll often hear it incorrectly described as being a FreeBSD kernel, but this is a misunderstanding stemming from the fact the Mach was initially a derivative of the old BSD 4.2 system in the 1980s). Needless to say, just how 'micro' a microkernel system has to be is a relative thing
There are no commercial exo-kernel 'systems' in existence, AFAIK; all current exo-kernel systems are experimental designs, and the only really important one of those was ExOS (apparently, I was incorrect in describing L4 as an exo-kernel; it is a microkernel, according to the designers, and from what I see looking it up I find that this is the case).