Применение алгоритмов шифрования Политики безопасности Протокол аутентификации Безопасность IP (IPSec) Использование сертификатов для обеспечения безопасности

Многопроцессорные вычислительные системы

Системы телеобработки. Уже первоначальное применение СОД для управления производством, транспортом и материально-техническим снабжением показало, что эффективность систем можно значительно повысить, если обеспечить ввод данных в систему непосредственно с мест их появления и выдачу результатов обработки к местам их использования.

Основы вычислительных систем

Основные подходы к проектированию языков параллельного программирования

Средства описания вычислительного процесса, заложенные в большинстве языков программирования, носят, как правило, последовательный характер. Все дело в том, что применяемое понятие алгоритма (уточнение с помощью нормального алгоритма Маркова или одноголовочной машины Тьюринга) использует пошаговый процесс его реализации. Даже такие высокоразвитые и широко применяемые языки, как ФОРТРАН и ПАСКАЛЬ, базируются на последовательном характере записи алгоритма. Однако в связи с созданием и эксплуатацией многопроцессорных систем и многомашинных комплексов назрела и постепенно начала воплощаться в жизнь идея описания алгоритмов в последовательно-параллельной форме, что позволило явно указывать в программе элементы, допускающие их параллельное выполнение.

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

Рассмотрим основные пути, по которым идут при создании ЯПП.

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

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

При проектировании ЯПП работа ведется как в направлении создания дополнительных средств в существующих последовательных языках, так и в плане создания ЯПП на совершенно новых принципах.

Популярность языков программирования может определяться различными причинами: изощренной реализацией на компьютере, имеющимися приложениями, традицией использования и т. д. Однако проектирование ЯП всегда должно сопровождаться определенными требованиями. Язык программирования – это формальный язык связи человека с компьютером, предназначенный для описания данных и алгоритмов их обработки. В отличие от языка общения между людьми он не должен допускать двусмысленностей и неопределенностей. Вот некоторые требования к ЯП:

·  ясность, простота и согласованность понятий языка с простыми и регулярными правилами их конструирования;

·  ясность структуры программы, написанной на ЯП, с возможностями их модификации;

·  естественность в приложениях: иметь для реализации задачи подходящие структуры данных, операции, управляющие структуры и естественный синтаксис;

·  легкость расширения за счет моделирования простыми средствами сложных структур, имеющихся в конкретных задачах;

·  богатое внешнее обеспечение: средства тестирования, отладки, редактирования, хранения;

·  эффективность создания, трансляции, тестирования, выполнения и использования программ.

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

Информатика, черчение, математика