24514

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

Доклад

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

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

Русский

2013-08-09

20.19 KB

17 чел.

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

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

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

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

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

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

,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

42635. Арифметико-логічні основи функціонування компютера 106 KB
  Правила виконання арифметичних операцій над числами з фіксованою крапкою. Завдання 1 Згідно номера варіанта який співпадає з номером студента за списком запишіть десяткові числа 100№ зі знаком плюс та знаком мінус. Обчисліть двійковий код додатнього числа перетворіть отриманий код у вісімкову та шістнадцяткову системи числення виконайте перевірку. Зразок...
42636. Дослідження базових схем підсилюваньних каскадів на біполярних транзисторах 299.5 KB
  Re эмиттерное сопротивление Rl R2 резисторы делителя задающего режим каскада по постоянному току. Особенностью классической схемы каскада с ОБ рис. Для каскада с ОБ: Для каскада с ОЭ: Для каскада с ОК: Проектирование усилителя начинается с определения режима транзистора по постоянному току который называют статическим режимом. В зависимости от тока коллектора транзистора и величины падения напряжения на электродах транзистора усилительного каскада а также от амплитуды входного сигнала различают следующие режимы усиления: режим А;...
42637. ДОСЛİДЖЕННЯ СТАРТСТОПНОГО ТЕЛЕГРАФНОГО ЗВЯЗКУ КОДОМ МТК-2 254.5 KB
  Ознайомитися з особливостями стартстопних кодових комбінацій міжнародного телеграфного коду МТК2. 7 00111 Латиниця 31 11111 N Н 6 00110 Цифри 27 11011 O О 9 3 00011 Пробіл 4 00100 P П 0 13 01101 Кирилиця 0 00000 Символьне повідомлення передавання і приймання якого необхідно здійснити за допомогою стартстопного телеграфного звязку кодом МТК2 задане індивідуально кожному студенту і у табл.2 зазначено: порядковий номер студента № тривалості стартового...
42638. ДОСЛІДЖЕННЯ БІТОВИХ ОПЕРАЦІЙ, ЛОГІЧНИХ ТИПІВ, ЛОГІЧНИХ ОПЕРАЦІЙ ТА ОПЕРАЦІЙ ВІДНОШЕННЯ 163 KB
  Бітові операції дозволяють обробляти цілі дані за допомогою операцій з їх бітовою структурою. Будь-які дані представляються у пам’яті комп’ютеру як ланцюг бітів. Біт – це число, яке може мати тільки одне з двох значень – „0” або „1”.Таблиця 5 № варіанта Мова Операції Значення УЛО1 УЛО2 УЛО3 ОВ1 ОВ2 БЛО B C D Паскаль NOT NOT ND = 7 2 56 56 67 100 46 78 Ci ^ == = 6 2 7 14 7 7 24 1 Паскаль NOT NOT OR = = 3.12 Паскаль NOT ND = = 4 4 23.3 4 Паскаль NOT NOT XOR = 64 15.2 Паскаль NOT ND = = 55 55 12 45 6 10 12 59 Ci ^ = ^ 17.
42639. ДОСЛІДЖЕННЯ ВКАЗІВНИХ ТИПІВ ДАНИХ 71.5 KB
  Значення змінної покажчика може бути присвоєно іншому покажчикові якщо їх типи є ідентичними. Покажчикові може бути присвоєно пусте значення null яке вказує на абстрактний неіснуючий обєкт. Розіменування дозволяє отримати доступ до значення обєкту на якій вказує покажчик. Розмір значення змінної залежить від її типу.
42640. Аналітичні обчислення у середовищі MathCad 45.5 KB
  Мета: Ознайомитися з аналітичним обчисленням у середовищі MthCd. Обладнання: ПК ПЗ MthCd Хід роботи Індивідуальне завдання. Варіант 10 Висновок: Ознайомилася з аналітичним обчисленням у середовищі MthCd.
42641. Хлебопекарное предприятие малой мощности 761.5 KB
  Малое и среднее хлебопечение – динамично развивающийся сектор экономики. Возросшая конкуренция на рынке хлебобулочных изделий заставляет предпринимателей интенсивно заниматься улучшением качества продукции, что невозможно без внедрения новых видов оборудования и технологий.
42642. ДОСЛІДЖЕННЯ БЛОЧНОЇ ОРГАНІЗАЦІЇ ПРОГРАМ, СТРАТЕГІЙ РОЗПОДІЛУ ПАМ'ЯТІ 71 KB
  Статичні програмні об’єкти існують весь час життя програми та доступні в тій частині програми, в якій вони описані. Статичними програмними об’єктами у мові Pascal є всі об’єкти, які об’являються у секції Var головної програми (зовнішній блок) або як типізовані константи. У мові С статичні об’єкти об’являються з позначенням „static”.
42643. Операції С, їхні пріоритети і використання. Перетворення типів 47.5 KB
  Перетворення типів Ціль роботи: Вивчити основні логічні арифметичні й інші операції С навчитися правильно складати вираження С вивчити пріоритети операцій С навчитися використовувати перетворення типів. варіант арифметична операція арифметична операція логічна операція бітова операція перетворення: явне 20 2b3c 4b1 3c2 =b =10 b^c intchr Программа: Результат: Висновок: я вивчив основні логічні арифметичні й інші операції С навчився правильно складати вираження С вивчив пріоритети операцій С навчися використовувати...