Cerca all'interno del corso
Ricevi un trucco a settimana !!

Corso di Sistemi Operativi

Modelli di sistemi operativi - Parte II
Lezione 19
Parte 1 di 2

 

Vedi anche i corsi correlati:


Partner:


 

Continuiamo oggi la nostra carrellata di modelli dei sistemi operativi.
Una generalizzazione dell’ultimo approccio visto alla fine della scorsa lezione è costituita dai modelli a strati, che adottano una stratificazione più “spinta” del sistema operativo in una gerarchia organizzata in un certo numero n di livelli.
Un livello rappresenta un oggetto astratto che incapsula dati e operazioni sui dati, fornendo un’interfaccia accessibile solo al livello superiore.
Sebbene questo modello rappresenti un ottimo strumento di progettazione software, la struttura risultante può rivelarsi piuttosto pesante ed inefficiente; inoltre è stato verificato che una stratificazione pura non è fattibile a causa della complessità di interazioni che coinvolgono le procedure del kernel.
Per questi motivi in passato si è cercato di limitare il numero dei livelli, ma attualmente non vengono più progettati sistemi operativi che implementino questo modello.
E’ doveroso, comunque, ricordare il primo SO che adottò questo schema, il THE realizzato in Olanda nel 1968 dal prof. Dijkstra (famoso, tra le altre cose, per aver formulato il classico “problema dei filosofi affamati”) e lo sfortunato MULTICS (v. al riguardo la lezione 6).

L’idea di spostare codice del kernel verso livelli superiori viene estremizzata dal modello a microkernel o a kernel minimo, che estrae dal nucleo del sistema le funzioni di gestione lasciandovi solo un numero limitato di compiti di base.
I sistemi a microkernel si suddividono ulteriormente in due classi:
1) sistemi orientati alle procedure;
2) sistemi client-server.
Il modello orientato alle procedure consente ai processi utente di gestire e manipolare delle risorse condivise invocando delle apposite funzioni di gestione, separate dal nucleo del SO e indipendenti dal firmware del sistema.
Questo modello assume implicitamente che i processi dispongano di una memoria condivisa, per cui si rendono indispensabili dei meccanismi di sincronizzazione dei processi per l’accesso alle strutture dati condivise e degli strumenti di protezione per evitare interferenze non volute.

 


   
Home Page

A Cura di Angelo Carpenzano (©)

Scarica questa lezione: Clicca qui per scaricare la lezione


 

Segnala questa lezione ad un amico!
Nome Amico:
eMail Amico:
Tuo Nome:
Regalagli anche la Newsletter di questo corso!