Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1508.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

4.2.Планирование с предельными сроками

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

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

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

Предельное время начала выполнения. Время, когда должно нача­ть­ся выполнение задания.

Предельное время завершения выполнения. Время, когда задание должно быть полностью завершено. Обычно задания реального времени имеют ограниче­ние — либо по предельному времени начала выполнения, либо по предельному времени завершения выполнения, но не оба ограничения одновременно.

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

Требования к ресурсам. Множество ресурсов (отличных от процессора), тре­бующихся заданию при его выполнении.

Приоритет. Мера относительной важности задания. Задания в «жестком» ре­альном времени имеют абсолютный приоритет, нарушение временных ограничений этих заданий недопустимо, в противном случае неизбежны повреждения объекта и катастрофические последствия. В системах «мягкого» реального времени возможны редкие нарушения временных ограничений заданий, но они не приводят к фатальным последствиям и лишь ухудшают свойства систем и качество управления.

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

Доказано /1,7,8,13/, что для стратегии вытеснения применение планирования, выбирающего для выполнения за­дание с наиболее ранним предельным временем завершения, минимизирует долю заданий с нарушенными временными ограничениями. Этот вывод справедлив как для однопроцессорных, так и для многопроцес­сорных систем.

Пример 4.1. В качестве примера планирования периодических заданий с предельным временем завершения рассмотрим систему, которая собирает и обрабатывает данные от двух датчиков - А и В /13/. Сроки сбора данных от датчика А – каждые 20 ms, датчика В – 50 ms. Процесс снятия данных, включая накладные расходы ОС, занимает для датчика А 10 ms, а для датчика В – 25 ms. В табл.4.1 приведен профиль выполнения этих двух заданий, а на рис.4.1,а – времена поступления, выполнения и предельные времена для заданий А и В.

Таблица 4.1

Процесс

Время поступления

Время выполнения

Предельное время окончания

А(1)

А(2)

А(3)

А(4)

А(5)

.

.

В(1)

В(2)

.

0

20

40

60

80

.

.

0

50

.

10

10

10

10

10

.

.

25

25

.

20

40

60

80

100

.

.

50

100

.

Компьютер может принимать решение о планировании каждые 10 ms.

Предположим, что при этих условиях используется схема планирования с приоритетами. Результат показан на двух временных диаграммах на рис.4.1,б и 4.1,в.

Если задание А имеет более высокий приоритет, задание В1 получит только 20 ms процессорного времени в двух смежных интервалах по 10 ms; после этого будет достигнуто предельное время его выполнения, и задание В1 выполнено не будет. Если более высокий приоритет получит задание В, то выполниться в срок не сможет задание А1.

Временная диаграмма на рис.4.1,г показывает применение в данной ситуации планирования с наиболее ранним предельным сроком. В момент времени t=0 поступают задания А1 и В1. Поскольку предельный срок А1 наступает раньше предельного срока В1, сперва выполняется задание А1. После его завершения начинается выполнение В1. В момент времени t=20 в систему поступает задание А2, предельный срок которого наступает раньше предельного срока В1. Соответственно, задание В1 прерывается, и начинается выполнение задания А2. Выполнение В1 продолжается, начиная с момента t=30. В момент t=40 в систему поступает задание А3, предельный срок которого, однако, более поздний, чем предельный срок задания В1, так что задание В1 продолжает выполнение до завершения в момент времени t=45. В этот момент начинается в ыполнение задания А3, завершающееся к моменту t=55 и т.д.

В этом примере, где в каждой точке вытеснения планировщик дает высший приоритет тому заданию, предельный срок которого наступает раньше, удовлетворяются все требования к системе реального времени, т.е. задания А и В выполняются без опоздания. Здесь использовано статическое планирование на основе таблиц, поскольку задания периодичны и предсказуемы. Анализ расписания выполнения заданий необходимо провести на временном интервале, равном наименьшему общему кратному (НОК) периодов поступления заданий (процессов). В рассмотренном примере период анализа расписания равен НОК(20,50)=100 ms.

Пример 4.2. Рассмотрим планирование выполнения непериодических заданий, для которых заданы предельные сроки начала работы. В верхней части рис.4.2 приведены времена поступления и предельные сроки начала работы для примера, состоящего из пяти заданий, время выполнения каждого из которых составляет 20 ms. Профиль выполнения этих заданий приведен в табл.4.2.

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

Таблица 4.2

Процесс

Время поступления

Время выполнения

Предельное время начала работы

A

B

C

D

E

10

20

40

50

60

20

20

20

20

20

110

20

50

90

70

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

Если предельное время заданий известно до того, как задания становятся готовыми к выполнению, можно усовершенствовать эту систему планирования. Усовершенствованная система, именуемая планированием с наиболее ранним предельным сроком начала со свободным временем простоя, работает следующим образом. Планировщик всегда запускает подходящее задание с наиболее ранним предельным сроком начала, которое выполняется до полного завершения. Подходящее задание может оказаться не готовым, и это может привести к тому, что несмотря на наличие готовых к выполнению заданий процессор простаивает. В рассматриваемом примере система воздерживается от выполнения задания А, несмотря на то, что это единственное готовое к выполнению задание. В результате, хотя процессор и не используется с максимальной эффективностью, все требования к предельным срокам начала выполнения заданий в примере при таком планировании удовлетворены. И, наконец, для сравнения на нижней части рис.4.2 приведен результат использования стратегии FCFS «первым поступил – первым обслужен». Как видно, в этом случае отклоненными оказываются два задания – В и Е.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]