Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Antonino Mazzeo » 11.Introduzione alla Sincronizzazione dei Processi


Sommario

  • Concorrenza e Race condition
  • Tipi di interazione tra i processi
  • Modelli di interazione

Concorrenza e Race Condition

  • Processi concorrenti
    • Insieme di processi la cui esecuzione si sovrappone nel tempo.
  • Più in generale
    • in un sistema monoprocessore due processi si dicono concorrenti se la prima operazione di uno comincia prima dell’ultima dell’altro
  • ….le problematiche
    • Comunicazione tra processi
    • Risorse condivise
    • Sincronizzazione tra processi
    • Assegnazione del tempo del processore
  • Race Condition
    • Una condizione in cui più processi leggono o scrivono dati condivisi e il risultato finale di tali operazioni dipende dall’ordine (e dalla velocità) di esecuzione delle istruzioni dei processi

Tipi di Interazione

  • Processi indipendenti
    • due processi P1 e P2 sono indipendenti se l’esecuzione di P1 non è influenzata da P2, e viceversa (Proprietà della riproducibilità)
  • Processi interagenti
    • due processi P1 e P2 sono interagenti se l’esecuzione di P1 è influenzata da P2, e viceversa
  • Tipi di interazione
    • Competizione: per l’uso di risorse comuni che non possono essere utilizzate contemporaneamente (mutua esclusione)
    • Cooperazione: nell’eseguire un’attività comune mediante scambio di informazioni (comunicazione)
    • Interferenza: dovuta a competizione tra processi per uso non autorizzato di risorse comuni, oppure ad un erronea soluzione di problemi di competizione e di cooperazione

Modelli di interazione

  • In tutti i casi esaminati, per un corretto funzionamento, è necessario imporre dei vincoli nella esecuzione delle operazioni dei processi
  • Vincoli per la sincronizzazione
    • Competizione: un solo processo alla volta deve avere accesso alla risorsa comune (sincronizzazione indiretta o implicita)
    • Cooperazione: le operazioni eseguite dai processi concorrenti devono seguire una sequenza prefissata (sincronizzazione diretta o esplicita)
  • Modelli di Interazione
    • Modello ad ambiente globale
    • Modello ad ambiente locale

Modello ad ambiente globale

  • L’interazione avviene mediante memoria comune
  • Il sistema è visto come un insieme di processi e oggetti (risorse)
  • Una risorsa è un oggetto costituito da procedure e da una struttura dati allocati in memoria
    • può essere privata o locale
    • comune o globale
    • ad uso esclusivo
  • Al concetto di risorsa si associa sempre quello di gestore
    • una entità il cui compito è quello o di consentire ai processi la corretta allocazione delle risorse comuni controllandone il corretto utilizzo, o di utilizzare le risorsa per eseguire le operazioni richieste dai processi
Modello ad ambiente globale

Modello ad ambiente globale


Modello ad ambiente locale

  • Il sistema è visto come un insieme di processi ciascuno operante in un ambiente locale
    • Ogni forma di interazione tra processi avviene tramite scambi di messaggi
  • Anche in questo caso esiste il concetto di risorsa comune, ma la risorsa è privata ad un processo, il processo gestore.
  • Un processo che intende usare la risorsa, deve interagire tramite scambio di messaggi con il processo gestore.
  • Strumenti di sincronizzazione
    • Modello ad ambiente globale: semafori e primitive wait e signal
    • Modello ad ambiente locale: messaggi e primitive send e receive
Modello ad ambiente locale

Modello ad ambiente locale


Prossima lezione

Sincronizzazione nel modello ad ambiente globale

I materiali di supporto della lezione

P. Ancilotti, M.Boari, A. Ciampolini, G. Lipari, “Sistemi Operativi”, Mc-Graw-Hill (Cap.2, par 2.8; cap. 3, par 3.1)

Sincronizzazione Intro

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93