24514

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

Доклад

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

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

Русский

2013-08-09

20.19 KB

20 чел.

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

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

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

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

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

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

,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

20605. Принципы функционирования систем сотовой связи 490 KB
  Свое название они получили в соответствии с сотовым принципом организации связи согласно которому зона обслуживания территория города или региона делится на ячейки соты. Эти системы подвижной связи появившиеся сравнительно недавно являются принципиально новым видом систем связи так как они построены в соответствии с сотовым: принципом распределения частот по территории обслуживания территориальночастотное планирование и предназначены для обеспечения радиосвязью большого числа подвижных абонентов с выходом в телефонную сеть общего...
20606. Абонентские терминалы СПРС и ПСС 360.5 KB
  В верхней части аппарата обычно располагаются световой индикатор светодиод отображающий режим работы режим ожидания вызов включено и источник звукового сигнала звонок. При получении вызова о чем абонент оповещается звуковым сигналом звонком он манипулирует теми же клавишами. Во всех аппаратах на дисплее отображаются уровень принимаемого сигнала и степень разряда аккумуляторной батареи в большинстве из них имеется подсветка дисплея и клавиатуры. К стационарному аппарату обычно бывает возможно подключить телефонный аппарат...
20607. Методы формирования речевых сигналов в слуховой системе 103 KB
  В некоторых восточных языках например в китайском изменение частоты основного тона важный информативный параметр речи. Звуки речи в которых присутствует основной тон называются вокализованными. Темп характеризует скорость речи количество слов произнесённых в определённый временной промежуток. Темп речи в норме по своим временным и пространственным характеристикам соответствует органическим темповым и ритмическим параметрам присущим речевому и зрительному потоку информации человека.
20608. Слуховое восприятие речевых сигналов и оценка качества их звучания 335.5 KB
  Как правило слуховое восприятие речи у пожилых людей нарушается в большей степени чем чистых тонов. Среди существующих методов не утратили своего значения камертональные опыты или пробы и установление восприятия разговорной и шепотной речи. Наиболее распространенными способами оценки слуха в диагностики тугоухости являются измерение порогов слышимости чистых тонов и разборчивость записанной на ленте магнитофона и воспроизводимой через аудиометр речи определенной интенсивности см. являются гиперакузия заключающаяся в повышенной...
20609. Простой генератор кода 37 KB
  Данные вычисленные результаты находятся в регистрах как можно дальше и перенос их в память осуществляется только при необходимости использовать этот регистр. a:= bc b в регистр Ri c в регистр Rj. 2 b в регистр Ri c в памяти ADD Ri с.
20610. Распределение и назначение регистров. Счетчики использования регистров 52.5 KB
  Пример: Переменная Регистр b R0 d R1 a R2 e R3 B0: MOV R0b MOV R1d MOV R2a MOV R3e B1: MOV R2 R0 ADD R2c SUB R1 R0 MOV R3 R2 ADD R3f B2: SUB R2 R1 MOV f R2 B3: MOV R0 R1 ADD R0f MOV R3 R2 SUB R3c B4: MOV R0 R1 ADD R0c.
20611. Оптимизация базовых блоков c помощью дагов 88 KB
  1 t1:=4i t2:=a[t1] t3:=4i t4:=b[t3] t5:=t2t4 t6:=prodt5 prod:=t6 t7:=i1 i:=t7 i =20 goto1 Поочередно рассматривается каждая инструкция блока. e:=ab f:=ec g:=fd n:=ab i:=ic j:=ig = e:=ab f:=ec g:=fd i:=ic j:=ig Локальная оптимизация устранение лишних инструкций MOV R0a MOV a R0 устранение недостижимого кода if а = 1 goto L1 goto L2 L1: L2: = if а = 1 goto L2 goto L1 L1: goto L2 = goto L2 3.
20612. Использование динамического программирования при генерации кода 137.5 KB
  Пример: Пусть дана инструкция вида: add R1 R0 она может быть представлена в виде: R1:= R1 R0 Алгоритм динамического программирования разделяет задачу генерации оптимального кода для некоторого выражения на подзадачи генерации оптимального кода для подвыражений из которых состоит выражение Ei. Если E:=E1 E2 то генерация кода E разбивается на генерацию кода E1 и генерацию кода E2. Композиция получаемых элементов кода осуществляется в зависимости от типа вхождения подвыражений в основное выражение.
20613. Устранение общих подвыражений 92 KB
  2 Удаление бесполезного кода Допустим имеем следующую последовательность инструкций 3 Оптимизация циклов Пример 1: Пусть имеем цикл while i n2 Возможно модернизировать в следующую последовательность инструкций t:=n2 while i t Пример 2: while i t a:=b2 при условии что b не изменяется в теле цикла данную последовательность инструкций можно заменить на: a:=b2 while i t Метод перемещения кода заключается в выносе перед циклом выражений не изменяющихся в процессе его выполнения. 4 Переменные индукции и снижение стоимости 5 Оптимизация...