Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все лекции по системам реального времени.pdf
Скачиваний:
252
Добавлен:
02.05.2014
Размер:
8.11 Mб
Скачать

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

276

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

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

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

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

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

11.5. Пример анализа производительности с помощью анализа последовательности событий

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

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

277

Вначале проанализируем случай, когда водитель переводит руч- ку круиз-контроля в положение «Разгон», инициируя тем самым ав- томатическое ускорение машины. В требованиях к системе записано, что система должна отреагировать на это действие в течение 250 мс. Последовательность внутренних событий, вызванных действием во- дителя, показана на диаграмме параллельной кооперации (рис.11.2).

Предположим, что подсистема Круиз-Контроль находится в со- стоянии Начальное. Ниже приведена цепочка событий, следующих за переводом ручки в положение «Разгон». С. обозначает время, необ- ходимое для обработки i-ого события.

С1: От внешнего устройства Ручка Круиз-Контроля поступает прерывание Круиз-Контроля.

С2: Интерфейс Ручки Круиз-Контроля получает входную ин- формацию «Разгон» от Ручки Круиз-Контроля.

С3: Интерфейс Ручки Круиз-Контроля отправляет сообщение,

содержащее запрос объекту Круиз-Контроль.

С4: Объект Круиз-Контроль принимает сообщение, исполняет свою диаграмму состояний и изменяет состояние с Начальное на Раз-

гон.

С5: Объект Круиз-Контроль посылает команду на увеличение скорости объекту Корректировка Скорости.

С6: Объект Корректировка Скорости выполняет команду и вы- числяет значение дросселя.

С7: Объект Корректировка Скорости передает сообщение, со- держащее значение дросселя, задаче Интерфейс Дросселя.

С8: Интерфейс Дросселя вычисляет новое положение дроссель- ной заслонки.

С9: Интерфейс Дросселя посылает информацию о положении дроссельной заслонки физическому дросселю. (С9 – это операция вы- вода, на которую ЦП время не тратит.)

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

278

Рис.11.2. Последовательность событий в системе круиз-контроля после дейст-

вия водителя

На диаграмме последовательности событий (см. рис.11.2) пока- зано, что для обработки внешнего события «Разгон» требуется четы-

ре задачи (Интерфейс Ручки Круиз-Контроля, Круиз-Контроль, Кор- ректировка Скорости и Интерфейс Дросселя). Поэтому имеется как

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

279

минимум четыре контекстных переключения, на которые тратится время 4Сx , где Сx время, необходимое для одного переключения.

Полное время, которое ЦП расходует на эти четыре задачи (Сe ), равно сумме времен выполнения каждой задачи и времени, необхо- димого для межзадачных коммуникаций, плюс затраты на контекст- ное переключение:

Сe = С1 + C2 + С3 + С4 + С5 + С6 + С7 + С8 + 4Сx .

Предположим, что затраты на межзадачные коммуникации Сm постоянны. Тогда С3, С5 и С7 равны Сm, так что полное время вы-

полнения составит

Сe = С1 + C2 + С4 + С6 + С8 + 3Сm + 4Сx .

(уравне-

ние 1)

Чтобы определить время реакции системы, необходимо также принять во внимание другие задачи, которые способны выполняться, пока система обрабатывает внешнее событие. Посмотрим, какие еще задачи представлены на рис.11.2. Предположим, что задача Авто- датчики (С10) активизируется каждые 100 мс, поэтому в течение 250 мс она может отработать три раза. Задача Интерфейс Вала (С11) вы- полняется при каждом обороте вала и потому в течение того же вре- менного промежутка может быть активизирована до 25 раз (то есть каждые 10 мс) в предположении, что максимальная скорость враще- ния вала составляет 6000 об/мин. Наконец, задача Путь и Скорость (С12) активизируется четыре раза в секунду и, следовательно, будет запущена только единожды. Каждый раз, как управление получает новая задача, происходит два контекстных переключения, если пред- положить, что текущая задача вытесняется и продолжает работу по- сле завершения прервавшей ее задачи. Таким образом, эти три задачи могут привести к 58 дополнительным переключениям.

Итак, общее время Сa, затраченное системой на три дополни- тельные задачи, с учетом накладных расходов составит

Сa = 3(С10 + 2Сx) + 25(С11 + 2Сx) + (С12 + 4Сx)

(уравнение

2)

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

280

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

Сt = Сe + Сa

(урав-

нение 3)

 

Прежде чем решать приведенные уравнения, нужно оценить ка- ждый из временных параметров (табл.11.2). Так как ЦП рассчитан на работу в реальном времени, допустимо предположить, что время кон- текстного переключения составляет 0,5 мс.

Таблица 11.2. Затраты процессорного времени в подсистеме Круиз-Контроль

Задача

С, (мс) Периодиче-

Задачи, участвую-

 

 

ские задачи

щие в обработке по-

 

 

(Ci + 2Cx) мс

следо-вательности

 

 

 

событий

1

2

3

4

Прерывание Круиз-

1

 

 

Контроля (С1)

 

 

 

Интерфейс Ручки

4

 

 

Круиз-Контроля (С2)

5

 

6

Всего на Ввод от

 

Круиз-Контроля (С1 +

 

 

 

С2)

 

 

 

Круиз-Контроль(С4)

6

 

7

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

14

15

16

рости (C6)

5

6

6

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

(С8)

1

 

 

Затраты на Межза-

 

 

дачные Коммуника- ции (Сm)

www.pdffactory.com