Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 2
Architetture dei sistemi operativi
Pag 1
Sommario
...
Pag 2
Sistema monolitico
I sistemi monolitici sono caratteristici dei mainframe monofunzionali, o comunque con pochissimi programmi caricati in modalità batch (quando uno termina si passa ad eseguire il successivo).
Erano caratterizzati da un'architettura di sistema molto elementare (da qui, "monolitica"), con stampanti e lettore di nastri come periferiche.
Erano compatti, ovvero con poche procedure chiamate solo quando servono. Tra l'altro da notare l'inesistenza di alcun tipo di ordinamento tra funzioni.
Finché ho poche procedure da gestire le dipendenze si verificano al volo, e dunque la manutenzione non si presenta eccessivamente problematica. Quando invece queste aumentano non è più banale avere una visione globale delle chiamate tra procedure, rendendo ostica la manutenzione (in quanto la modifica di una procedura può ripercuotersi sulle altre, in modo non facilmente prevedibili né rintracciabili).
Sistema con struttura gerarchica
Non è più consentito a tutte le funzioni di chiamare una qualunque altra, ma si impone che queste vengano ordinate per livelli gerarchici, in modo che una funzione possa modificare solo le funzioni di livello inferiore. Da notare come le funzioni non abbiano separazioni di tipo logico, ma rimangano tutte nella stessa architettura.
Vantaggio: vedo più facilmente le dipendenze, quindi ho un'idea migliore di come si propaghino le modifiche
Svantaggio: la manutenzione rimane difficilmente gestibile
Pag 3
Sistema stratificato
L'insieme delle funzioni del sistema operativo vengono divise in strati (moduli), ognuno dedicato ad uno specifico compito di gestione.
Vantaggio: chiarezza totale sulla modalità di gestione dei vari aspetti del sistema, e sulle propagazioni di eventuali modifiche
Svantaggio: efficienza limitata, se infatti devo chiamare una funzione di gestione del processore da un applicativo dovrò prima ridiscendere tutti gli strati (il che comporta un enorme sperpero di tempo).
Sistema a microkernel
Esiste una separazione tra meccanismi e politiche. I primi dipendono dall'hardware e dalle strutture dati e sono l'insieme di funzioni di base del sistema operativo; i secondi si appoggiano su di essi, e rappresentano i metodi di gestione ottimale delle risorse.
Con questa struttura la modalità di comunicazione dell'hardware prescinde dalle politiche di gestione ottimale delle risorse.
E' caratterizzato da una facile modificabilità, dal momento che è sufficiente appoggiare nuovi moduli di gestione sui meccanismi già esistenti, senza bisogno di cancellare o modificare quelli precedenti.
Uno svantaggio sono le prestazioni piuttosto limitate, dovute ai continui rimandi di chiamata tra meccanismi e politiche.
Pag 4
Sistema a moduli funzionali
Caratterizzato da un nucleo centrale del sistema operativo (il kernel) che gestisce le funzioni più significative, attorniato da moduli che gestiscono vari aspetti delle altre funzionalità del sistema.
Sistema a macchine virtuali
Avviene una costruzione gerarchica di immagini virtuali dell'hardware (macchine astratte) dedicata per ogni applicazione lanciata.
L'idea che sta alla base di questo sistema è mantenere lato utente l'interfaccia idealmente identica a un certo sistema operativo anche se nella realtà implementativa è completamente diversa.
Uno svantaggio sono le prestazioni limitate dovute allo strato sottostante di virtualizzazione.
Pag 5
Programmi di sistema
...
Torna alla pagina di Sistemi Operativi