Earlier quoted context omitted.
http://en.wikipedia.org/wiki/Exokernel <- if you're playing the 'how big is a kernel' game.
Awesome link, thanks! The key part of any kernel can be expressed from this Exokernel definition: Exokernels are tiny, since functionality is limited to ensuring protection and multiplexing of resources, which are vastly simpler than conventional microkernels' implementation of message passing and monolithic kernels' implementation of abstractions. They have to, in some way shape or form, deal with conflicting reques…
It also applies here: There's generally a userspace scheduler which programs can register themselves with. Or they can implement their own.