Quando si accende il computer è piacevole – oltre che confortante – pensare che si è in pieno controllo della situazione. Al proprio fianco si hanno il fidato mouse e la fedele tastiera, capaci di trasportarci immediatamente in ogni singolo pixel che compone il nostro schermo: basta un click o la giusta combinazione di tasti (le famose scorciatoie da tastiera) per lanciare e chiudere un programma, inviare un messaggio di posta elettronica oppure effettuare uno screenshot.
La realtà, però, è ben altra. Al comando non c'è l'utente, destinato "solo" a interagire con l'interfaccia grafica per mezzo delle due periferiche prima citate, ma il sistema operativo. Fatti salvi firmware e BIOS, è proprio quest'ultimo l'elemento software più importante di ogni sistema informatico: non è un caso, dunque che sia il primo programma (o suite di programmi che dir si voglia) a essere installato su un PC appena uscito di fabbrica (o assemblato).
Lo scopo di un sistema operativo è di organizzare e controllare sia l'hardware sia il software così che il computer nel quale è installato si comporti in maniera funzionale, flessibile e, soprattutto, prevedibile. Insomma, il sistema operativo (sia esso UNIX, Windows, macOS, Linux, Android, iOS e ogni possibile variante o alternativa) si occupa di fornire all'utente un ambiente virtuale all'interno del quale potersi muovere senza grossi problemi (e conoscenze informatiche).
Quando si parla di sistema operativo ci si riferisce a quell'insieme di software capaci di fornire all'utente una piattaforma grazie alla quale sfruttare al meglio la potenza di calcolo (e le altre risorse hardware) di un sistema informatico. Si comporta, dunque, a mo' di coordinatore, gestendo il processore, la memoria interna (sia RAM sia disco rigido ), le periferiche (mouse e tastiera, stampante e monitor, casse e microfono, solo per citarne alcune), i software installati sulla macchina e fornendo all'utente un'interfaccia (grafica) grazie alla quale poter accedere e disporre delle risorse citate.
Il sistema operativo, dunque, fa in modo che il computer sia una macchina polifunzionale; che l'interazione tra utente e macchina sia intuitiva e immediata e sia possibile aggiornare comparto hardware (montare nuova RAM o una nuova scheda video) e software (installare nuovi programmi) senza grandi difficoltà. Anche per questo motivo i sistemi operativi – sia per computer, sia per smartphone e per ogni altro congegno informatico – sono formati da centinaia di migliaia di righe di codice modificabile a seconda delle necessità dell'utente o del programmatore. Così facendo è possibile aggiungere patch di sicurezza, aggiornamenti di varia natura e, all'occorrenza, anche un nuovo sistema operativo.
Al livello più semplice, il sistema operativo svolge sostanzialmente due funzioni:
Nella prima fase, in particolare, il sistema operativo si troverà a gestire le richieste di accesso dei vari software alla capacità di calcolo della CPU. Si trova, quindi, nella condizione di "vigile urbano" destinato a controllare e gestire il traffico in ingresso e in uscita dal processore, stabilendo un ordine di priorità e verificando che il bus di accesso non si saturi e rallenti il funzionamento del computer stesso.
Nella seconda fase, invece, gli sviluppatori di sistema operativo dovranno creare una lunga serie di API (come la DirectX per la gestione del flusso video nei computer Windows) che consentano agli sviluppatori terzi di potersi interfacciare con l'hardware della macchina indipendentemente dal produttore o dalla tecnologia impiegata nella sua realizzazione. In questo modo il software creato dalle varie software house è perfettamente interoperabile: anche se due computer montano CPU di produttori differenti e potenza differente o diverse quantità di memoria RAM, il programma dovrà comunque essere eseguito senza alcun problema per l'utente.
Tutti i vari sistemi operativi oggi esistenti possono essere raccolti e catalogati all'interno di quattro macro-categorie.