Situació de competició

Situació de competició és una expressió utilitzada en electrònica i en programació concurrent. Prové de l'anglès race condition (tot i que seria millor parlar d'estat de competició, igual que es parla d'estat d'espera). Una situació de competició descriu l'error que es produeix en programes o circuits lògics quan no han estat dissenyats adequadament per a la seva execució simultània amb altres.

Un exemple típic és l'interbloqueig que es produeix quan dos processos estan esperant que l'altre faci una acció. Com que els dos estan esperant, cap arriba a realitzar l'acció que l'altre espera.

Aquest tipus d'errors de programació poden ser aprofitats per exploits locals per a vulnerar els sistemes.

Vegeu també

  • Control de concurrència
  • Bloqueig mutu
  • Sincronització
  • Linealitzar

Enllaços externs

  • Starvation and Critical Race Analyzers for Ada
  • Paper "Algorithms for the Optimal State Assignment of Asynchronous State Machines" Arxivat 2008-04-21 a Wayback Machine. by Robert M. Fuhrer, Bill Lin and Steven M. Nowick
  • Paper "A Novel Framework for Solving the State Assignment Problem for Event-Based Specifications" Arxivat 2005-03-16 a Wayback Machine. by Luciano Lavagna, Cho W. Moon, Robert K. Brayton and Alberto Sangiovanni-Vincentelli
  • Article "Secure programmer: Prevent race conditions-Resource contention can be used against you" by David A. Wheeler
  • Race conditions, security, and immutability in Java, Arxivat 2007-09-26 a Wayback Machine. with sample source code and comparison to C code, by Chiral Programari
  • Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)