YaChudo

Read-modify-write

Переглядів: 0. Оновлено 03.11.2026.

Читання-модифікація-запис (англ. read–modify–write) — це клас атомарних операцій (таких як test-and-set, fetch-and-add і compare-and-swap), які одночасно зчитують значення з комірки пам'яті та записують до неї нове значення — або повністю нове, або обчислене як функція попереднього значення. Такі операції запобігають виникненню гонитви даних у багатопотокових застосунках. Зазвичай вони використовуються для реалізації м'ютексів або семафорів. Ці атомарні операції також широко застосовуються в неблокувальній синхронізації.

Інструкції читання-модифікації-запису часто дають неочікувані результати під час використання з пристроями введення-виведення, оскільки операція запису може впливати не на той самий внутрішній регістр, до якого звертається операція читання.[1] Цей термін також пов'язаний із рівнями RAID, які виконують фактичні операції запису як атомарні послідовності читання-модифікації-запису.[2] До таких рівнів RAID належать RAID 4, RAID 5 і RAID 6.

Див. також

Примітки

  1. ↑ Massmind: "The read–modify–write problem". Архів оригіналу за 1 грудня 2017. Процитовано 18 липня 2026.
  2. ↑ Basic RAID Organizations. umass.edu. Архів оригіналу за 24 лютого 2021. Процитовано 4 жовтня 2013.

Джерело: стаття у Вікіпедії та історія редагувань (автори).