Læs – modificer – skriv - Read–modify–write

I datalogi er læse-ændre-skriv en klasse med atomoperationer (såsom test-og-sæt , hente-og-tilføj og sammenligne-og-swap ), der både læser et hukommelsessted og skriver en ny værdi ind i det samtidig, enten med en helt ny værdi eller en eller anden funktion af den forrige værdi. Disse operationer forhindrer race forhold i multi-threaded applikationer. De bruges typisk til at implementere mutexer eller semaforer . Disse atomoperationer bruges også stærkt til synkronisering, der ikke blokerer .

Maurice Herlihy (1991) rangerer atomare operationer ved deres konsensus -numre, som følger:

Det er umuligt at implementere en operation, der kræver et givet konsensusnummer med kun operationer med et lavere konsensusnummer, uanset hvor mange af sådanne operationer man bruger. Læs - modificer - skrivinstruktioner giver ofte uventede resultater, når de bruges på I / O- enheder, da en skrivefunktion muligvis ikke påvirker det samme interne register , som man får adgang til i en læseoperation.

Dette udtryk er også forbundet med RAID- niveauer, der udfører faktiske skriveoperationer som atom- læse-ændre-skriv-sekvenser. Sådanne RAID-niveauer inkluderer RAID 4 , RAID 5 og RAID 6 .

Se også

Referencer