В дисциплинах по программированию задач и распределенной обработке данных выделяют три различных понятия: программа, процессор и процесс. Эти понятия в литературе обычно связывают с распределенным программированием и распределенной обработкой данных. Под системой распределенной обработки данных понимается такая система, отдельные компоненты которой одновременно функционируют на разных ЭВМ, обладающих средствами обмена данными друг с другом.
Распределенное программирование (distributed programming) — это совокупность языковых средств и методов программирования систем распределенной обработки данных в сетях ЭВМ и многомашинных комплексах. Одновременность функционирования разных компонент распределенной системы играет важную роль в этом определении.
Программа — это статический объект, представленный текстом с определенной заранее лексикой, синтаксисом и семантикой на физическом носителе любого вида (бумага, магнитный диск, запоминающее устройство вычислительной машины и тому подобное). Перенос текста программы с одного физического носителя на другой не изменяет текста программы, а формирует лишь очередную ее копию.
Процессор — это устройство, которое в ритме, задаваемом тактирующим генератором, считывает очередную лексическую конструкцию текста программы и выполняет конкретное семантическое (смысловое) действие над объектом, связанным с этой лексемой. Результатом работы процессора является временная последовательность (развертка), в общем случае, протяженных действий.
Процесс — это динамическая категория, представляющая последовательность инициируемых тактовым генератором процессора протяженных во времени физических действий над различными объектами, которые изменяют свое состояние. Таким образом, в каждый момент своего развития процесс обладает совокупностью состояний, достигнутых им к некоторому моменту времени. В вычислительных процессах отображением этих состояний в любой текущий момент служат значения переменных (объектов), которые упоминались в тексте программы к этому моменту. Каждому вычислительному процессу присущ свой набор переменных. Часть из них может принадлежать и другим процессам. На оси естественного времени любой процесс имеет точку начала и точку конца. Разность этих моментов определяет время существования процесса.
Динамикой вычислительного процесса непосредственно управляет процессор, являющийся, в свою очередь, объектом, состояние которого тоже определяется лексическими конструкциями программы. В число лексем программы, семантическое действие которых управляет динамикой вычислительных процессов, меняя состояние процессора, включаются, как минимум, лексемы со следующими действиями:
· порождение процесса, которое задает точку начала процесса ;
· остановку процесса, при котором вычислительный процесс с момента продолжает существовать, но состояния своего не изменяет;
· запуск процесса, в результате которого с момента вычислительный процесс продолжает изменять свое состояние;
· завершение процесса, которое определяет точку конца процесса .
Понятие процесса приобрело принципиальный смысл тогда, когда возникла проблема обеспечения взаимодействия между двумя и более процессами, решающими общую для них задачу. Проблема взаимодействия между процессами посредством обмена данными оказалась весьма серьёзной, когда число неизвестных в системах уравнений стало достигать десятков и сотен тысяч, а время, отводимое для решения, ограничивалось.
Характер взаимодействия между одновременно протекающими процессами путем изменения состояния или значений данных друг друга определяется множеством условий, порождаемых конкретным видом решаемых задач. В соответствии с видами средств взаимодействия процессов, способами организации процессов и целями их создания можно выделить три направления развития распределенного программирования.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.