- Condición de carrera
-
Condición de carrera es una expresión usada en electrónica y en programación. Procede del inglés race condition (si bien sería mejor hablar de estado de carrera, igual que se habla de estado de espera). Múltiples procesos están en condición de carrera si el resultado de los mismos depende del orden en que se ejecute. Si los procesos que están en condición de carrera no son correctamente sincronizados, puede producirse un error de corrupción de datos, lo que puede ser aprovechado por exploits locales para vulnerar los sistemas. Análogamente, en circuitos electrónicos se da una Condición de carrera cuando la salida de un sistema o subsistema depende del orden en que se hayan activado o desactivado sus componentes.
La Condición de carrera se da principalmente cuando varios procesos acceden al mismo tiempo a un recurso compartido, por ejemplo una variable, cambiando su estado y obteniendo de esta forma un valor no esperado de la misma.
Véase también
- Control de concurrencia
- Bloqueo mutuo
- Sincronización
- Linealizabilidad
Enlaces externos
- Starvation and Critical Race Analyzers for Ada
- VHDL example
- Paper "Algorithms for the Optimal State Assignment of Asynchronous State Machines" by Robert M. Fuhrer, Bill Lin and Steven M. Nowick
- Paper "A Novel Framework for Solving the State Assignment Problem for Event-Based Specifications" by Luciano Lavagno, 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
- Chapter "Avoid Race Conditions" (Secure Programming for Linux and Unix HOWTO)
- Race conditions, security, and immutability in Java, with sample source code and comparison to C code, by Chiral Software
- Interview with Dmitriy Vyukov - the author of Relacy Race Detector (RRD)
Categorías:- Electrónica digital
- Sistemas operativos
- Software
- Hacking
- Problemas de seguridad informática
- Antipatrón de diseño
Wikimedia foundation. 2010.