Race condition: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Riga 13: Riga 13:
Per evitare il verificarsi di queste condizioni in cui sono coinvolti [[memoria]], [[file]] o risorse condivise, sono stati studiati diversi [[algoritmo|algoritmi]] che prevedano la ''[[mutua esclusione]]'', ovvero, assicurarsi che se la risorsa condivisa è occupata da un processo, durante quell'arco di tempo nessun altro processo potrà accedervi.
Per evitare il verificarsi di queste condizioni in cui sono coinvolti [[memoria]], [[file]] o risorse condivise, sono stati studiati diversi [[algoritmo|algoritmi]] che prevedano la ''[[mutua esclusione]]'', ovvero, assicurarsi che se la risorsa condivisa è occupata da un processo, durante quell'arco di tempo nessun altro processo potrà accedervi.


Se più processi hanno la possibilità di accedere ad una risorsa in modalità di scrittura, è importante prevedere l'utilizzo di questi algoritmi. Se invece processi condividono la risorsa unicamente in modalità lettura, non ci saranno race condition. Perché i processi non potranno influenzare lo stato della risorsa.
Se più processi hanno la possibilità di accedere ad una risorsa in modalità di scrittura, è importante prevedere l'utilizzo di questi algoritmi. Se invece, questi processi condividono la risorsa unicamente in modalità lettura, non ci saranno race condition. Perché i processi non potranno influenzare lo stato della risorsa.


== Voci correlate ==
== Voci correlate ==

Versione delle 01:29, 4 lug 2012

La Race Condition è un vincolo che viene utilizzato nella specifica dei sistemi concorrenti. Un sistema basato su processi multipli presenta una race condition se il risultato finale dell'esecuzione dei processi dipende dalla temporizzazione con cui vengono eseguiti. L'assenza di race condition è necessaria per il corretto funzionamento di un sistema concorrente.

Race Condition in elettronica

In elettronica, esistono alcune applicazioni interessanti per quel che riguarda le Race Condition. Ad esempio il circuito logico mostrato in figura, è spesso utilizzato per ottenere un'impulsione, corrispondente al fianco di salite del segnale originale A. Il ritardo di commutazione introdotto dalla porta logica invertente, crea un ritardo nella determinazione del corretto stato logico della porta AND. Sicché all'uscite dell'ultima porta logica, ogni qual volta ci sarà un fianco di salita del segnale A, otterremo un'impulsione di durata Δt1.

La competizione tra il segnale originale A ed il segnale Ā, comporta una Race Condition per la determinazione del segnale uscente dal circuito.

Race condition in informatica

Per evitare il verificarsi di queste condizioni in cui sono coinvolti memoria, file o risorse condivise, sono stati studiati diversi algoritmi che prevedano la mutua esclusione, ovvero, assicurarsi che se la risorsa condivisa è occupata da un processo, durante quell'arco di tempo nessun altro processo potrà accedervi.

Se più processi hanno la possibilità di accedere ad una risorsa in modalità di scrittura, è importante prevedere l'utilizzo di questi algoritmi. Se invece, questi processi condividono la risorsa unicamente in modalità lettura, non ci saranno race condition. Perché i processi non potranno influenzare lo stato della risorsa.

Voci correlate

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica