L'hardware del computer è una parte fisica di un computer ed è generalmente incaricato di funzioni specifiche per quel tipo di apparecchiatura, mentre il software è un insieme di istruzioni per l'hardware da seguire nell'esecuzione di un'attività specifica. Tuttavia, la linea tra software e hardware non è sempre distinta.
Quasi tutti i componenti fisici di un sistema informatico sono classificati come hardware, inclusa l'unità di elaborazione centrale, i monitor, le tastiere e le unità disco fisso. Al contrario, il software è una serie di istruzioni memorizzate nella memoria del computer che causano un particolare pezzo di hardware su come eseguire un'attività quando vengono eseguite le istruzioni. Ad esempio, un semplice programma progettato per aggiungere due numeri insieme istruisce l'unità centrale di elaborazione del computer per leggere l'input da una tastiera, inserisce i numeri nella sua memoria, aggiunge i numeri e infine invia i risultati al monitor del computer.
Nella maggior parte dei casi, il software viene caricato nella memoria del computer mentre viene utilizzato e in altro modo memorizzato su un'unità disco fisso, un CD-ROM o un altro dispositivo multimediale. Tuttavia, alcuni tipi di software sono memorizzati nella memoria integrata con un componente hardware. Questo software viene comunemente chiamato firmware e contiene le istruzioni necessarie affinché un pezzo di hardware esegua le attività di base. Ad esempio, il firmware di un'unità disco rigido contiene le istruzioni per ruotare i dischi dell'unità e leggere e scrivere le informazioni.