Пример 13 Задача 3

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

Таблица 10: Характеристики трех задач, описанных в Примерах 5 и 13.

Задача i Время выполнения Ci Период Ti Крит. срок обслуживания Di Время отклика Ri
         
        -95
         

Задача 1. Поскольку Задача 1 имеет самый высокий приоритет, то она начинает выполнятся первой, и ее время отклика равно времени выполнения:

R1 = C1 = 45.

Задача 2. Если мы помещаем числовые значения прямо в основное уравнение, мы получаем, для Задачи 2.

R2 = C2 + [R2/T2] x C,

Которое легко решается при помощи метода проб и ошибок ( trial-and-error method ), и R2= 95.

Задача 3. Для Задачи 3, мы должны следующим образом использовать итерационное уравнение:

Рисунок 7 иллюстрирует решение примера 13. Задача 1, представленная пустым полем, выполняется первой (со времени 0 до времени 45). Задача 2, представленная полем с точками, выполняет в течение 50 тактов (со времени 45 до времени 95). Задаче 3, представленная полем с наклонными чертами вправо, работает пока не будет вытеснена Задачей 1 во втором цикле (во время 135). После чего Задачи 1 и 2 и завершают свой второй цикл и позволяют Задаче 3 возобновить ее первый цикл (со времени 230 до времени 270). Такое решение означает, что пределы для всех задач могут быть установлены намного короче, и при этом набор задач все еще останется диспетчируемым (см. Таблицу 10). Из вычислений в этом примере видно, что использование теории диспетчеризации с равномерным распределением критических сроков обслуживания, оказывается намного проще чем применение Теоремы 2 из частотно-монотонной теории диспетчеризации.

Рисунок 7: Иллюстрация решения, описанного в Примере 13.

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

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

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

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

Наконец, для обеих теорий, предположение, что все задачи начинают выполнение одновременно является слишком пессимистическим. Практически, задачи очень часто зависят друг от друга таким способом, что некоторые из них должны ждать, пока другие не предоставят данные, и не могут начать выполнение до этого. Такую взаимосвязь задач называют отношениями предшествования (precedence relations). Решение этой проблемы состоит в том, чтобы увеличить крайние сроки до времени выполнения задачи (или задач), которую ждет текущая задача. Такое решение облегчает диспетчеризацию задачи. Более подробно это описано в двух статьях Audsley, Burns, и Wellings [15] и в статье Burns[17]..

И в заключение, алгоритм диспетчеризации с равномерным распределением критических сроков обслуживания легче и быстрее чем частотно-монотонный анализ. Однако, точное сравнение этих двух алгоритмов требовало бы написания другой статьи помимо этой. Для получения представления о том, что разработчик системы может получить используя алгоритм диспетчеризации с равномерным распределением критических сроков обслуживания читателю рекомендуются статьи Audsley, Burns, и Wellings[15], упомянутым выше и к статье Audsley and al [18].


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: