Теорема о времени завершения.



Если для некоторого множества задач полный коэффициент использования больше, чем требует теорема о верхней границе, то можно прибегнуть к помощи теоремы о времени завершения

Теорема о времени завершения (теорема 2) гласит:

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

Чтобы убедиться в выполнении условий теоремы, необходимо проверить мо­мент завершения первого периода для данной задачи ti, а также моменты завер­шения периодов всех задач с более высоким приоритетом. Согласно алгоритму монотонных частот, периоды подобных задач будут меньше, чем для задачи ti. Эти периоды называются точками планирования. Задача t. один раз займет ЦП на вре­мя Сi в течение своего периода Тi. Но более приоритетные задачи будут выпол­няться чаще и могут по крайней мере один раз вытеснить ti. Поэтому нужно учесть также время ЦП, затраченное на более приоритетные задачи.

Теорема о времени завершения графически представляется с помощью вре­менной диаграммы, на которой показана упорядоченная по времени последова­тельность выполнения группы задач.

Строгая формулировки теоремы о времени завершения

Теорему о времени завершения можно строго сформулировать следующим образом: Множество независимых периодических задач, планируемых согласно алгорит­му монотонных частот, будет удовлетворять временным ограничениям при любой комбинации моментов запуска тогда и только тогда, когда

  ,

где С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].

Теоремы о планировании методом монотонных частот необходимо обобщить на задачу об инверсии приоритетов.

Развитие теории планирования в реальном времени

Теорию планирования в реальном времени можно применить к множеству параллельных задач либо на этапе проектирования, либо уже после реализации всех задач. Поскольку во время проектирования для времени ЦП существуют только приблизительные оценки, нужно быть осторожнее и при разработке задач реального времени с жесткими временными ограничениями полагаться на песси­мистическую теорему о верхней границе коэффициента использования. Эта тео­рема дает верхнюю границу 0,69 в худшем случае, хотя теория планирования в ре­альном времени часто указывает более высокие значения. Если верхняя граница в худшем случае не может быть достигнута, придется изучить альтернативные решения. С точки зрения проектировщика-пессимиста, оценка верхней границы коэффициента выше 0,69 приемлема при условии, что использование сверх 0,69 целиком обусловлено низкоприоритетными задачами с мягкими временными огра­ничениями или задачами, которые могут исполняться не в реальном масштабе вре­мени. Для таких задач эпизодический пропуск срока выполнения не столь важен.

Планирование в реальном времени и проектирование. Пример применения обобщенной теории планирования в реальном времени

В качестве примера рассмотрим следующий случай. Есть четыре задачи: две периодические и две апериодические. Ниже приведены детальные характеристики задач, причем время указано в миллисекундах, а коэффициент использования 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 равен Сa1 = 4/100 = 0,04;

– время блокировки задачами с более низким приоритетом. Потенциально за­блокировать t1 могут задачи t2 и t3. Коэффициент использования за счет блокировки на периоде Т1 составляет B31 = 30/100 = 0,3.

Коэффициент использования в худшем случае равен сумме всех полученных коэффициентов, то есть 0,04 + 0,2 + 0,3 = 0,54, что меньше верхней границы 0,69. Следовательно, t1 удовлетворяет временным ограничениям.

Далее таким же образом рассматриваем остальные задачи


Дата добавления: 2018-08-06; просмотров: 286; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!