Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Часть 11.doc
Скачиваний:
59
Добавлен:
02.05.2014
Размер:
2.12 Mб
Скачать

11.6. Пример анализа производительности с применением теории планирования в реальном времени

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

Проанализируем худший случай, когда от ЦП требуется больше всего време­ни: машина движется в режиме автоматического управления с максимальной ско­ростью вращения вала. Пусть период j-ой периодической задачи равен Тj, время ее выполнения Сj, а коэффициент использования ЦП Uj = Сj / Тj. Во время, по­требляемое каждой периодической задачей, включены затраты на два контекст­ных переключения. В табл.11.3 приведены характеристики всех периодических задач.

Таблица 11.3

Планирование в реальном времени для системы круиз-контроля

и мониторинга: параметры периодических задач

Задача

Время ЦП Сi

Период Тi

Коэффициент использования Ui

Приоритет

Интерфейс Вала

2

10

0,20

1

Автодатчики

6

100

0,06

2

Путь и Скорость

11

250

0,04

4

Калибровка

5

500

0,01

6

Корректировка Скорости

15

250

0,60

5

Интерфейс Дросселя

6

100

0,06

3

Интерфейс Кнопки Сброса

4

500

0,01

7

Таймер Средних Показателей

20

1000

0,02

9

Интерфейс Кнопки Сброса Обслуживания

6

1000

0,01

8

Таймер Обслуживания

15

2000

0,01

10

Полный коэффициент использования Un равен 0,48.

Рассмотрим названные периодические задачи:

– Интерфейс Вала. Предполагается, что эта задача периодическая. На самом деле она апериодическая, так как активизируется прерыванием от вала. Од­нако прерывания поступают регулярно, при каждом обороте вала, так что задача ведет себя как периодическая. Планируется худший случай, когда вал вращается со скоростью 6000 об/мин, то есть прерывания возникают каждые 10 мс, что составляет минимальный период эквивалентной периодической задачи. Поскольку период данной задачи самый короткий, то ей назначен наивысший приоритет. Время выполнения составляет 2 мс с учетом затрат на два контекстных переключения по 0,5 мс каждое;

– Автодатчики. Период данной задачи равен 100 мс, а время выполнения с учетом контекстных переключений составляет 6 мс;

– Путь и Скорость. Период этой задачи 250 мс, а время выполнения – 11 мс;

– Калибровка. Период равен 500 мс, время выполнения – 5 мс;

– Корректировка Скорости. При активизации в режиме автоматического управления задача выполняется каждые 250 мс и вычисляет значение дрос­селя, на что уходит 15 мс;

– Интерфейс Дросселя. При активизации в режиме автоматического управ­ления задача выполняется каждые 1000 мс и выводит новое положение дрос­сельной заслонки, на что уходит 6 мс;

– Интерфейс Кнопок Сброса Средних Показателей. Период равен 500 мс, время выполнения – 4 мс;

– Таймер Средних Показателей. Эта задача выполняется сравнительно ред­ко, ее период составляет 1 с, а время ЦП – 20 мс. Она некритична по времени;

– Интерфейс Кнопки Сброса Обслуживания. Период равен 1с, время вы­полнения – 6 мс;

– Таймер Обслуживания. Эта задача выполняется еще реже, период равен 2 с, а время выполнения – 15 мс. Она также некритична по времени.

Частотно-монотонные приоритеты присваиваются задачам так, что более при­оритетными оказываются задачи с меньшим периодом. Значит, самый высокий приоритет будет иметь задача Интерфейс Вала с периодом 10 мс. У двух задач – Интерфейс Дросселя и Автодатчики – период равен 100 мс. Задача Автодат­чики активна всегда, а задача Интерфейс Дросселя – только в режиме автома­тического управления. Задаче Автодатчики назначен более высокий приоритет, поскольку от полученной ею входной информации (например, о нажатии тормо­за) может зависеть воздействие на дроссель. Две задачи имеют период 250 мс, больший приоритет назначен задаче Путь и Скорость, поскольку она вычисляет значение текущей скорости, используемой задачей Корректировка Скорости, если последняя активна. Самый низкий приоритет у задачи Таймер Обслужива­ния, которая имеет максимальный период.

Из табл. 17.3 видно, что полный коэффициент использования ЦП, рассчитан­ный для 10 задач, равен 0,48, что намного ниже теоретически предельного значе­ния 0,69, которое дает теорема о верхней границе коэффициента использования. Следовательно, если приоритеты назначать согласно алгоритму монотонных час­тот, то все задачи успеют завершиться в срок.

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