Регистры: различия между версиями

Перейти к навигации Перейти к поиску
м
мНет описания правки
Строка 6: Строка 6:




Задача состоит в конструировании общих переменных, для которых выполняются следующие два свойства. (1) Выполнение операций не обязательно атомарно, то есть они не являются неделимыми, а состоят из атомарных подопераций; (2) каждая операция завершает свое выполнение за ограниченное число собственных шагов, независимо от наличия других операций и их относительной скорости. Таким образом, выполнение операций ''не требует ожидания''. Эти два свойства дают основание для классификации общих переменных в зависимости от их выходных характеристик. Лэмпорт [8] выделяет три категории общих переменных с одним райтером, используя отношение предшествования для выполнения операций, определяемое следующим образом: при выполнении операций A и B операция A ''предшествует'' B (обозначается <math> A \to B</math>), если A завершается до начала B; A и В ''перекрываются', если ни A не предшествует B, ни B не предшествует A. Среди переменных с одним райтером все операции записи полностью упорядочены согласно отношению "<math>\to</math>". Лэмпорт следующим образом определяет три категории общих переменных с одним райтером:
Задача состоит в конструировании общих переменных, для которых выполняются следующие два свойства. (1) Выполнение операций не обязательно атомарно, то есть они не являются неделимыми, а состоят из атомарных подопераций; (2) каждая операция завершает свое выполнение за ограниченное число собственных шагов, независимо от наличия других операций и их относительной скорости. Таким образом, выполнение операций ''не требует ожидания''. Эти два свойства дают основание для классификации общих переменных в зависимости от их выходных характеристик. Лэмпорт [8] выделяет три категории общих переменных с одним райтером, используя отношение предшествования для выполнения операций, определяемое следующим образом: при выполнении операций A и B операция A ''предшествует'' B (обозначается <math> A \to B</math>), если A завершается до начала B; A и В ''перекрываются'', если ни A не предшествует B, ни B не предшествует A. Среди переменных с одним райтером все операции записи полностью упорядочены согласно отношению "<math>\to</math>". Лэмпорт следующим образом определяет три категории общих переменных с одним райтером:


1. ''Безопасная'' переменная – это переменная, для которой операция чтения, не перекрывающаяся с какой-либо операцией записи, возвращает последнее записанное значение.  
1. ''Безопасная'' переменная – это переменная, для которой операция чтения, не перекрывающаяся с какой-либо операцией записи, возвращает последнее записанное значение.  
4488

правок

Навигация