Сохраняемость

Параллелизм

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

Процесс (поток управления) это фундаментальная единица действия в системе. Каждая программа имеет по крайней мере один поток управления, в параллельной системе таких потоков много. Век одних потоков недолог, а другие живут в течение всего се­анса работы системы.

Параллелизм главное внимание уделя­ет абстрагированию и синхронизации процессов.

Объект, полученный из абстракции реального мира, может представлять собой отдельный поток управления (т.е. абст­ракцию процесса). Такой объект называется активным.

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

Параллелизм – свойство нескольких объектов одновременно находиться в активном состоянии.

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

Любой программный объект существует в памяти и живет во времени.

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

– промежуточные результаты вычисления выражений;

– локальные переменные в вызове процедур;

– глобальные переменные и ди­намически создаваемые данные;

– данные, сохраняющиеся между сеансами выполнения программы;

– данные, сохраняемые при переходе на новую версию программы;

– данные, которые вообще переживают программу.

По традиции, первыми тремя уровнями занимаются языки программирова­ния, а последними – базы данных. Языки программирования, как правило, не поддерживают понятия сохраняемости. Можно записывать объекты в неструктурированные файлы, но этот подход пригоде­н только для небольших систем. Как правило, сохраняемость достигается при­менением специальных объектно-ориентированных баз данных.

До сих пор мы говорили о сохранении объектов во времени. В большинстве систем объектам при их создании отводится место в памяти, которое не изменяется и в котором объект находится всю свою жизнь. Однако иногда необходимо обеспечивать возможность перемещения объектов в пространстве так, чтобы их можно было переносить с машины на машину и изменять форму представления объекта в памяти. Это касается систем, распределенных в пространстве.

Сохраняемость – свойство объекта существовать во времени независимо от процесса, породившего данный программный объект, и/или в пространстве, перемещаясь из адресного пространства, в котором он был создан.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: