I SISTEMI OPERATIVI

Indice

Sistemi
Cosa sono ?
Come sono organizzati ?
Funzionalità

I SISTEMI

I sistemi operativi sono software complessi progettati per gestire le risorse hardware di un computer e fornire un'interfaccia utente per l'interazione con il sistema. Ecco una panoramica di base su cosa sono i sistemi operativi e come sono organizzati:

Cosa sono i sistemi operativi:

Se dovessimo dare una definizione di Sistema Operativo, lo faremmo con l'aiuto di una metafora. Immaginate il sistema complessivo del corpo umano. Il corpo umano, come ben sappiamo, è costituito principalmente da "apparati": cardiocircolatorio, locomotore, respiratorio, digerente, uditivo, olfattivo etc... Ognuno di questi apparati, che è composto a sua volta da ben precisi organi, svolge una serie di specifiche attività che in coordinazione con le altre fa sì che noi respiriamo, camminiamo, mangiamo etc...


Un SO è quindi un sistema in grado di gestire, trattare e comunicare con la macchina in maniera trasparente ed indipendente da essa. E' chiaro che più il sistema è realizzato in maniera coesa al sistema hardware, maggiore sarà la sua qualità (come accade in sistemi iOS di casa Apple). Nella maggior parte delle situazioni l'utente si interfaccia con uno specifico software applicativo "installato" sul SO. L'operazione di installazione comprende una serie di operazioni che permettono al SO di comprendere ed eseguire il software.


Quando si parla di SO si fa riferimento spesso a due elementi principali:


  1. Gestione dei Processi

  2. Un SO ha una sola prerogativa: coordinare, sincronizzare, gestire ed eseguire i processi. Ogni processo ha un proprio task, ovvero una sua particolare e precisa mansione, e per eseguirla ha bisogno di determinate risorse. Una di queste, forse la più importante, è il processore. Immaginate che il solo processo "elaboratore di testo" si serve del monitor, della memoria, della tastiera etc. (risorse fisiche) e una serie infinita di dati (risorse virtuali) per poter svolgere il proprio compito.
    Nei moderni sistemi i processi possono essere sincronizzati secondo diversi algoritmi, che operano in maniera differente. Ogni sistema ha un suo algoritmo di gestione dei processi. Il gestore dei processi è detto Scheduler, dall'inglese Archivio. Lo Scheduler ha il compito di scegliere quale processo deve essere eseguito, ovvero quale tra i processi attivi deve essere scelto per l'esecuzione. Immaginate il caso in cui abbiate un numero molto elevato di programmi aperti e che "saltelliate" dall'uno all'altro in maniera causale.

  3. Gestione della Memoria

  4. Un compito fondamentale, se non il più importante, di un SO è quello di gestire la Memoria. Comunemente utilizziamo il termine "Memoria" sia per descrivere la memoria fisica (disco rigido) sia per descrivere la memoria RAM (memoria centrale). Ma un sistema operativo ha la facoltà di gestire un'altro di tipo di memoria: la memoria virtuale.
    Il sistema SO deve creare quindi una corrispondenza tra il processo virtuale (immagine del processo in memoria virtuale) e il processo vero e proprio (in memoria fisica, centrale o di massa). Attraverso un componente detto MMU - Memory Management Unit - il SO converte l'indirizzo logico della memoria virtuale in indirizzo fisico vero e proprio in risiede il processo.

  5. Gestione delle Periferiche di Input ed Output

  6. Per gestione delle periferiche di I/O si intendono tutte quelle funzioni di Input e di Output adibite al controllo e all'esecuzione di dispositivi di Input/Output quali mouse, stampanti, fax, tastiere, monitor, dispositivi USB etc. Un SO deve naturalmente anche "pensare" a come gestire eventuali dispositivi esterni che in futuro si aggregheranno alla macchina (come gli Hard Disk Esterni a.e.). Il SO pertanto viene configurato in modo tale che veda tutti i dispositivi come se fossero semplici processi, e di conseguenza entità che è in grado di trattare.
    Questo è un compito arduo per un SO in quanto i tutti dispositivi di I/O o processi I/O devono avere una certa precedenza rispetto agli altri, dal momento che il tempo di risposta della macchina ci si auspica, debba essere il minimo possibile (dell'ordine dei microsecondi). Il click di un mouse, la digitazione di un tasto devono essere "processi" serviti con prontezza e quindi godere di maggiore priorità rispetto a processi di altra natura.

  7. Gestione del File System

  8. Il Filesystem generalmente conosciuto anche come mappa dei file, indica come il SO vede posizionati i file all'interno della memoria e si presenta generalmente con una struttura ad albero binario rovesciato. La ricerca dei files avviene mediante lo scorrimento dei rami dell'albero. L'albero ha un nodo radice detto "root", di partenza, e percorrendolo si possono incontrare altri nodi (che rappresentano generalmente archivi) oppure files (foglie). Ogni "percorso" o "path" verso un file dell'albero è rappresentato da un elemento "radice/cartella1/cartella2/.../file.txt". Naturalmente una volta arrivati al file l'estensione del file deve essere riconosciuta dal SO.

  9. Gestione della Sicurezza

  10. La sicurezza dei sistemi operativi riveste un ruolo chiave nella nostra società: infatti con la diffusione in tutti gli ambiti dei calcolatori è aumentata la necessità di proteggere la loro integrità. Le grandi aziende in ambito commerciale, finanziario, sociale, sanitario e via dicendo hanno una mole di dati importanti da tenere al sicuro da frodi e concorrenti interessati a tali informazioni. Nei moderni sistemi operativi, grazie all'implementazione della multiprogrammazione, più utenti possono alternarsi nell'accesso al sistema e nell'utilizzo delle applicazioni. La protezione dei programmi e dei dati di ciascun utente diventa un problema primario di questi sistemi. La protezione deve essere sia verso gli altri utenti locali, che verso utenti remoti, verso programmi malevoli di vario genere e verso eventi inaspettati.


torna alla home