Hva er en Race-tilstand?

En rase eller rasefare er et scenario i et elektronisk behandlingssystem der resultatet av en beregning kan bli påvirket av en uforutsette eller ukontrollerte rekkefølge av hendelser. Det underliggende konseptet er at resultatene av en prosess aldri burde påvirkes av en av operasjonene "å vinne et løp" (ferdig først).

  • Eksempel.
  • CPU-raseforhold.
  • Programvare raseforhold.

Vurder følgende sett med operasjoner:

  1. variabel a = 1
  2. variabel a = a * 5
  3. variabel b = a - 1

Hvis disse operasjonene behandles i riktig rekkefølge, bør variabel b være lik 4. Men hvis operasjon 3 blir utført før operasjon 2 har fullført, ville b være 0.

Raceforhold i prosessorer

Racebetingelser er et viktig problem i CPU-design som bruker både parallelle og samtidige behandlingsteknikker for å utføre flere instruksjoner i en overlappende tidsramme. For å sikre at utgangen av beregninger ikke er skadet, må løpevilkårene alltid forventes og unngås.

Raceforhold i Programvare

Det er også et viktig problem for programvareutviklere, som må håndtere alle raseforhold som kan oppstå når koden brukes i virkelige situasjoner. Famously, en uhensiktsmessig håndtert løpevilkår i programvaren til NASAs Spirit Exploration Rover, resulterte nesten i at roveren mistet kort tid etter at landet landet på Mars.

Design, Parallell behandling, Programmeringsbetingelser