Esistono due tipi principali di software: software di sistema e software applicativo. Il software di sistema fa riferimento a un programma che fa funzionare l'hardware del computer, mentre il software applicativo è un software che svolge un'attività specifica o diversi correlati compiti. Il software di sistema è fondamentalmente il sistema operativo del computer ed è generalmente fornito in bundle con l'hardware. Il software applicativo comprende una vasta raccolta di applicazioni create per attività specifiche.
Il software di sistema di solito ha vari componenti che realizzano un lavoro specifico. Ad esempio, il sistema di input e output di base gestisce il flusso di istruzioni tra le diverse parti hardware e il sistema operativo. Un programma di avvio carica il sistema operativo principale in memoria all'avvio del computer. I driver di dispositivo sono anche componenti del software di sistema che controlla particolari dispositivi hardware. Il software di sistema viene talvolta chiamato software di basso livello perché viene eseguito al livello più elementare di un computer.
Il software applicativo, d'altra parte, consente agli utenti di computer di svolgere varie attività. Quando viene aperto un programma applicativo, viene eseguito all'interno del sistema operativo fino a quando non viene chiuso. Esistono innumerevoli tipi di programmi applicativi tra cui applicazioni Web, applicazioni desktop e molti altri. Esempi tipici di software applicativo includono fogli di calcolo, word processor e lettori multimediali, tra gli altri.