Tarefas de sistemas operativos são feitas de maneiras diferentes por núcleos diferentes, dependendo do seu desenho e abordagem. Enquanto
núcleos monolíticos tentam alcançar seus objetivos executando todos códigos de sistema no mesmo
espaço de endereçamento para aumentar a performance do sistema,
micronúcleos executam a maioria dos serviços do sistema no
espaço de usuário como
servidores, buscando melhorar a manutenção e a modularidade do sistema operativo. Uma gama de possibilidades existem entre estes extremos.