next up previous contents
След.: Объекты данных Выше: f08_new_win Пред.: Алфавит программы и программные   Содержание


Выполнение программы

Выполнение программы состоит с одновременном выполнении конечного числа (в том числе и одного) ее образов. Каждый образ имеет собственное состояние выполнения, набор объектов данных, логических устройств ввода/вывода и указателей на процедуры. Каждый образ определяется целым числом-номером от единицы до числа образов. Операторы управления ходом программы применяются внутри каждого образа, операторы управления образами (операторы синхронизации) -- влияют на относительный ход выполнения разных образов, а комассивы открывают доступ к данным образов из других образов. Число образов определяется на этапе компиляции, сборки или выполнения. Оно может равняться числу процессоров, но это не обязательно. Требования переносимости не позволяют программе делать предположения о числе образов. Имеются встроенные функции для определения этого числа и номера вызывающего образа.

Выполнение образа состоит в последовательном выполнении отдельных действий, указываемых выполняемыми операторами. Последовательность операторов, ограниченная операторами синхронизации, образует сегмент. Сегменты одного образа линейно упорядочены, тогда как на множестве всех сегментов программы определен лишь частичный порядок. Это означает, что в пределах образа всегда можно определить, какой сегмент будет выполнен раньше другого, тогда как сегменты разных образов могут (если операторы синхронизации не устанавливают очередность явно) выполняться в произвольном порядке (даже на одном компьютере).

Операторы выполняются последовательно, если не имеет места ситуация перехода. Их описывают: операторы безусловного перехода (нерекомендуемые и устаревшие); условные операторы и операторы цикла; операторы выбора возможностей и типа; конструкция BLOCK может содержать объявления; ряд операторов может иметь спецификаторы, которые задают метку, на которую осуществляется переход в случае той или иной ситуации.

Завершение выполнения программы может быть нормальным и аварийным. Нормальное завершение имеет место только тогда, когда все образы начали нормальное завершение. Оно состоит из трех шагов: начало, синхронизация и собственно завершение. Аварийное завершение инициируется одним образом, и затем ситуация аварийного завершения возбуждается на всех образах. Нормальное завершение инициирует оператор END основной программы и оператор STOP. Аварийное -- ситуации ошибок, а также оператор ERROR STOP.



Ilya A. Chernov 2012-12-19
X