Чтение – изменение – запись

редактировать

В информатика, чтение – изменение – запись - это класс атомарных операций (например, test-and-set, fetch- and-add и compare-and-swap ), которые одновременно читают ячейку памяти и записывают в нее новое значение либо с совершенно новым значением, либо с некоторой функцией предыдущего значения. Эти операции предотвращают состояния гонки в многопоточных приложениях. Обычно они используются для реализации мьютексов или семафоров. Эти атомарные операции также широко используются в неблокирующей синхронизации.

Морис Херлихи (1991) ранжирует атомарные операции по их согласованным числам следующим образом:

Невозможно реализовать операцию, которая требует заданного согласованного числа, с помощью только операций с меньшим согласованным числом, независимо от того, сколько таких операций используется. Команды чтения-изменения-записи часто дают неожиданные результаты при использовании на устройствах ввода-вывода, поскольку операция записи может не повлиять на тот же внутренний регистр , к которому можно получить доступ в операции чтения.

Этот термин также связан с уровнями RAID, которые выполняют фактические операции записи как атомарные последовательности чтения – изменения – записи. К таким уровням RAID относятся RAID 4, RAID 5 и RAID 6.

См. Также
Ссылки

.

Последняя правка сделана 2021-06-03 09:53:40
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте