For faster navigation, this Iframe is preloading the Wikiwand page for Race condition.

Race condition

Da Wikipedia, l'enciclopedia libera.

La race condition, chiamata in italiano situazione di corsa o semplicemente corsa, è un fenomeno che si presenta nei sistemi concorrenti quando, in presenza di una sequenza di processi multipli, il risultato finale dell'esecuzione dei processi dipende dalla temporizzazione o dalla sequenza con cui vengono eseguiti.

Le situazioni di corsa sono spesso effetti indesiderati e generano malfunzionamenti: in questo caso sono denominate corse critiche per il sistema.

In elettronica esistono alcune interessanti applicazioni delle situazioni di corsa. Il circuito logico mostrato in figura, ad esempio, è spesso utilizzato per ottenere un impulso, corrispondente al fronte di salita 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. In questo modo, ogni qual volta ci sarà un fronte di salita sul segnale A, in uscita dal circuito si otterrà un impulso di durata Δt1.

La competizione tra il segnale originale A ed il segnale ritardato Ā genera una situazione di corsa per determinare lo stato finale del circuito logico.

Per evitare il verificarsi di situazioni di corsa quando si impiegano memorie, file o risorse in condivisione, sono stati studiati diversi algoritmi che prevedono la mutua esclusione, ovvero garantiscono che, quando la risorsa condivisa è interessata in un processo, nessun altro processo possa accedervi.

Se più processi hanno la possibilità di accedere ad una risorsa in modalità di scrittura, è importante prevedere ed includere l'utilizzo di questi algoritmi, dei quali si può invece fare a meno se la risorsa è accessibile solamente in modalità di lettura, perché i processi non possono influenzare lo stato della risorsa, quindi non è fisicamente possibile la realizzazione di situazioni di corsa.

Un caso divenuto noto in cui una situazione di corsa ha generato malfunzionamenti molto pericolosi (e che viene spesso citato per spiegare e far comprendere come ciò possa accadere) è stato quello del Therac-25, un macchinario per la radioterapia prodotto ed impiegato in America settentrionale negli anni '80. Esso era equipaggiato per emettere sia elettroni a bassa energia in maniera diretta, sia raggi X, che venivano prodotti bombardando un bersaglio metallico con elettroni ad alta energia; l'emissione dei raggi X prevedeva anche l'attivazione di alcuni dispositivi meccanici di protezione. Nel momento in cui veniva impartita una determinata sequenza di comandi, apparentemente normale in condizioni di operatività ordinaria, si manifestava una situazione di corsa nel software di controllo della macchina che causava l'emissione degli elettroni alla massima energia senza che contemporaneamente venissero posizionati i dispositivi di protezione, e ciò causo la somministrazione di una dose di radiazioni 100 volte superiore a quella prevista a sei persone, tre delle quali morirono a causa di ciò.

Voci correlate

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica
{{bottomLinkPreText}} {{bottomLinkText}}
Race condition
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?