24514

Планирование в системах реального времени

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

20.19 KB

15 чел.

Вопрос 19. Планирование в системах реального времени.

§4.2.6.Планирование в системах реального времени.

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

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

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

Все периодические задачи могут быть своевременно обработаны однопроцессорной системой только при выполнении условия:

,

где tобр i – время обработки i-го события процессором;

Ti – период возникновения i-го события;

m – число событий.

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

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

- исчерпывающее тестирование всех возможных сценариев поведения управляемого объекта и управляющих программ;

- построением статического расписания (для планируемых задач);

- выбором математически обоснованного динамического алгоритма планирования.

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

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

Классический динамический алгоритм для жестких систем реального времени с одним процессором использует вытесняющую многозадачность и основан на относительных статических (неизменяемых в течение жизни задачи) приоритетах. Суть алгоритма состоит в том, что всем задачам назначаются статические приоритеты в соответствии с величиной их периодов выполнения. Задача с самым коротким периодом получает наивысший приоритет, а задача с наибольшим периодом выполнения получает наименьший приоритет. При соблюдении всех ограничений этот алгоритм гарантирует выполнение временных ограничений для всех задач во всех ситуациях.

Если же периоды повторения задач кратны периоду выполнения самой короткой задачи, то требование к максимальному коэффициенту загрузки процессора смягчается – он может доходить до 1.

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

Моменты перепланировки.

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

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

Активная задача выполнила системный вызов, связанный с запросом на ввод-вывод или на доступ к ресурсу, который в настоящий момент занят. Планировщик переводит задачу в состояние ожидания и выполняет перепланирование.

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

80276. ОБОЛОНКА LabVIEW 82 KB
  ВСТУП LbVIEW Lbortory Virtul Instrument Engineering Workbench – Середовище розробки лабораторних віртуальних приладів додаток розробки програми дуже схожий на C або Бейсик або NI LbWindows. Однак LbVIEW відрізняється від тих додатків в одному важливому відношенні. Інші системи програмування використовують: текстово засновані мови щоб створити рядок програми програмний код у той час як LbVIEW використовує графічну мову програмування GДжей щоб створювати програми у формі блоксхеми алгоритм створюється в графічній іконній...
80277. ПАЛІТРИ LABVIEW 86 KB
  Зображення елементів Палітри Інструментів Tools та пояснення щодо їх використання Інструмент керування. Використовується для роботи з передньою панеллю керування й індикаторами. Палітра керування Controls Палітра керування призначена для відтворення передньої панелі віртуального приладу.
80278. Палітра Функції - Functions 72 KB
  Палітра Функції Functions За допомогою палітри Функції – Functions. Якщо палітра Функції Functions не відображена на екрані необхідно викликати палітру вибравши рядок Показати палітру Функції Show Functions Plette у меню Вікна Windows. Палітра Функції Functions може бути пришпилена до робочого стола за допомогою кнопки в лівому куті палітри або прибрана кнопкою хрестик . Палітра Функції Functions доступна тільки якщо активно вікно Діаграма Digrm.
80281. ПРОЕКТУВАННЯ ВІРТУАЛЬНОГО ПРИЛАДУ ДОСДІДЖЕННЯ ТЕМПЕРАТУРИ 395 KB
  Усі середовища складаються з атомів і молекул. Молекули знаходяться у хаотичному русі. При великій кількості часток у системі (вуглеводневі енергоносії, гірські породи, водні середовища) нема змоги детально описати поведінку кожної окремої часточки. Однак загальні риси поведінки системи в цілому є опосередкованим відображенням руху окремих часточок
80282. Методи оцінки і аналізу тіньової економічної діяльності в сфері підприємництва 123.5 KB
  Однією з причин перманентної економічної кризи в якій перебуває Україна є безпрецедентні розміри тінізації та криміналізації її економіки. Необхідно виробити нові підходи у протидії тонізації та криміналізації економіки. Безпосередні фрагментарні дослідження іллегального сектору полягають у визначенні розмірів тіньової економіки у конкретному секторі наприклад у виробництві товарів і послуг у розрізі асортиментних позицій у обміні валюти з урахуванням кількості офіційних пунктів обміну банків туристичних агентств реального курсу...
80283. Удосконалення управління процесами детінізації економічної діяльності 140.5 KB
  Роль і функції держави у зниженні тіньової економічної діяльності в Україні. Механізми запобігання розвитку тіньової економічної діяльності у сфері фінансово грошових відносин. Основні принципи розроблення комплексу заходів запобіжного характеру спрямованих на зниження рівня тіньової економічної діяльності. Методологічні підходи до визначення послідовності реалізації заходів спрямованих на запобігання розвитку тіньової економіки.
80284. Особливості розвитку тіньової економіки в України 65.5 KB
  Тіньовий ринок тіньова економіка істотно впливають на всі сторони економічної діяльності на політичне і суспільне життя кожної країни. Вже на такому рівні вплив державно нерегульованих факторів стає настільки відчутним що суперечності між легальним і тіньовим секторами спостерігаються практично в усіх сферах життєдіяльності суспільства. Труднощі які виникають в результаті внутрішньої неузгодженості регуляторноправового механізму та безсистемної беззмістовної зміни концептуальних орієнтирів розвитку економіки створюють необґрунтовані...