Программные комплексы для встроенных систем реального времени: формирование ключевых понятий (сигналы – задачи – контексты – ресурсы) Никифоров Виктор.

Презентация:



Advertisements
Похожие презентации
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Advertisements

Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Прерывания Определение прерывания Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств.
Лекция 3. Исключения и прерывания в встроенных системах.
Проектирование центральных и периферийных устройств Преподаватель: Мельников Максим Игоревич.
Операционные системы Подготовила Подготовила студентка студентка 1 курса группы Э курса группы Э-108 Шпудейко Кристина Шпудейко Кристина.
Владимир Костюков, АлтГТУ АлтГТУ им И. И. Ползунова Распределенная система мониторинга и диспетчерезации процессов гетерогенной среды.
Методы оценки времени отклика задач в двухъядерных системах реального времени СоискательГуцалов Н.В. Научный руководитель д.т.н., профессор Никифоров В.В.
Основные виды ресурсов и возможности их разделения.
Арбитры в мультипроцессорных системах. Арбитры Используются для разрешения конфликтных ситуаций на аппаратном уровне Арбитры принимают от процессоров.
ОПЕРАЦИОННЫЕ СИСТЕМЫ Ершов Б.Л. Российский государственный торгово-экономический университет ИВАНОВСКИЙ ФИЛИАЛ Кафедра математики, экономической информатики.
1. Этапы развития вычислительной техники и программного обеспечения. 2.Структура вычислительной системы. Ресурсы ВС- физические ресурсы, виртуальные ресурсы.
Учебный курс Принципы построения и функционирования ЭВМ Лекция 11 Микрокоманды и микрооперации профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович.
Организация микроконтроллеров Вспомогательные аппаратные средства микроконтроллера.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Операционные системы Процессы и потоки Скрипов Сергей Александрович 2009.
Встроенные Системы Часть 3. Прерывания Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Программное обеспечение- совокупность всех программ, предназначенных для выполнения на компьютере. Программа- это описание на формальном языке, «понятном»
6. Средства синхронизации и взаимодействия процессов 6.1. Проблема синхронизации Процессам Процессам часто нужно взаимодействовать друг с другом, например,
Транксрипт:

Программные комплексы для встроенных систем реального времени: формирование ключевых понятий (сигналы – задачи – контексты – ресурсы) Никифоров Виктор Викентьевич Лаборатория технологий и систем программирования СПИИРАН

Встроенные системы реального времени Универсальные компьютерные системы на базе устройств типа ПК, ноутбуков Встроенные системы неотъемлемые элементы конструкций узлов, приборов, машин; СРВ – системы реального времени СРВ Игры Тренажеры Словари специфицирована привязка функций систем к ходу физического времени МягкиеЖесткие аппаратная база – микроконтроллеры Органайзеры Встроенные системы АСУТП

Встроенные СРВ: особенности требований Жесткое ограничение времени реакции на внешние события - от долей миллисекунды Высокая отказоустойчивость - вероятность безотказной работы в течение года до 0,99999 Высокая доступность - 0,99999 (система недоступна для использования не более 5 минут в год Гарантированный доступ к ресурсам - своевременное предоставление всех требуемых задачам ресурсов Распределенность - МК размещаются рядом с датчиками и исполнительными устройствами Соответствие средств целям - эффективность использования ресурсов системы Обоснованность действий - не менее трех датчиков на каждое исполнительное устройство

Связи СРВ с внешними объектами - информационно- ориентированные связи - аппаратно- ориентированные связи Система реального времени Базы данных Устройства пульта оператора Коммуникационная среда Автоматизированное оборудование (аппараты) Физическая сфера ДатчикиЭффекторы Информационная сфера Реальное время - нормализаторы Задачи

Знаки и сигналы Сигнал Блок таймера Сигнальный элемент интерфейса: вектор прерываний по переполнениям счетчика TSC Знаковый элемент интерфейса: счетчик тактов TSC Обработчик прерыванийЗадача с опросом TSC Число различаемых синтаксических форм Знак Единственная форма (предопределенна) Две или более Сторона, определяющая момент восприятия Вид информационной посылки Приемник посылки Источник посылки Способ представления информации Привязка посылки к моменту времени Синтаксическая форма посылки Требование к состоянию приемника Приемник в состоянии ожидания посылки Отсутствуют

Операционная система Программное приложение Периферийные блоки Интерфейс прикладных программ Уровень аппаратных интерфейсов Задачи Межзадачные интерфейсы Интерфейсы программных средств СРВ

Ритмическая активизация в синхронной системе с двоичным ранжированием На i ом такте активизируются задачи рангов R 0 и R k, где k = log 2 ( i & (i + 1) )+ 1 R0R0 R1R1 R2R2 R3R3 R4R4 R0R0 R1R1 R2R2 R3R3 R4R4 Система с монолитными рангами невытесняемых задач Система с вытесняемыми задачами Необходимое и достаточное условие выполнимости: C i /T i 1 (например, C i T i /n ) Достаточное условие выполнимости : C 0 T 0, C k (T 0 C 0 ) Задача ждет предоставления CPU Задача выполняется Задача вытеснена Необходимое условие выполнимости : C 0 T 0, C k 2(T 0 C 0 )

Задание – динамический объект Класс объектов Объект (экземпляр класса) Задача i – класс однотипных заданий Задание j i (экземпляр задачи i ) – однократное выполнение задачи i Тип e воз ( i ) событий Экземпляр j e воз ( i ) события типа e воз ( i ) – задание j i активно j 1j+1 1j+2 1j+3 1 t j+3 e воз ( 1 ) j+2 e воз ( 1 ) j+1 e воз ( 1 ) j e воз ( 1 ) j i Задачи связываются в систему элементами межзадачных интерфейсов Сигнал j e воз ( i ) представляет j ый запрос на очередное выполнение функции, реализуемой задачей i Задания взаимодействуют, обмениваясь информационными посылками t 2 t 1 – задание ожидает поступления сигнала

Контекст задания Код программы выполнения задачи ПЗУ Глобальные константы Статические (собственные) константы задачи, процедур, классов объектов Глобальные переменные Статические (собственные) переменные задачи, процедур, классов объектов Стек задания ОЗУ Регистры CPU Локальный контекст задания Адресное пространство CPU IP SP

Граница допустимой плотности загрузки процессора при условии T i = D i : где n - число задач. Своевременное выполнение всех заданий гарантируется, если приоритеты задач распределены в соответствии с частотами их активизации (RMS) и плотность загрузки процессора не превышает граничного значения T 1 = 100, C 1 = 20, D 1 = порождение задания - задание выполняется - задание ждет ресурса процессора T 2 = 150, C 2 = 40, D 2 = t 1 T 3 = 350, C 3 = 110, D 3 = (период T i, C i, D i ) Требуемое процессорное время Крайний срок выполнения критический момент Пример набор задач {τ 1, τ 2, …} Приложение Задача i Вычислительная модель Оценка выполнимости Независимые апериодические задачи

Разделяемые ресурсы Аппаратные: - универсальные процессоры - память прямого доступа (ОЗУ) - периферийные устройства (таймеры, АЦП, сетевые интерфейсы,... ) - стековая память - внешняя память - кэш - сопроцессоры Информационные: - сообщения - элементы глобального контекста (доступ по чтению, записи) - права доступа к аппаратуре (например, уровень приоритета) - файлы (доступ по чтению, записи) Ресурсы разделяются: статически - между задачами динамически - между заданиями

Типы синхронизирующих механизмов Тип механизма Операция приостановки Операция возобновления Будильники Операция выдержки временного интервала Сигнал службы времени Семафоры Сигналы Ждать сигнал Передача сигнала Закрыть семафорОткрытие семафора Очереди сообщений Получить сообщение из очереди Передача сообщения в очередь Шкалы событий Ждать заданную комбинацию событий Установка флага события Мютексы Захватить ресурс Освобождение ресурса Условные переменные Ждать выполнения заданного условия Изменение значения условной переменной

Комбинированный (сигнально- знаковый) механизм синхронизации Есть ожидающие задания? Нет Да Пополнение состава сообщений в накопителе Освобождение очередного задания из состояния ожидания Есть сообщения в накопителе? Нет Да Извлечение очередного сообщения из накопителя Приостановка текущего задания (перевод его в состояние ожидания) Перечень поступивших сообщений Перечень ожидающих заданий Накопитель Передача сообщения Прием сообщения

Смещение описаний межзадачных связей с уровня задач на системный уровень Данные: Промежуточные данные задачи Статические данные задачи Операции: Получение/изменение данных Последовательные выполнения Переходы и циклы Вызов/возврат процедуры Данные: Дескрипторы задач Состояние ресурсов Операции: Управление задачами Управление ресурсами Управление временем Коммуникации Уровень задачи Описания внутри тела задачи : Начать/завершить задачу Приостановить/возобновить Ждать/задать событие Синхронизация задач Послать/получить сообщение Получить/освободить ресурс Системный уровень Чисто последовательные процессы Взаимодействие между задачами Традиционные компоненты системного уровня Расширенные формы дескрипторов задач : Временные ограничения Ограничения предшествования Запросы ресурсов Межзадачные зависимости Тенденция для встроенных ОС