🗊 Презентация Архитектура приложений реального времени

Нажмите для полного просмотра!
Архитектура приложений реального времени, слайд №1 Архитектура приложений реального времени, слайд №2 Архитектура приложений реального времени, слайд №3 Архитектура приложений реального времени, слайд №4 Архитектура приложений реального времени, слайд №5 Архитектура приложений реального времени, слайд №6 Архитектура приложений реального времени, слайд №7 Архитектура приложений реального времени, слайд №8 Архитектура приложений реального времени, слайд №9 Архитектура приложений реального времени, слайд №10 Архитектура приложений реального времени, слайд №11 Архитектура приложений реального времени, слайд №12 Архитектура приложений реального времени, слайд №13 Архитектура приложений реального времени, слайд №14 Архитектура приложений реального времени, слайд №15 Архитектура приложений реального времени, слайд №16 Архитектура приложений реального времени, слайд №17 Архитектура приложений реального времени, слайд №18 Архитектура приложений реального времени, слайд №19 Архитектура приложений реального времени, слайд №20 Архитектура приложений реального времени, слайд №21 Архитектура приложений реального времени, слайд №22 Архитектура приложений реального времени, слайд №23 Архитектура приложений реального времени, слайд №24 Архитектура приложений реального времени, слайд №25 Архитектура приложений реального времени, слайд №26 Архитектура приложений реального времени, слайд №27 Архитектура приложений реального времени, слайд №28 Архитектура приложений реального времени, слайд №29 Архитектура приложений реального времени, слайд №30 Архитектура приложений реального времени, слайд №31 Архитектура приложений реального времени, слайд №32 Архитектура приложений реального времени, слайд №33 Архитектура приложений реального времени, слайд №34 Архитектура приложений реального времени, слайд №35 Архитектура приложений реального времени, слайд №36 Архитектура приложений реального времени, слайд №37 Архитектура приложений реального времени, слайд №38 Архитектура приложений реального времени, слайд №39 Архитектура приложений реального времени, слайд №40 Архитектура приложений реального времени, слайд №41 Архитектура приложений реального времени, слайд №42 Архитектура приложений реального времени, слайд №43 Архитектура приложений реального времени, слайд №44 Архитектура приложений реального времени, слайд №45 Архитектура приложений реального времени, слайд №46 Архитектура приложений реального времени, слайд №47 Архитектура приложений реального времени, слайд №48 Архитектура приложений реального времени, слайд №49 Архитектура приложений реального времени, слайд №50 Архитектура приложений реального времени, слайд №51 Архитектура приложений реального времени, слайд №52 Архитектура приложений реального времени, слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Архитектура приложений реального времени. Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Занятие 3 Архитектура приложений реального времени Разделы: Архитектура приложений на ведущем и целевом устройствах Многопоточность Режим ожидания...
Описание слайда:
Занятие 3 Архитектура приложений реального времени Разделы: Архитектура приложений на ведущем и целевом устройствах Многопоточность Режим ожидания (перерыв) Детерминизм Обмен данными между потоками (Threads)

Слайд 2


Архитектура приложений реального времени
Описание слайда:
Архитектура приложений реального времени

Слайд 3


Ведущее приложение Выполняется на компьютере Отвечает за задачи, не требующие детерминизма: Обмен данными с контроллером параметры поступающие в...
Описание слайда:
Ведущее приложение Выполняется на компьютере Отвечает за задачи, не требующие детерминизма: Обмен данными с контроллером параметры поступающие в приложение или отображающиеся на интерфейсе пользователя запрос и получение результатов Запись данных на жесткий диск Анализ данных Сетевой обмен и пересылка данных

Слайд 4


Приложение реального времени Процессы выполняются с высоким и низким приоритетами. Процесс, который должен быть детерминирован по времени, имеет...
Описание слайда:
Приложение реального времени Процессы выполняются с высоким и низким приоритетами. Процесс, который должен быть детерминирован по времени, имеет критический приоритет – все остальные процессы имеют более низкий приоритет Многопоточность (multithreading) позволяет задать приоритет каждого процесса.

Слайд 5


Что такое многопоточность? Расширение подхода многозадачности Многозадачность – возможность операционной системы быстро переключаться между...
Описание слайда:
Что такое многопоточность? Расширение подхода многозадачности Многозадачность – возможность операционной системы быстро переключаться между выполняемыми задачами Задача это, как правило, целое приложение, например, такое как LabVIEW Многопоточность расширяет возможности многозадачности при работе с приложением: Отделяет определенные операции, выполняемые приложением и помещает их в потоки Делит процессорное время между потоками Позволяет назначать приоритеты

Слайд 6


Преимущества многопоточности Разделение между задачами критичными и некритичными по времени. Требования реального времени заставляют операционною...
Описание слайда:
Преимущества многопоточности Разделение между задачами критичными и некритичными по времени. Требования реального времени заставляют операционною систему распределять процессорное время по приоритетам и в соответствии с жестким расписанием.

Слайд 7


Простая модель многопоточной системы реального времени
Описание слайда:
Простая модель многопоточной системы реального времени

Слайд 8


Расписание Потоков Циклическое расписание Потоки одинакового приоритета получают одинаковые кванты времени при обработке на центральном процессоре....
Описание слайда:
Расписание Потоков Циклическое расписание Потоки одинакового приоритета получают одинаковые кванты времени при обработке на центральном процессоре. Может потребоваться несколько кругов (циклов) полного выполнения задачи за которую отвечает выделенный поток Расписание по приоритетному прерыванию Поток с высоким приоритетом мгновенно приостанавливает обработку всех потоков с более низкими приоритетами

Слайд 9


Циклическое расписание
Описание слайда:
Циклическое расписание

Слайд 10


Расписание по приоритетному прерыванию
Описание слайда:
Расписание по приоритетному прерыванию

Слайд 11


Расписание LabVIEW Real-Time
Описание слайда:
Расписание LabVIEW Real-Time

Слайд 12


Планировщик LabVIEW Real-Time Комбинация циклического расписания и расписания по приоритетному прерыванию. Назначение одного критичного по времени ВП
Описание слайда:
Планировщик LabVIEW Real-Time Комбинация циклического расписания и расписания по приоритетному прерыванию. Назначение одного критичного по времени ВП

Слайд 13


Режим ожидания
Описание слайда:
Режим ожидания

Слайд 14


Зависание
Описание слайда:
Зависание

Слайд 15


Режим ожидания Приостановка выполнения VI или потока
Описание слайда:
Режим ожидания Приостановка выполнения VI или потока

Слайд 16


Режим ожидания и критический по времени приоритет Следующие особенности уникальны для LabVIEW Real-Time: Если любой критический по времени VI...
Описание слайда:
Режим ожидания и критический по времени приоритет Следующие особенности уникальны для LabVIEW Real-Time: Если любой критический по времени VI прерывает свое исполнение в режиме ожидания, то весь поток переводится в режим ожидания. Не используйте параллельные циклы в критических по времени VI, многозадачность не будет работать. Если параллельные циклы имеют разную частоту, не используйте критические по времени VI — используйте специальный циклы с тактированием (timed loop)

Слайд 17


Упражнение 3-1 Работа с приоритетами Время на выполнение: 10 минут.
Описание слайда:
Упражнение 3-1 Работа с приоритетами Время на выполнение: 10 минут.

Слайд 18


Упражнение в классе – выбор приоритета
Описание слайда:
Упражнение в классе – выбор приоритета

Слайд 19


Возможное Решение
Описание слайда:
Возможное Решение

Слайд 20


Детерминизм. Оптимизация приложения. Выбирайте подходящие аппаратные средства Избегайте использования ресурсов с общим доступом Избегайте...
Описание слайда:
Детерминизм. Оптимизация приложения. Выбирайте подходящие аппаратные средства Избегайте использования ресурсов с общим доступом Избегайте перевыделения памяти Избегайте вызовов subVI в цикле Отключайте ненужные опции Используйте только один VI c критическим приоритетом

Слайд 21


Ресурсы с общим доступом Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут быть использованы только одним процессом в один и...
Описание слайда:
Ресурсы с общим доступом Ресурсы с общим доступом в LabVIEW Real-Time - это ресурсы, которые могут быть использованы только одним процессом в один и тот же момент времени Ресурсами с общим доступом являются:

Слайд 22


Ресурсы с общим доступом
Описание слайда:
Ресурсы с общим доступом

Слайд 23


Ресурсы с общим доступом -приоритеты
Описание слайда:
Ресурсы с общим доступом -приоритеты

Слайд 24


Ресурсы с общим доступом – (subVI) Настройте subVI для поддержки параллельных вызовов
Описание слайда:
Ресурсы с общим доступом – (subVI) Настройте subVI для поддержки параллельных вызовов

Слайд 25


Ресурсы с общим доступом – менеджер памяти Менеджер памяти LabVIEW Real-Time выделяет память автоматически Пользователь не должен явно резервировать...
Описание слайда:
Ресурсы с общим доступом – менеджер памяти Менеджер памяти LabVIEW Real-Time выделяет память автоматически Пользователь не должен явно резервировать или освобождать память Это означает, что менеджер памяти просто использовать, но им трудно управлять Менеджер памяти LabVIEW Real-Time это разделяемый ресурс Вы должны управлять выделением памяти для того, чтобы избежать конфликтов (свойственных разделяемым ресурсам) с менеджером памяти. Необходимо статическое выделение памяти перед запуском процесса критического по времени

Слайд 26


Инициализация массивов Избегайте динамического выделения памяти для массивов в цикле с критическим приоритетом.
Описание слайда:
Инициализация массивов Избегайте динамического выделения памяти для массивов в цикле с критическим приоритетом.

Слайд 27


Ресурсы с общим доступом – управление памятью Ключевые моменты по управлению памятью в системах реального времени: Менеджер памяти LabVIEW Real-Time...
Описание слайда:
Ресурсы с общим доступом – управление памятью Ключевые моменты по управлению памятью в системах реального времени: Менеджер памяти LabVIEW Real-Time является ресурсом с общим доступом Все операции по выделению памяти должны проводиться вне цикла с критическим приоритетом. Резервирование памяти под массивы должно выполняться вне цикла с критическим приоритетом Данные должны быть приведены нужному типу По возможности используйте метод замещения (Replace) для повторного использования памяти буферов Старайтесь как можно меньше использовать глобальные переменные

Слайд 28


Разделяемые ресурсы, do not delete – used for notes
Описание слайда:
Разделяемые ресурсы, do not delete – used for notes

Слайд 29


Избегайте конфликтов памяти Резервируемый под массивы участок памяти должен быть по размеру не меньше размера самого большого ожидаемого массива.
Описание слайда:
Избегайте конфликтов памяти Резервируемый под массивы участок памяти должен быть по размеру не меньше размера самого большого ожидаемого массива.

Слайд 30


Избегайте конфликтов памяти, cont. Do not delete this slide; it is used for the manual notes.
Описание слайда:
Избегайте конфликтов памяти, cont. Do not delete this slide; it is used for the manual notes.

Слайд 31


Избегайте вызовов subVI в цикле Каждый вызов subVI приводит к определенным затратам на выполнение служебных операций затраты могут быть значительными...
Описание слайда:
Избегайте вызовов subVI в цикле Каждый вызов subVI приводит к определенным затратам на выполнение служебных операций затраты могут быть значительными при вызове subVI из тела цикла Вместо этого, если возможно, поместите тело цикла внутрь подпрограммы subVI

Слайд 32


Отключите ненужные опции Разрешить отладку (Allow debugging) Авто обработка меню при запуске (Auto handle menus at launch)
Описание слайда:
Отключите ненужные опции Разрешить отладку (Allow debugging) Авто обработка меню при запуске (Auto handle menus at launch)

Слайд 33


Избегайте использования Express VI Express VI в LabVIEW просты в использовании и ускоряют разработку Требуют дополнительных ресурсов для...
Описание слайда:
Избегайте использования Express VI Express VI в LabVIEW просты в использовании и ускоряют разработку Требуют дополнительных ресурсов для вспомогательных операций во время выполнения

Слайд 34


Обмен данных между потоками Методы обмена данными между потоками Удовлетворительный: Глобальные переменные Хороший: Функциональные глобальные...
Описание слайда:
Обмен данных между потоками Методы обмена данными между потоками Удовлетворительный: Глобальные переменные Хороший: Функциональные глобальные переменные Отличный: буферы Real-Time (RT FIFO), буферы в переменных с общим доступом (Shared-Variable FIFOs)

Слайд 35


Глобальные переменные (Global Variables) – Удовлетворительный метод Может приводить к возникновению джиттера, так как представляет собой разделяемый...
Описание слайда:
Глобальные переменные (Global Variables) – Удовлетворительный метод Может приводить к возникновению джиттера, так как представляет собой разделяемый ресурс Может приводить к потере данных – запись в глобальную переменную может производиться несколько раз до того момента, когда произойдет чтение. Удовлетворительный метод для скалярных данных (

Слайд 36


Функциональные глобальные переменные (ФГП) – Хороший метод Может иметь несколько входов и выходов Может быть пропущена, если занята (skip if busy)...
Описание слайда:
Функциональные глобальные переменные (ФГП) – Хороший метод Может иметь несколько входов и выходов Может быть пропущена, если занята (skip if busy) Может приводить к потере данных при передаче

Слайд 37


ФГП
Описание слайда:
ФГП

Слайд 38


Буферы (Real-Time FIFO) — самый лучший метод Фиксированный размер буфера Предупреждения о потере данных Детерминированная передача данных
Описание слайда:
Буферы (Real-Time FIFO) — самый лучший метод Фиксированный размер буфера Предупреждения о потере данных Детерминированная передача данных

Слайд 39


Буферы Real-Time FIFO Пример: NI Example Finder Toolkits and Modules»Real-Time»Communication»RT FIFO Communication
Описание слайда:
Буферы Real-Time FIFO Пример: NI Example Finder Toolkits and Modules»Real-Time»Communication»RT FIFO Communication

Слайд 40


Переменные с общим доступом (shared variables) Переменные с общим доступом являются универсальным средством передачи данных: Недетерминированная...
Описание слайда:
Переменные с общим доступом (shared variables) Переменные с общим доступом являются универсальным средством передачи данных: Недетерминированная передача данных межу VI (глобальная переменная) Недетерминированная передача данных межу ведущим и целевым устройствами Недетерминированная передача данных между ведущими устройствами Детерминированная передача данных между циклами реального времени (Real-Time FIFO) Детерминированная передача данных между целевыми устройствами

Слайд 41


Создание и использование переменных с общим доступом Щелкните правой кнопкой мыши на проекте или библиотеке для создание переменной. Переменная...
Описание слайда:
Создание и использование переменных с общим доступом Щелкните правой кнопкой мыши на проекте или библиотеке для создание переменной. Переменная должна принадлежать какой-либо библиотеке Диалог Shared Variable Properties позволяет задать конфигурацию переменной Выберите Однопроцессорный (Single-process), Публикуемый в сети (Network-published), Синхронизируемый (Time Triggered) Задайте дополнительные опции Переменная с общим доступом на блок диаграмме используется схожим образом с глобальной перемененной за следующими исключениями: Переменная с общим доступом имеет терминалы состояния ошибки Переменная с общим доступом может возвращать временную метку (timestamp)

Слайд 42


Переменные и Real-Time FIFOs Вы можете создать переменную, которая использует буфер Real-Time FIFOs для передачи данных. Для этого надо выбрать опцию...
Описание слайда:
Переменные и Real-Time FIFOs Вы можете создать переменную, которая использует буфер Real-Time FIFOs для передачи данных. Для этого надо выбрать опцию Enable Real-Time FIFO.

Слайд 43


Техника программирования Инициализация Буфер создается в момент первого чтения или записи в переменную Создайте и инициализируйте буфер, записав...
Описание слайда:
Техника программирования Инициализация Буфер создается в момент первого чтения или записи в переменную Создайте и инициализируйте буфер, записав значение в переменную перед основным циклом Попытка читать из буфера перед тем, как туда будет записана какая- либо величина, приведет к ошибке –2222 и возврату значения по умолчанию Проверяйте состояние ошибки для неинициализированных переменных.

Слайд 44


Техника программирования Идентификация переполнения (Overflow) и опустошения (Underflow) Переполнение возникает, когда производится попытка записи в...
Описание слайда:
Техника программирования Идентификация переполнения (Overflow) и опустошения (Underflow) Переполнение возникает, когда производится попытка записи в буфер, который уже полон. Непрочитанные данные сбрасываются для того чтобы освободить место для новых данных Ошибка –2221 возникает при переполнении очереди Опустошение возникает, когда производится попытка чтения из пустой очереди. Возвращается значение по умолчанию Ошибка –2220 возникает при опустошении очереди

Слайд 45


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

Слайд 46


VI для работы с буферами и переменные с общим доступом
Описание слайда:
VI для работы с буферами и переменные с общим доступом

Слайд 47


Сравнение статического и динамического конфигурирования. Переменные конфигурируются статически, при помощи окон диалога Простое программирование и...
Описание слайда:
Сравнение статического и динамического конфигурирования. Переменные конфигурируются статически, при помощи окон диалога Простое программирование и подсоединение на блок диаграмме Экономия места на блок диаграмме VI для работы с буферами позволяют задавать конфигурацию динамически при помощи кода на блок диаграмме Упрощает чтение кода на блок диаграмме Упрощает конфигурирование во время исполнения программы Улучшает управляемость процессом создания и уничтожения буфера

Слайд 48


Упражнение 3-2 Обмен данными между потоками Время на выполнение: 1 час
Описание слайда:
Упражнение 3-2 Обмен данными между потоками Время на выполнение: 1 час

Слайд 49


Упражнение в классе 3-3 Схема проекта Время на выполнение: 40 мин.
Описание слайда:
Упражнение в классе 3-3 Схема проекта Время на выполнение: 40 мин.

Слайд 50


Резюме Какие существуют методы для улучшения детерминизма? Какой метод обмена данными между потоками является лучшим с точки зрения детерминизма?...
Описание слайда:
Резюме Какие существуют методы для улучшения детерминизма? Какой метод обмена данными между потоками является лучшим с точки зрения детерминизма? Какой метод обмена данными межу потоками самый простой при программировании? Многозадачность запрещена в критическом по времени потоке; как это влияет на выбор методов программирования?

Слайд 51


Резюме — архитектура приложения
Описание слайда:
Резюме — архитектура приложения

Слайд 52


Резюме — многопоточность Многопоточность позволяет отделить критические по времени задачи от некритических LabVIEW RT использует комбинированное...
Описание слайда:
Резюме — многопоточность Многопоточность позволяет отделить критические по времени задачи от некритических LabVIEW RT использует комбинированное расписание: циклическое и по приоритетному прерыванию. Потоки с одинаковым приоритетом подчиняются циклическому расписанию Уровни допустимых приоритетов (по возрастанию): фоновый (background), нормальный (normal), выше нормального (above normal), высокий (high), критический (time-critical) Перерыв в режиме ожидания приводит к приостановке выполнения VI или потока Если любой VI в критическом по времени потоке останавливается на перерыв в режиме ожидания, весь поток останавливается на перерыв. Поэтому, рекомендуется использовать только один VI или цикл критический по времени

Слайд 53


Резюме Методы обмена данными межу потоками: Удовлетворительный: Глобальные Переменные Хороший: Функциональные Глобальные Переменные Отличный: буферы...
Описание слайда:
Резюме Методы обмена данными межу потоками: Удовлетворительный: Глобальные Переменные Хороший: Функциональные Глобальные Переменные Отличный: буферы Real-Time FIFO или переменные с общим доступом (с буферами Real-Time FIFO) Для улучшения детерминизма: Избегайте использование разделяемых ресурсов Избегайте перевыделения памяти Избегайте вызовов subVI в цикле Отключите ненужные опции



Похожие презентации
Mypresentation.ru
Загрузить презентацию