Теория распараллеливания и синхронизация. Демьянович Ю.К - 10 стр.

UptoLike

Отметим также зависимость результатов от программного окруже-
ния (от используемых трансляторов, библиотек и т.п.)
Однако, во всех этих случаях можно считать, что в фиксиро-
ванный момент времени программа характеризуется значениями
своих переменных том числе и неявных переменных раз-
личных счетчиков, семафоров и т.п.).
Совокупность упомянутых значений в определенный момент
времени называется состоянием программы в этот момент.
Поскольку совокупность этих значений весьма велика, обычно
они скрыты и задают состояние п рогр амм ы неявно.
Программа начинает работу с некоторого исходного состояния,
возникающего в момент обращения к программе, а ее выполнение
состоит в последовательной смене состояний.
Эти понятия, конечно, относятся и к параллельной программе.
Программа запускает ряд процессов, которые имеют значи-
тельную самостоятельность, так что в определенной мере они
выполняются незави сим о. Каждый процесс проверяет и изменяет
состояние программы.
Процесс можно представить как последовательное выполнение
операторов. Операторы можно рассматривать как последователь-
ность неделимых действий. Неделимое действие характеризуется
тем, что оно не может совершиться частично: оно может совер-
шиться или не совершиться. Каждое из последних проверяет и из-
меняет состояние программы неделимым образом: это означает, что
программа может находиться лишь в тех состояниях, при которых
любое из упомянутых действий либо закончилось, либо не начина-
лось.
Примером таких действий могут служить запись и чтение слов
в память, эл ем ентарные логико-арифметические действия.
Выполнение программы сводится к исполнению групп недели-
мых действий. История выполнения программы складывается из
последовательного выполн ени я таких групп; нетрудно видеть, что
историю м ожно рассматривать и как последовательность состоя-
ний программы.
Схема выполнения программы один из допустимых вари-
антов ее выполнения на ВС; в ней должн ы учитываться моме нты
синхронизации.
11