Condición de carrera

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 16:52 5 nov 2015 por Elvisor (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
Condición de carrera en un circuito lógico. ∆t1 y ∆t2 representan el retardo de propagación de los elementos lógicos. Cuando el valor de entrada (A) cambia, el circuito genera en la salida un pico de duración (∆t1+∆t2) - ∆t2 = ∆t1.

Condición de carrera (del inglés race condition) es una expresión usada en electrónica y en programación. Múltiples procesos se encuentran en condición de carrera si el resultado de los mismos depende del orden de su ejecución. Si los procesos que están en condición de carrera no son correctamente sincronizados, puede producirse una corrupción de datos, que puede ser aprovechada 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.

Una condición de carrera se da principalmente cuando varios procesos acceden al mismo tiempo y cambian el estado de un recurso compartido (por ejemplo una variable), obteniendo de esta forma un valor no esperado de ese recurso.

Véase también

Enlaces externos