ref-20761 (Разработка системы реального времени в виде планировщика исполнения заданий), страница 7

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "ref-20761"

Текст 7 страницы из документа "ref-20761"

Это может быть необходимо в случае, когда одна задача использует результаты работы другой, и если между ними пройдёт относительно большой промежуток времени, то результаты могут оказаться устаревшими.

  • Гармонические ограничения

Эти ограничения связаны с периодами двух взаимодействующих задач. Они имеют место, например, когда период одной задачи (например, получателя) зависит от периода другой (отправителя).

          1. Неподдерживаемые ограничения.

  • Отношения.

Данные ограничения выражают максимальный интервал времени между временами завершения двух задач.

  • Разделительные ограничения.

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

        1. Используемые алгоритмы.

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

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

Для динамического перераспределения ресурсов системы будет использована политика управления - round-robin. В этом случае процесс выполняется либо пока выделенный ему квант времени не истечёт, либо пока не будет приостановлен другим процессом с более высоким приоритетом. После того, как время, выделенное для данного процесса, истечёт, активируется следующий готовый к запуску процесс.

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

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

      1. Описание функционирования приложения.

Схема взаимодействия объектов создаваемой системы показана на диаграмме 10.

        1. Подготовка к запуску планировщика.

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

В планировщике создается список задач. Создаётся процесс-таймер, который будет формировать последовательность сообщений для планировщика.

        1. Работа.

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

Таймер получает от планировщика сообщения и создаёт соответствующие метки отсылки сообщений для планировщика. В дальнейшем по достижении метки таймер посылает планировщику сообщение инициировать работу определённой задачи. Если это метка периодической или спорадической задачи, то таймер создаёт через «период» следующую. Планировщик посылает процессам-заданиям сигналы начала кванта времени для выполнения.

При выходе определённой задачи за пределы времени реакции, таймер посылает сообщения о блокировании тех задач, у которых приоритет меньше. Если выход за пределы у двух одинаково приоритетных одновременно, то они продолжат выполняться вместе.

        1. Управление задачами.

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

  • Добавление задачи.

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

  • Изменение интервала выполнения задачи.

Принимается сообщение об изменении интервала. Если задача, для которой он должен быть измен, активна, то она приостанавливается. Интервал изменяется. Затем цикл вычислений продолжается, начиная с этой задачи.

  • Изменение периода выполнения периодической задачи.

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

  • Изменение времени реакции, времени выполнения или приоритета.

Принимается сообщение о необходимости изменения параметра. Если задача, для которой он должен быть измен, активна, то она приостанавливается. Удаляется соответствующая метка в таймере. Параметр изменяется. Устанавливается новая метка в таймере. Если время реакции равно 0, то блокируются задачи с приоритетом меньшим, чем у данной.

  • Удаление задачи.

Задача завершает своё выполнение и посылает планировщику сообщение на удаление её из списка готовых к выполнению. Или планировщик удаляет задачу, вышедшую за пределы выделенного ей времени выполнения.

    1. Реализация протокола ARINC A.415 на основе разработанного модуля СРВ.

      1. Модель требований к системе.

        1. Описательная модель.

Протокола A.415 ARINC, используется во встроенных системах реального времени самолётов ведущих авиаперевозчиков, таких как Airbus, McDonnel Douglas и др. Это протокол опроса бортовых устройств, позволяющий в заранее обозначенный промежуток времени получить от них информацию и сигнализировать о неисправности в оборудовании.

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

        1. Модель случаев использования.

Данная модель представлена на рисунке 11.

У разрабатываемой системы будет 2 вида взаимодействий с «внешним окружением»: в Диалоговом режиме и в Обычном режиме. Диалоговый режим используется при взаимодействии с оператором в самолёте. Обычный режим используется при стандартной работе интерфейсной подсистемы по индикации неисправностей.

        1. Функциональная модель.

Функциональная модель системы представлена в виде диаграмм 12 и 13.

В Обычном режиме система реализует следующие функции: начало работы (инициализация), тёплый старт, получение сообщения от бортовой системы, опрос APM (в случае необходимости), отсылка сообщений к CFDIU, переход в диалоговый режим.

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

      1. Динамическая модель.

        1. Модель объектов.

  • Сообщение от бортовой системы.

Бортовая система ↔ OMSI И Бортовая система ↔ Энергонезависимая память

  • Получить настройки из APM.

APM ↔ OMSI

  • Отправить отчет к CFDIU.

OMSI ↔ Шина передачи данных ↔ CFDIU

ИЛИ

General Format Manager

  • Запуск диалогового режима.

CFDIU ↔ Шина передачи данных ↔ OMSI

  • Начало работы.

Инициализация ИЛИ Тёплый старт

  • General Format Manager.

Шина передачи данных ↔ OMSI

  • Получить команду.

Шина передачи данных ↔ OMSI

  • Инициализация.

OMSI ↔ APM

  • Тёплый старт.

Энергонезависимая память ↔ OMSI И APM ↔ OMSI

  • Получить команду от CFDIU.

CFDIU ↔ Шина передачи данных ↔ OMSI

  • Запуск Обычного режима.

CFDIU ↔ Шина передачи данных ↔ OMSI

        1. Модель взаимодействий.

  • Сообщение от бортовой системы.

OMSI  начал работу. Бортовая система  начала работу. Бортовая система  сохранила сообщение о неисправности в Энергонезависимой памяти. Бортовая система  отправила сообщение о неисправности.

  • Получить настройки из APM.

OMSI  начал работу. OMSI  запросил настройки у APM. APM  передало необходимые настройки.

  • Отправить отчет к CFDIU.

CFDIU  начал работу. OMSI  начал работу. Шина передачи данных  активна. OMSI  проверил активность Шины передачи данных. OMSI  отправил отчет. Шина передачи данных  переправила отчет к CFDIU. CFDIU  получил отчет.

ИЛИ

General Format Manager.

  • Запуск диалогового режима.

CFDIU  начал работу. OMSI  начал работу. Шина передачи данных  активна. CFDIU  отправил команду ENQ. Шина передачи данных  передаёт команду на нужный OMSI. OMSI  переходит в диалоговый режим.

  • Начало работы.

Инициализация ИЛИ Тёплый старт

  • General Format Manager.

OMSI  начал работу. Шина передачи данных  неактивна. OMSI  проверил активность Шины передачи данных.

  • Получить команду.

Шина передачи данных  активна. Шина передачи данных  передаёт команду на OMSI. OMSI  предпринимает действие в соответствии с командой.

  • Инициализация.

OMSI  размещение в памяти, инициализация переменных, запрос настроек. APM  поиск и передача необходимых настроек.

  • Тёплый старт.

OMSI  размещение в памяти, инициализация переменных, запрос настроек. APM  поиск и передача необходимых настроек. OMSI  восстановление ранее передававшегося сообщения из Энергонезависимой памяти.

  • Получить команду от CFDIU.

CFDIU  начал работу. OMSI  начал работу. Шина передачи данных  активна. CFDIU  отправил команду. Шина передачи данных  передаёт команду на нужный OMSI. OMSI  предпринимает действие в соответствии с командой.

  • Запуск Обычного режима.

CFDIU -> начал работу. OMSI -> начал работу. Шина передачи данных -> активна. CFDIU -> отправил команду Log Off. Шина передачи данных -> передаёт команду на нужный OMSI. OMSI -> переходит в номальный режим.

        1. Поведенческая модель.

  • OMSI.

Диаграмма 14. Старт  Проверить Энергозависимую память.  Выбор: Есть ли непереданные сообщения в Энергонезависимой памяти? Да – Инициализация; Нет – Тёплый старт. Тёплый старт  Забрать сообщения из Энергонезависимой памяти  Загрузить настройки из APM. Инициализация  Загрузить настройки из APM  Работа  Принять сообщения  Получить команду  Сформировать отчет  Проверить активность Шины передачи данных  Выбор: Шина активна? Да – Отослать вопрос; Нет – Ждать активизации Шины передачи данных. Отослать отчет  Принять сообщения. Ждать активизации шины  Отослать отчет.

  • CFDIU.

Диаграмма 15. Старт  Включено  Направить команду (необязательное действие)  Получить отчет  Отобразить отчет  Выбор: Окончить работу? Да – Выключено; Нет  Направить команду (необязательное действие).

  • APM.

Диаграмма 16. Старт  Получение запроса  Передать настройки  Получение запроса.

  • Шина передачи данных.

Диаграмма 17. Старт  Неактивна  Включение CFDIU => Активна  Выбор: Перенаправление команды; Передача отчета.  Выбор: Выключение CFDIU => Неактивна; Активна.

  • Бортовая система.

Диаграмма 18. Старт  Работает  Отправка сообщения в Энергонезависимую память  Отправка сообщения к OMSI  Работает.

  • Энергонезависимая память.

Диаграмма 19. Старт  Активна  Записать сообщение от Бортовой системы  Передать сохраненные сообщения OMSI (необязательное действие) Уничтожить сообщения, не нужные OMSI  Активна.

      1. Статическая модель.

        1. Модель классов.

На диаграмме 9 представлены основные классы создаваемой системы: OMSI, CFDIU, Шина передачи данных, APM, Энергонезависимая память, Бортовая система.

  • OMSI – интерфейсная система, обеспечивающая взаимосвязь функциональной системы, (например, T2CAS – системы предупреждения сближения самолетов, правильнее «предотвращения столкновения») с центральным устройством отображения данных CFDIU.

  • Задача CFDIU предоставлять экипажу самолета данные о функционировании всех бортовых систем. С помощью меню экипаж (или техник на земле) может вступить во взаимодействие с конкретной функциональной бортовой системой (интерактивный режим). В остальных случаях CFDIU просто отображает (нормальный режим) состояние бортовых систем, которые через свои OMSI сообщают CFDIU свои состояния, посылая сообщения Label350.

  • Процесс взаимодействия OMSI и CFDIU происходит через Шину передачи данных. Если шина не активна, то это может означать, что бортовая система к CFDIU не подключена, а, следовательно, некому слать сообщения.

  • APM - это подсистема (таблица данных с интерфейсом) хранящая настройки данного самолета. Бортовая система типа T2CAS может ставиться на различные самолеты, и должна подстраиваться к работе конкретного борта. В частности, CFDIU не единственный вариант устройства отображения данных для экипажа. Могут быть и другие (на разных типах самолетов), тогда и протокол обмена реализуется с учетом соответствующей центральной системы.

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

  • Объект Бортовая система моделирует те сведения, которые должна иметь интерфейсная система о функциональной для взаимодействия.

Заключение.

Был проведён анализ предметной области систем реального времени. Определены основные отличия систем данного типа от других подобных систем и особенности управления исполнением задач. Были рассмотрены используемые классификации и отличительные особенности современных систем.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
431
Средний доход
с одного платного файла
Обучение Подробнее