In informatica, un sistema operativo (abbreviato in SO) è il programma responsabile del diretto controllo e gestione dell' hardware che costituisce un computer. E’ possibile considerare un sistema operativo come un assegnatore di risorse. Un calcolatore dispone di risorse ( fisiche e programmi) utili per la risoluzione di un problema: tempo di CPU, spazio di memoria, dispositivi di I/O e cosi via. Di fronte a numerose e a volte conflittuali richieste di risorse il sistema operativo deve decidere come assegnarle agli specifici programmi affinché il sistema di calcolo operi in modo equo ed efficiente. Il sistema operativo è quindi un’ intermediario tra hardware e applicazioni.
Il sistema operativo è anche a tutti gli effetti un programma di controllo: gestisce infatti l’ esecuzione dei programmi applicativi in modo da evitare che si verificano errori o che il calcolatore sia usato in modo scorretto, soprattutto per quel che riguarda il funzionamento e il controllo dei dispositivi di I/O. L’evoluzione dei sistemi operativi inizia poco dopo l’avvento dei primi elaboratori elettronici, i cosiddetti mainframe. Questi SO erano composti da poche istruzioni per poter permettere l’utilizzo del computer da parte dell’operatore e per il trasferimento da un lavoro (job) all’altro. Per accelerare l’elaborazione lavori simili venivano raggruppati in lotti, da qui il termine di sistema batch. I calcolatori dell’ epoca eseguivano quindi una e una sola applicazione (job) alla volta. Successivamente grazie all’avvento di linguaggi di programmazione più evoluti (come ad esempio il Fortran) si comincia a parlare di sistema batch multiprogrammato e più in generale di sistemi multiprogrammati. Questa innovazione, che permetteva di sfruttare i tempi morti della CPU, aumentò la velocità produttiva dei computer, permise l’utilizzo del computer durante l’elaborazione (interattività) e permise anche la divisione del tempo d’uso delle risorse da parte di più utenti (time shearing). Si iniziò a parlare anche di sistemi real time in cui cioè i tempi di risposta sono tali da riuscire ad influenzare un processo durante la sua stessa esecuzione. Dagli anni ’70 la diffusione di massa degli elaboratori elettronici richiese la standardizzazione dei sistemi operativi e la loro compatibilità con i prodotti software specifici per ogni attività. Negli ultimi anni i sistemi operativi sono stati progettati per essere in grado di gestire una immensa quantità di dati soprattutto a causa delle innovazioni multimediali riguardanti suoni, immagini, testi…. Il sistema operativo si occupa oggi di tutte le risorse presenti nel computer intervenendo sia a livello del software che dell’hardware, partendo quindi dai programmi passando alla CPU, alla memoria, ai supporti magnetici e per finire alla gestione di tutte le iterazioni tra queste componenti attraverso procedimenti ben definiti che ne permettono l’utilizzo, il controllo, la protezione, l’espansione…. I sistemi operativi di ultima generazione più diffusi sono:
Per capire meglio il funzionamento di un sistema operativo è però necessario conoscere l’ architettura e le diverse tipologie di calcolatori, pertanto si consiglia di consultare i seguenti a approfondimenti:
Oggi giorno la maggior parte dei calcolatori è costituita da sistemi con un'unica unità di elaborazione, cioè con una sola CPU. Tuttavia, quando si necessitano grandi potenzialità di calcolo, cresce l’ importanza dei sistemi dotati di più CPU, noti come sistemi paralleli (o sistemi strettamente connessi). Essi condividono i canali di comunicazione (bus), i temporizzatori dei cicli macchina (clock) e talvolta i dispositivi di memorizzazione e periferici. Necessitano di sistemi operativi dedicati. Anche l’ evoluzione delle reti di calcolatori e in particolar modo di internet ha avuto una profonda influenza sui recenti sviluppi dei sistemi operativi. Sono infatti nati i sistemi distribuiti che consentono di unire le risorse di diversi computer collegati in rete tra di loro (solitamente attraverso internet) per risolvere problemi computazionali a larga scala (calcolo distribuito). Per saperne di più consulta i seguenti approfondimenti:
Di seguito altri approfondimenti riguardanti i sistemi operativi:
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.