Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Ingegneria
 
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