Read-modify-write
Читання-модифікація-запис (англ. read–modify–write) — це клас атомарних операцій (таких як test-and-set, fetch-and-add і compare-and-swap), які одночасно зчитують значення з комірки пам'яті та записують до неї нове значення — або повністю нове, або обчислене як функція попереднього значення. Такі операції запобігають виникненню гонитви даних у багатопотокових застосунках. Зазвичай вони використовуються для реалізації м'ютексів або семафорів. Ці атомарні операції також широко застосовуються в неблокувальній синхронізації.
Інструкції читання-модифікації-запису часто дають неочікувані результати під час використання з пристроями введення-виведення, оскільки операція запису може впливати не на той самий внутрішній регістр, до якого звертається операція читання.[1] Цей термін також пов'язаний із рівнями RAID, які виконують фактичні операції запису як атомарні послідовності читання-модифікації-запису.[2] До таких рівнів RAID належать RAID 4, RAID 5 і RAID 6.
Див. також
- Число консенсусу
- Лінеаризовність
- Read–erase–modify–write
Примітки
- ↑ Massmind: "The read–modify–write problem". Архів оригіналу за 1 грудня 2017. Процитовано 18 липня 2026.
- ↑ Basic RAID Organizations. umass.edu. Архів оригіналу за 24 лютого 2021. Процитовано 4 жовтня 2013.
Джерело: стаття у Вікіпедії та історія редагувань (автори).