- •Лекция 1 Введение. Основные понятия испу.
- •Обеспечение асутп (совокупность средств, необходимых для функционирования системы)
- •Структура и функции испу
- •Требования к испу
- •2)Закон образа действия (фундаментальной иерархии).
- •Операционные системы. Классификация
- •К основным функциям операционных систем относятся:
- •Классификация операционных систем
- •Основные особенности, отличающие осрв от ос общего назначения.
- •Механизм реального времени. Распределение ресурсов.
- •Разновидности задач, выполняемых в ос
- •Свойства задач.
- •Управление задачами
- •Методы синхронизации задач
- •Здесь сообщения не теряются, а очередь сообщений ограничена оперативной памятью
- •2. Инверсия приоритетов.
- •Ядра реального времени
- •Unix'ы реального времени
- •Расширения реального времени для WindowsNt
- •Лекция 4 испу, расширенная структура. Датчики
- •Классификация электрических датчиков
- •Лекция 5. Искробарьеры (2хканальные, многоканальные)
- •Часть 11. Искробезопасная электрическая цепь I».
- •Примечание по монтажу и эксплуатации бис
- •Основные характеристики бис серий
- •Процедура выбора
- •Обеспечение резервирования каналов передачи данных
- •1. Анашкин а.С., Кадыров э.Д., Харазов в.Г. Техническое и программное обеспечение распределенных систем управления. - с- Петербург: «п-2», 2004. - 368с
- •Топология промышленных сетей
- •Методы организации доступа к линиям связи
- •Технологические языки программирования контроллеров
- •St(Structure Text - язык структурного текста высокого уровня, подобие Pascal).
- •Il (Instruction List) - язык инструкций;
- •Отладка онлайн
- •ISaGraf имеет возможности онлайнового мониторинга переменных и отладки программ.
- •Лекция 10 Понятие и основные особенности открытых систем.
- •Ieee/posix- открытая система - это система, регулирующая открытые спецификации на интерфейсы, службы и форматы данных, достаточные для того, чтобы обеспечить:
- •Технологии создания открытых программных систем.
- •Лекция 11 Технологии взаимодействия приложений.
- •1. Использование библиотек динамической компоновки - dll
- •Механизм ole for Process Control(opc).
- •Концепция стандарта орс
- •Value (значение).
- •1. Орс позволяют определять на уровне объектов различные системы управления и контроля, работающие в распределенной гетерогенной среде;
- •Odbc - интерфейс
- •Value (значение).
- •Ведение архивов данных в scada-системе. Тренды. Алармы.
- •Встроенные языки программирования.
- •Базы данных в scada.
- •Лекция 13 Вопросы надежности.
- •Основные особенности erp-систем
- •Производственные исполнительные системы (mes) - необходимый элемент эффективного управления предприятием
- •Основные функции mes
- •Примеры mes-систем
- •InfoPlus.21 - информационная система управления в режиме рв интегрирована с системой Simatic pcs7.
- •Лекция 16 case-технологии
- •Обзор некоторых case-систем
Лекция 11 Технологии взаимодействия приложений.
1. Использование библиотек динамической компоновки - dll
DLL (англ. Dynamic-link library – динамически подключаемая библиотека) понятие операционной системы Microsoft Windows; динамическая библиотека, позволяющая многократное применение различными программными приложениями. К DLL относятся также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют т. н. shared objects («разделяемые объекты»).
Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов, сочетая код, таблицы и ресурсы.
Цели введения DLL
Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только одну инстанцию библиотечных модулей для многих приложений. Это было особенно важно для ранних версий Microsoft Windows с жёсткими ограничениями по памяти.
Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того, библиотеки DLL могли использоваться разнотипными приложениями — например, Microsoft Office, Microsoft Visual Studio и т. п.
В дальнейшем идея модульности выросла в концепцию СОМ.
Фактически, полных преимуществ от внедрения DLL получить не удалось по причине явления, называемого DLL hell («ад DLL»). DLL Hell возникает, когда несколько приложений требуют одновременно различные, не полностью совместимые, версий DLL-библиотек, что приводит к сбоям в этих приложениях. Когда система выросла до определённых размеров, количество DLL стало превышать многие тысячи, не все из них обладали полной надёжностью и совместимостью, и конфликты типа DLL Hell стали возникать очень часто, резко понижая общую надёжность системы. Поздние версии Microsoft Windows стали разрешать параллельное использование разных версий DLL, что свело на нет преимущества изначального принципа модульности.
Статическая компоновка представлена на рис. 9.1
Во всех ОС имеются участки кодов, которые могут пользоваться библиотекой кодов
Существуют следующие типы переходников:
1. активный переходник - фрагмент кода, который устанавливает первоначальную связь между базой данных и библиотечного модуля.
2. переходник для данных - в DLL библиотеке могут храниться и данные, например шрифты.
3. переходник динамической компоновки — (см. рис. 9.2). Переходник выполняет подсчет обращений и определяет адрес функции.
Если много программ работает с одними и теми же функциями то получается существенная экономия памяти. В случае если одно приложение запрашивает код функции то динамическая компоновка усложняет структуру, увеличивая время обработки. Если два и боле приложений запрашивают код функции то целесообразно использовать DLL.
Использование таких DLL библиотек дает следующие преимущества:
1. Возможность расширения функций приложений за счет DLL других производителей. Для этого необходимо лишь знать перечень функций и способы обращения.
2. Возможность написания программ на различных языках программирования.
3. Простота организации управления проектом по разработке сложного программного комплекса.
4. Экономия оперативной памяти
2 Технология DDE (Dynamic Data Exchange-динамический обмен данных).
Механизм DDE основан на пересылке данных через буфер обмена Windows. Буфер обмена - специальная область память, предоставляемая операционной системой для обмена данных между приложениями.
В Windows существуют средства для работы с буфером обмена. К ним относятся:
функции для помещения данных в буфер и извлечения из буфера;
функции проверки наличия данных в буфере;
предусмотрены 25 встроенных типов данных (изображение, фрагмент текста, звук, и т.д.);
возможность создания собственных типов данных;
возможность обмениваться командами;
Основным преимуществом DDE является его стандартность и наличие во всех версиях Windows. Недостатки DDE:
низкая скорость обмена данных;
низкая надежность, в частности за счет того, что буфер обмена доступен
всем выполняющимся приложениям;
DDE непригоден для обмена технологическими данными, в частности из-за низкой производительности и надежности;
Для преодоления недостатков DDE разработчики предложили свои собственные протоколы Advanced DDE, Fast DDE . В основе лежит пакетирование информации, что позволяет увеличить скорость обмена. Такие частные решения приводят к ряду проблем:
Для каждой SCADА системы, поддерживающей один из этих протоколов необходимы драйверы оборудования, которые поддерживают тот же протокол;
В общем случае две SCADА системы не могут иметь доступ одновременно к одному и тому же драйверу.
Тем не менее, этот механизм используется для получения данных от технологических процессов и для передачи управляющих воздействий (в этом случае SCADA системы выполняют функции клиента по отношению к поставляющему данные драйверу или серверу ввода/вывода), а также для взаимодействия с другими приложениями, например с MS Excel. SCADA системы могут быть как клиентами так и серверами.
В основу DDE положен принцип, в котором осуществляется передача адресов блоков памяти, а сами данные располагаются в таблице атомов.
Таблица атомов — область памяти, доступная всем программам для чтения и записи. Адресация в ней ведется при помощи 4-х составляющих: сервис - имя приложения, которое обеспечивает этот сервис; тема; элементы данных; данные.
DDE канал может работать в трех режимах: обычный режим, «теплый» канал, «горячий» канал.
I
.
Работа DDE
канала в обычном режиме (см. рис. 9.3).
II. Организация «теплого» канала (см. рис. 9.4). Создается тогда, когда клиент заранее должен извещаться сервером об изменении данных.
III. Организация «горячего» канала (см. рис. 9.5).
Приложения могут устанавливать одновременно несколько связей с несколькими приложениями. При этом это приложение может быть как клиентом, так и сервером.
3. Технология OLE (Object Linking and Embedding)
OLE позволяет связывать объекты приложений или внедрять один объект в другой. В рамках технологии OLE базовым является понятие ДОКУМЕНТ. OLE сопоставляет с объектом два основных типа данных: визуальные и внутренние.
Документ - базовый объект, с которым происходит связывание или в который происходит внедрение других объектов.
Связывание - процесс, при котором в документ включаются только визуальные данные объекта и ссылки на его внутренние данные. Физически документ и связанные с ним объекты хранятся в различных областях памяти или файлах.
Внедрение - процесс, при котором документ и внедряемый объект объединяются в единое целое. Они хранятся в одной области памяти и в одном файле.
В рамках OLE взаимодействия различают понятия OLE объект, OLE контейнер и OLE сервер.
OLE объект - часть данных, которая совместно используется несколькими приложениями.
OLE контейнер - приложение, которое может быть встроено в OLE объект.
OLE сервер - приложение, которое способно создавать и обслуживать OLE объекты.
Достоинства OLE:
стандартность
открытость
более высокое в сравнении с DDE быстродействие
более высокая надежность
Недостатки OLE:
нет принципиальных ограничений на действия встраиваемых объектов
отсутствуют стандартные механизмы информирования о событиях
В процессе OLE взаимодействия приложения могут играть различные роли и поочередно быть OLE контейнером и OLE сервером.
4. Технология СОМ и DCOM
Компонент - готовый к использованию фрагмент двоичного кода, содержащихся либо в динамической библиотеке DLL, либо в ехе файле, который может быть при необходимости загружен в память и стандартным образом динамически подключен к приложению.
Выделяют две основные черты компонентов:
1. динамически связанная - связь компонента и приложения (связь между вызовом функции в приложении, ее кодом в теле компонента) осуществляется не на этапе компоновки приложения, а непосредственно во время выполнения.
2. скрытая внутренняя реализация (инкапсуляция) означает, что для приложения не важно, и приложение не знает как именно реализован компонент внутри, а знает только как вызывать его функции.
При разработке приложения из компонентов основной код приложения и компоненты компилируются отдельно, на этапе исполнения происходит динамическое связывание между вызовами функции в теле приложения и самими функциями, реализованными в компонентах.
Модификация или расширение компонента (приложения) сводится к замене одного из его компонентов новой версией.
Если приложение состоит из компонентов, оно может быть распределенным, к этому располагают 2 особенности:
3. приложение уже разделено на составные части, которые могут находиться в частности на различных ЭВМ;
4. так как компоненты заменяемы, при организации распределенной архитектуры приложения, в него могут быть добавлены специальные компоненты, обеспечивающие связь (например, по локальной сети, Internet).
Приложения, использующие компонент, являются клиентом для данного компонента, при этом компонент подключается к приложению клиенту при помощи единого стандартного интерфейса. В современных версиях Windows в качестве такого интерфейса используется технология СОМ.
Оба эти определения имеют право на существование COM (Component Object Model) - модель многокомпонентных Объектов, позволяющая приложению манипулировать удаленными программными объектами, точнее вызывать те или иные функции (методы) этих объектов так, как будто эти объекты находятся «рядом».
СОМ - стандарт (спецификация), которому должны следовать компоненты и клиенты, чтобы иметь возможность совместной работы. При этом компоненты должны быть стандартным образом зарегистрированы операционной системой. Используя схему объявлений СОМ (список зарегистрированных функций компонентов), клиенты могут динамически находить нужные компоненты.
Интерфейс СОМ включает в себя набор функций, которые реализуются компонентами и используются клиентами. Интерфейсом СОМ является определенная структура, содержащая в памяти массив указателей на функции, имеющиеся в компонентах, зарегистрированных в системе. Для организации взаимодействия между частями распределенного приложения, расположенного на различных ЭВМ, технология СОМ использоваться не может. Связано это с тем, что у ЭВМ, работающих раздельно нет общей области памяти, в которой мог бы располагаться интерфейс СОМ. Для организации распределенного взаимодействия компонентов используется технология DCOM (Distributed Component Object Model) (модель распределенных многокомпонентных объектов).
DCOM - программная архитектура, используемая для организации взаимодействия программных компонентов, расположенных на нескольких компьютерах сети. Приложение на одной из ЭВМ может использоваться DCOM для передачи сообщения (называемого удаленным вызовом процедуры) компоненту на другую ЭВМ. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленным компонентам. В принципе в случае использования DCOM неважно, находится ли приложение и компонент на разных ЭВМ или на одной. Однако использование DCOM медленнее, чем СОМ.
5. Технология Active X
Технология Active X основана на использовании компонентной структуры приложений и DCOM. Приложение, к которому подключается Active X компонент, называется КОНТЕЙНЕРОМ для данного компонента. Компонент может передавать контейнеру данные, методы и события. Существует два основных способа выполнения Active X компонентов:
встроенный в процесс (единое пространство памяти позволяет увеличить быстродействие)
выполняемая в отдельном процессе (возможна организация распределенной архитектуры)
Особенности Active X
2. возможность независимой разработки частей распределенного приложения
3. стандартность (обеспечена использованием DCOM)
4. открытость и переносимость. В настоящее время ведется разработка Active X для UNIX платформы.
5. существует большое количество готовых Active X компонентов, которые могут быть использованы.
