I sistemi operativi possono basarsi su una struttura a kernel monolitico, come Linux, oppure a microkernel. Ciò significa che all'interno del nucleo di Linux sono contenuti tutti i sottosistemi demandati a gestire processi, memoria, device driver, protocolli di rete, ed ovviamente file system. Essi vengono eseguiti nello spazio di memoria del kernel e perciò un funzionamento erroneo può portare al crollo dell'intero sistema.
A partire dagli anni 1980, si afferma una nuova concezione di sistema operativo che trova tra i suoi promotori più convinti il professore Andrew Tanenbaum: essa propone un kernel minimale che si occupa esclusivamente di gestire i processi e le risorse da assegnare loro, e di consegnare i messaggi fra i vari sottosistemi. Questi ultimi sono implementati da processi demoni eseguiti in spazio utente che provvedono a fornire i servizi e a completare così l'interfaccia POSIX3.2 del sistema. Anche il supporto alla gestione dei file system quindi, viene caricato nello spazio di memoria non privilegiato. Questa soluzione è senza dubbio la più idonea a raggiungere lo scopo.
Un esempio di sistema operativo dotato di microkernel è il sistema
GNU. Il progetto che ne costituisce la base è lo stesso che si propone
di sostituire il kernel Unix ed è chiamato the Hurd3.3. Esso è composto da un insieme di server eseguiti sul microkernel
Mach che implementano i file system, i protocolli di rete, il controllo
di accesso ai file ed altre funzionalità.