В Таблице 4 представлен набор из шести задач, характеризующихся временем выполнения Ci и периодом T. Согласно Теореме 1, совокупный коэффициент использования процессора, сумма Ci/Ti, должна быть меньше чем верхний предел N( 21/N-1 ) для гарантии диспетчируемости на основании ЧМА. Из таблицы видно, что набор первых пяти задач (или менее) – диспетчируем на основании ЧМА, потому что 0.64 <0.743. Однако, набор из всех шести задач не может быть диспетчируем на основании алгоритма ЧМД, потому что 0.74> 0.735. Фактически, набор любых пяти из шести задач в Таблице 4 - диспечируем согласно Теореме 1.
Таблица 4: Характеристики шести задач, обсуждаемых в Примере 3.
Задача i | Время выполнения Ci | Период Ti | Отношение Ci/Ti | Использование (1.. N) | Граница |
0.20 | 0.20 | 1.000 | |||
0.25 | 0.45 | 0.828 | |||
0.04 | 0.49 | 0.779 | |||
0.05 | 0.54 | 0.756 | |||
0.10 | 0.64 | 0.743 | |||
0.10 | 0.74 | 0.735 |
Пример 4
В Таблице 5, представлен другой набор из восьми задач. Первые семь задач диспетчируемы согласно Теореме 1; однако, при добавлении задачи 8 возникает проблема, при чем не важно, что задачи в таблице не упорядочены согласно величине их периодов. При ближайшем рассмотрении мы видим, что наибольший вклад в коэффициент совокупного использования центрального процессора (0.250 и 0.125) вносят задачи 6 и 8, соответственно. Проектировщик может проверить возможность сокращения времени выполнения задачи 6 или увеличения периода задачи 8, чтобы заставить их вписаться в схему и таким образом устранить проблему. Например, увеличение периода задачи 8 до Ts = 100 решило было бы проблему (потому что 0.723 <0.724).
|
|
Таблица 5: Характеристики восьми задач, обсуждаемых в Примере 4.
Задача i | Время выполнения Ci | Период Ti | Отношение Ci/Ti | Использование (1.. N) | Граница |
0.020 | 0.020 | 1.000 | |||
0.050 | 0.070 | 0.828 | |||
0.120 | 0.190 | 0.779 | |||
0.033 | 0.223 | 0.756 | |||
0.100 | 0.323 | 0.743 | |||
0.250 | 0.573 | 0.735 | |||
0.100 | 0.673 | 0.729 | |||
0.125 | 0.798 | 0.724 |
В двух вышеприведенных примерах Теорема 1 не выполняется. Что именно это означает? Подразумевает ли это, что задачи не диспетчируемы на процессоре (или что модули процессора - не диспетчируемы для получения доступ к шине)? Строго говоря, Теорема 1 не определяет необходимое условие, так если неравенство этой теоремы не выполняется, то мы не можем сказать, действительно ли набор задач диспетчируем. Необходим некоторый дополнительный критерий, чтобы определить диспетчируемость в этом случае.
Необходимое и достаточное условие для диспетчеризации с помощью ЧМА
Какое условие является необходимым и достаточным для диспетчеризации с помощью ЧМА? На этот вопрос отвечает более значительный результат ЧМА теории [5]. Далее следует достаточное и необходимое условие диспетчируемости набора задач.
|
|