Singolo e multi-tasking
Un sistema single-tasking può eseguire solo un programma alla volta. Un sistema operativo multitasking può eseguire più di un programma allo stesso tempo. Il multitasking è fatto dividendo il tempo del processore. Il processore dà un po' del suo tempo ad ogni programma.
Singolo e multiutente
I sistemi operativi monoutente non possono distinguere tra gli utenti, ma possono permettere l'esecuzione simultanea di più programmi. Un sistema operativo multiutente permette a più utenti di interagire con il sistema allo stesso tempo.
Distribuito
Un sistema operativo distribuito gestisce un gruppo di computer distinti e li fa apparire come un unico computer. I calcoli distribuiti vengono eseguiti su più di una macchina.
Template
In un contesto di OS, distribuito e di cloud computing, il templating si riferisce alla creazione di una singola macchina virtuale come sistema operativo ospite, salvandola poi come strumento per più macchine virtuali in esecuzione. La tecnica è comune nei grandi magazzini di server.
Incorporato
I sistemi operativi embedded sono progettati per essere utilizzati in sistemi informatici embedded. Sono progettati per operare su piccole macchine come i PDA con meno autonomia e sono in grado di operare con un numero limitato di risorse. Windows CE e Minix 3 sono alcuni esempi di sistemi operativi embedded.
In tempo reale
Un sistema operativo in tempo reale garantisce l'elaborazione di eventi o dati entro uno specifico momento nel tempo. Un sistema operativo in tempo reale può essere single- o multi-tasking, ma quando è multitasking, usa algoritmi di programmazione specializzati in modo da ottenere una natura deterministica del comportamento. Un sistema event-driven passa da un compito all'altro in base alle loro priorità o a eventi esterni, mentre i sistemi operativi time-sharing passano i compiti in base agli interrupt dell'orologio.
Biblioteca
Un sistema operativo a librerie è un sistema in cui i servizi che un tipico sistema operativo fornisce, come il networking, sono forniti sotto forma di librerie e composti con l'applicazione e il codice di configurazione per costruire un unikernel: un'immagine di macchina specializzata, a spazio di indirizzo singolo, che può essere distribuita in ambienti cloud o embedded.