Cosa è il Sistema Operativo e come funziona?

Android, Windows, MacOS, sono alcuni dei sistemi operativi più comuni e diffusi al mondo. Per sistema operativo solitamente si intendo un software, un programma, più o meno complesso che ha un compito ben preciso, interporsi tra l’uomo e la macchina e tradurre le istruzioni umane in linguaggio macchina così che la macchina, che può esser un pc, un tablet, uno smartphone, possa operare.

Il sistema operativo è come se fosse l’anima di un computer, è una delle sue componenti più importanti, fondamentali per il suo funzionamento ma non è una componente “fisica”, rientra infatti nello spettro dei software.

In questa guida voglio parlarti dei sistemi operativi, cercando di capire al meglio cosa sono e come funzionano.

Uso il plurale perché di sistemi operativi ce ne sono tantissimi, ognuno con una propria identità, con una propria filosofia di base, ma tutti, senza eccezioni, rispettano precise regole di funzionamento.

Cos’è un sistema operativo?

Partiamo dalle basi, cerchiamo di capire cos’è un sistema operativo.

Nell’introduzione l’ho definito come una sorta di anima del computer. Immaginando un analogia tra un computer e il corpo umano infatti, possiamo osservare che il processore, il centro di elaborazione dati di un computer è associabile al “cervello” e in passato, in un epoca precedente l’avvento dei circuiti stampati, quando il computer stesso era un enorme processore di dati, questi venivano chiamati cervelli elettronici.

Restando nell’analogia con il corpo umano, se il processore è il cervello allora l’alimentatore o la batteria rappresentano il cuore del computer, e così via.

Per ogni parte del corpo umano troviamo in un computer un analogo elettronico, una componente hardware che assolve a quelle funzioni, ma, perché il computer possa effettivamente operare serve un qualcosa che non è tangibile, che non è fisico, che non è un hardware, serve un sun software che dia effettivamente la vita al computer.

Questo qualcosa è proprio il sistema operativo.

Fino agli anni 70 ed i primi anni 80 i computer avevano una funzione prettamente tecnica, si “limitavano” ad eseguire calcoli e simulazioni scientifiche, più o meno complesse, erano impiegati soprattutto nel settore produttivo e scientifico e i loro sistemi operativi, per quanto avanzati e complessi per l’epoca, erano in realtà molto basilari.

Negli anni 80 però accadde qualcosa che cambiò per sempre il mondo dei computer, nella prima metà degli anni 80, vennero introdotti i “personal computer” o PC.

Si trattava di macchine di dimensioni molto compatte, che potevano essere tenuti a casa, e servivano non solo per finalità produttive.

Con l’avvento dei PC la produzione di software si amplia enormemente, andando ben oltre l’elaborazione di calcoli complessi, e per fare fronte a ciò, servivano sistemi operativi sempre più avanzati.

Appaiono in quegli anni sul mercato i primi sistemi operativi di Microsoft e Apple, i quali avrebbero aperto la strada a decenni di innovazione tecnologica.

Detto in termini più “rigorosi” il sistema operativo è un insieme di funzioni che si occupa della gestione delle risorse del sistema, processori, alimentazione e dispositivi di memoria e delle varie periferiche di input e output dei dati dal sistema.

Come funziona un sistema operativo?

Ora che abbiamo chiarito cos’è un sistema operativo e a cosa serve, possiamo provare a capire come funziona.

Premetto che sarà una spiegazione molto semplice e per un informatico o un ingegnere informatico, potrà sembrare riduttiva.

Volendo semplificare al massimo il funzionamento di un sistema operativo, potremmo dire che questi è un software che si compone di 

Come abbiamo visto in precedenza, il sistema operativo gestisce le risorse di un sistema. Questo esercizio consente all’OS (operative system) di eseguire dei programmi, generalmente chiamati processi, assegnando ad ognuno di essi un certo livello di priorità e destinando ai vari processi il quantitativo di risorse richieste.

Per risorse si intende potenza di calcolo dei processori e spazi di memoria dei vari dispositivi di memoria RAM.

Inoltre, se il processo in esecuzione lo richiede, il sistema operativo può consentire l’accesso alle periferiche di memoria di massa (Hard Disk, SSD, Schede di memoria, Chiavette USB ecc) e di leggere o registrare nuovi dati, utilizzando le varie periferiche di input e output. 

I sistemi operativi “moderni” sono generalmente dotati di un’interfaccia grafica o al massimo testuale, che consente all’utente di accedere alle risorse hardware del sistema, e, fatta eccezione per i sistemi più semplici e leggeri, la maggior parte dei sistemi operativi, mette a disposizione degli utenti un pacchetto di software base che consentono agli utenti di gestire ed elaborare dati, attraverso calcolatrici ed editor testuali nei casi più semplici, o editor grafici e fogli di calcolo nei casi più avanzati.

Per poter assolvere alle proprie funzioni vitali, un sistema operativo si compone di due componenti principali definite Kernel e Scheduler.

Vediamo nel dettaglio cosa sono.    

Cos’è un Kernel?

Il kernel è un gruppo di funzioni di base, la cui presenza è fondamentale al funzionamento del sistema.

Le funzioni del kernel sono quelle funzioni che permettono al sistema di sapere quante risorse allocare per ogni processo in esecuzione di conseguenza queste funzioni fondamentali sono strettamente interconnesse con l’hardware disponibile e vengono eseguite con priorità massima.

In altri termini, il Kernel permette al sistema operativo di disporre delle risorse hardware e, migliore sarà l’ottimizzazione del kernel per un determinato sistema, maggiori saranno le prestazioni del sistema stesso.

Per questo motivo, sistemi operativi come MacOS e iOS, il cui kernel è ottimizzato per specifici hardware, risulta spesso più stabile o performante dei sistemi più flessibili e generici come Microsoft windows, Linux o Android. 

Cos’è lo Scheduler

Lo scheduler è un gruppo di funzioni di base, la cui presenza è fondamentale per l’esecuzione di più processi simultaneamente.

Lo scheduler è, in altri termini il registro fondamentale che consente il multitasking. Senza questa componente il sistema operativo potrebbe eseguire un singolo processo per volta, risultando estremamente lento e poco performante.

Cos’è il File system e perché non tutti i SO ne hanno uno?

Il file System è una componente importantissima per un sistema operativo ma, apparentemente, non tutti i sistemi operativi dispongono di un file system.

Il file system è la componente del sistema operativo che consente l’accesso alla memoria di massa e, attraverso dispositivi di input e output, permette di gestire i dati presenti, crearne di nuovi o eliminarne.

La presenza del file system è dunque subordinata alla presenza di un dispositivo di memoria di massa nel sistema.

In molti casi il dispositivo di memoria di massa ospita anche il sistema operativo, è il caso di smartphone, tablet, pc, ma non sempre è così. Nei sistemi più semplici infatti il sistema operativo è contenuto nella ROM del sistema e non sono invece presenti dispositivi di memoria di massa.

Quando il sistema ospita un dispositivo di memoria di massa e il sistema operativo consente l’accesso ai dati archiviati in memoria, il sistema contiene un File System che consente quindi l’accesso ai file, attraverso un sistema di directory nidificate, ognuna delle quali contiene specifiche informazioni.

Nei sistemi più avanzati l’intero File System è completamente modificabile e personalizzabile con la creazione e l’eliminazione, attraverso il sistema stesso di directory e file.

Quali sono i principali sistemi operativi?

Il panorama dei sistemi operativi è attualmente immenso, esistono centinaia, forse migliaia di sistemi operativi differenti, ognuno dei quali è pensato e progettato secondo regole di funzionamento analoghe, ma varia dagli altri per quelli che sono gli obiettivi e le finalità di utilizzo, e la filosofia di base degli sviluppatori.

Possiamo dividere l’immenso mondo dei sistemi operativi in cinque macro categorie, ovvero sistemi operativi per il gaming, sistemi operativi per pc, sistemi per smartphone e tablet, sistemi operativi per computer di bordo e sistemi custom.

Queste categorie sono importanti per comprendere meglio il mondo dei sistemi operativi, perché ci permettono di capire immediatamente con che tipo di OS abbiamo a che fare. Per fare un esempio pratico, un sistema operativo come quello utilizzato da Sony Playstation per le proprie console, per quanto potente, performante e ottimizzato, non è adatto al computer di bordo di un aereo di linea o di una nave da carico.

Un OS “semplice” come quello presente in una calcolatrice scientifica, non va bene per un robot da cucina.

Ogni tipo di sistema, dal distributore automatico ai computer quantistici, necessita di un sistema operativo, con caratteristiche e funzionalità specifiche, alcuni dei quali saranno più semplici ed altri più complessi.

Il mondo dei PC conta una grande varietà di sistemi operativi, ne esistono a migliaia, a partire dai più noti Windows e Mac OS, passando per l’infinito mondo degli OS con kernel Linux, tra cui figura il recente Chrome OS, fino ad arrivare ai meno diffusi OS con kernel Unix-like come FreeBSD.

Conclusioni

In conclusione, possiamo dire che un sistema operativo è un software, un programma, di base che ha il compito di gestire le risorse di un sistema, per permetterne il corretto funzionamento. Ogni sistema, dalla macchinetta del caffè in cialde allo smartphone, ha bisogno di un proprio sistema operativo per funzionare.

Maggiore è il livello di ottimizzazione del sistema operativo per un sistema, migliore sarà la gestione delle risorse del sistema e dunque questi risulterà più efficiente e performante rispetto ad analoghi meno ottimizzati. Un caso esemplare è rappresentato dagli smartphone e tablet Apple, il cui sistema operativo iOS è progettato appositamente per quelle macchine e dunque, un iphone a parità di potenza hardware con un dispositivo “android” risulterà più performante, questo perché il kernel utilizzato da iOS conosce alla perfezione le risorse disponibili delle componenti con cui si interfaccia e dunque il sistema operativo può sfruttare al meglio ogni componente hardware del dispositivo.

  

COMMENTI

Share