Строгая формулировки теоремы о времени завершения
Теорему о времени завершения можно строго сформулировать следующим образом: Множество независимых периодических задач, планируемых согласно алгоритму монотонных частот, будет удовлетворять временным ограничениям при любой комбинации моментов запуска тогда и только тогда, когда
,
где Сi и Тi – время выполнения и период задачи tj соответственно, а
Ri = {(k,p): l≤k≤i, p=l,...,[Ti/Tk]}.
В этой формуле ti – это проверяемая задача, a tk – любая из более приоритетных задач, влияющих на время выполнения ti. Для данной пары задач ti и tk каждое значение р представляет некоторую точку планирования задачи tk. В каждой точке планирования необходимо рассмотреть один раз время ЦП Сi, потраченное на задачу ti, а также время, израсходованное на более приоритетные задачи. Это позволит определить, успеет ли ti завершить выполнение к данной точке планирования.
Планирование периодических и апериодических задач. Планирование с синхронизацией задач
Теория планирования в реальном времени распространяется и на синхронизацию задач. Проблема здесь в том, что задача, входящая в критическую область, может блокировать другие более приоритетные задачи, которые хотят войти в ту же область. Ситуация, когда низкоприоритетная задача не дает выполняться высокоприоритетной, называется инверсией приоритетов. Обычно это связано с тем, что первая задача захватывает ресурс, который нужен второй.
Протокол предельного приоритета [24] позволяет избежать тупиковой ситуации и гарантирует ограниченную инверсию приоритетов за счет того, что высокоприоритетная задача может блокироваться самое большее одной низкоприоритетной. Чтобы предотвратить задержку высокоприоритетных задач низкоприоритетными на долгое время, применяется коррекция приоритетов. Когда низкоприоритетная задача t1 оказывается в критической области, она в состоянии блокировать высокоприоритетные задачи, которым нужен тот же ресурс. Если это происходит, то приоритет t1 повышается до максимального из приоритетов блокируемых задач. Цель состоит в том, чтобы ускорить выполнение низкоприоритетной задачи и сократить время ожидания для высокоприоритетных.
Предельный приоритет Р двоичного семафора S – максимум из приоритетов всех задач, которые могут занять данный семафор. Таким образом, низкоприоритетная задача, захватившая S, способна повысить свой приоритет до Р в зависимости от того, какие задачи она блокирует.
Еще одна возможная проблема – это тупиковая ситуация (deadlock), которая возникает, когда двум задачам нужно захватить по два ресурса. Если каждая задача захватит по одному ресурсу, то ни одна не сможет завершиться, поскольку будет ждать, пока другая освободит ресурс. Протокол предельного приоритета справляется и с такой трудностью [24].
Теоремы о планировании методом монотонных частот необходимо обобщить на задачу об инверсии приоритетов.
99. Развитие теории планирования в реальном времени
Теорию планирования в реальном времени можно применить к множеству параллельных задач либо на этапе проектирования, либо уже после реализации всех задач. Поскольку во время проектирования для времени ЦП существуют только приблизительные оценки, нужно быть осторожнее и при разработке задач реального времени с жесткими временными ограничениями полагаться на пессимистическую теорему о верхней границе коэффициента использования. Эта теорема дает верхнюю границу 0,69 в худшем случае, хотя теория планирования в реальном времени часто указывает более высокие значения. Если верхняя граница в худшем случае не может быть достигнута, придется изучить альтернативные решения. С точки зрения проектировщика-пессимиста, оценка верхней границы коэффициента выше 0,69 приемлема при условии, что использование сверх 0,69 целиком обусловлено низкоприоритетными задачами с мягкими временными ограничениями или задачами, которые могут исполняться не в реальном масштабе времени. Для таких задач эпизодический пропуск срока выполнения не столь важен.
100. Планирование в реальном времени и проектирование. Пример применения обобщенной теории планирования в реальном времени
В качестве примера рассмотрим следующий случай. Есть четыре задачи: две периодические и две апериодические. Ниже приведены детальные характеристики задач, причем время указано в миллисекундах, а коэффициент использования Ui=Ci/Ti.
Периодическая задача t1: С1 = 20; Т1 = 100; U1 = 0,2.
Апериодическая задача t2: С2 = 15; Т2 = 150; U2 = 0,1.
Управляемая прерываниями задача ta: Сa = 4; Тa = 200; Ua = 0,02.
Периодическая задача t3: C3 = 30; T3 = 300; U3 = 0,1.
Кроме того, известно, что задачи t1, t2 и t3 обращаются к одному и тому же хранилищу данных, защищенному семафором S.
Задачам назначены приоритеты в строгом соответствии с алгоритмом монотонных частот, то есть t1 имеет наивысший приоритет, а за ней следуют t2, ta и t3 Но, поскольку для ta время реакции жестко ограничено, ей присвоен наивысший приоритет, а уже потом идут t1, t2 и t3
Сначала рассмотрим управляемую прерываниями задачу ta. Поскольку у нее самый высокий приоритет, она получает процессор по первому требованию. Для применения обобщенной теоремы о верхней границе коэффициента использования надо принять во внимание четыре фактора:
– время вытеснения более приоритетными задачами с периодами меньшими, чем Т1. Таких задач нет;
– время выполнения С1 задачи t1 равно 20. Коэффициент использования U1 = 0,2;
– вытеснение более приоритетными задачами с большими периодами. В эту категорию попадает задача ta. Коэффициент использования за счет вытеснения на периоде Т1 равен Сa/Т1 = 4/100 = 0,04;
– время блокировки задачами с более низким приоритетом. Потенциально заблокировать t1 могут задачи t2 и t3. Коэффициент использования за счет блокировки на периоде Т1 составляет B3/Т1 = 30/100 = 0,3.
Коэффициент использования в худшем случае равен сумме всех полученных коэффициентов, то есть 0,04 + 0,2 + 0,3 = 0,54, что меньше верхней границы 0,69. Следовательно, t1 удовлетворяет временным ограничениям.
Далее таким же образом рассматриваем остальные задачи
Дата добавления: 2022-05-27; просмотров: 108;