Планирование задач

Содержание

Слайд 2

ПЛАНИРОВАНИЕ ЗАДАЧ

Проблема планирования задач

в многозадачных системах задачи (процессы, потоки) вынуждены делить между
собой

ПЛАНИРОВАНИЕ ЗАДАЧ Проблема планирования задач в многозадачных системах задачи (процессы, потоки) вынуждены
процессорное время;

в системах реального времени, где важно ещё и время получения результата,
задачи «не могут ждать» слишком долго;

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

Слайд 3

ПЛАНИРОВАНИЕ ЗАДАЧ

Виды алгоритмов планирования

в зависимости от того, какой тип многозадачности реализуется в

ПЛАНИРОВАНИЕ ЗАДАЧ Виды алгоритмов планирования в зависимости от того, какой тип многозадачности
системе,
алгоритмы планирования можно разделить на вытесняющие и невытесняющие.

АЛГОРИТМЫ ПЛАНИРОВАНИЯ

НЕВЫТЕСНЯЮЩИЕ

ВЫТЕСНЯЮЩИЕ

СТАТИЧЕСКИЕ ПРИОРИТЕТЫ

ДИНАМИЧЕСКИЕ ПРИОРИТЕТЫ

Слайд 4

ПЛАНИРОВАНИЕ ЗАДАЧ

Невытесняющие алгоритмы планирования

неприоритетные алгоритмы не находят применения в системах реального
времени,

ПЛАНИРОВАНИЕ ЗАДАЧ Невытесняющие алгоритмы планирования неприоритетные алгоритмы не находят применения в системах
так как не позволяют системе гибко реагировать на возникающие события.

наиболее простым неприоритетным алгоритмом (без вытеснения)
является циклическая очередь;

задачи выполняются в порядке их поступления, выполнившаяся или новая задача
встаёт в конец очереди.

while(1)
{
Task_A();
Task_B();
Task_C();
Task_D();
}

Слайд 5

ПЛАНИРОВАНИЕ ЗАДАЧ

Невытесняющие алгоритмы планирования

более совершенным вариантом является алгоритм «кратчайшая задача - первая»;

 

«Кратчайшая

ПЛАНИРОВАНИЕ ЗАДАЧ Невытесняющие алгоритмы планирования более совершенным вариантом является алгоритм «кратчайшая задача
задача - первая»:

 

Циклическая очередь:

 

Слайд 6

ПЛАНИРОВАНИЕ ЗАДАЧ

Вытесняющие алгоритмы планирования

наиболее популярным алгоритмом является алгоритм с разделением времени
(«time-slicing»);

идея этого

ПЛАНИРОВАНИЕ ЗАДАЧ Вытесняющие алгоритмы планирования наиболее популярным алгоритмом является алгоритм с разделением
алгоритма состоит в том, что каждой задаче отводится свой квант
процессорного времени, по истечении которого активизируется планировщик и
переключает задачу на другую;

подобные алгоритмы широко применяются в ОС общего назначения ввиду
своей простоты.

Слайд 7

ПЛАНИРОВАНИЕ ЗАДАЧ

Условие планируемости системы

для планирования периодических задач существуют более эффективные
алгоритмы, учитывающие

ПЛАНИРОВАНИЕ ЗАДАЧ Условие планируемости системы для планирования периодических задач существуют более эффективные
приоритеты, блокировку задач, активно
использующие вытеснение;

однако такие алгоритмы могут не работать при высокой загрузке системы;

если система перегружена, то она может не поддаваться планированию ни одним
известным алгоритмом.

 

 

Слайд 8

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

RMS – rate-monotonic scheduling;

приоритет задачи обратно пропорционален длительности

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS RMS – rate-monotonic scheduling; приоритет задачи
периода;

дэдлайн каждой задачи должен совпадать с периодом активизации;

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

задачи должны быть вытесняемыми;

время выполнения задачи на каждом периоде должно быть одинаково.

Слайд 9

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS

Слайд 10

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

Рассмотрим систему с тремя периодическими задачами A, B

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS Рассмотрим систему с тремя периодическими задачами
и C (и относительно
слабым процессором ☺).

 

 

 

 

Слайд 11

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

При высоких нагрузках на систему RMS начинает «фейлить»

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS При высоких нагрузках на систему RMS
и не может нормально
работать.

 

 

 

 

Слайд 12

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

Очевидно, для RMS общее условие планируемости не всегда

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS Очевидно, для RMS общее условие планируемости
точно показывает
возможность его надёжной работы.

Необходимо точно установить предельную загрузку системы для применения RMS

 

(Чунг Лью, Джеймс Лейланд)

UB-тест (utilisation bound test)

 

Слайд 13

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

 

очевидно, что UB-тест является достаточным, но не необходимым

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS очевидно, что UB-тест является достаточным, но
условием для
понимания возможности применения RMS

необходим иной критерий для определения точной возможности применения RMS

Слайд 14

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

необходимым условием является прохождение RT-теста (response time test);

RT-тест

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS необходимым условием является прохождение RT-теста (response
предложен Паритошем Пандья и Матайей Джозефом и основан на
следующей идее:

рассматривается ситуация наибольшего риска несоблюдения
дэдлайнов – когда все задачи активизируются одновременно (так называемый
критический момент);

 

 

если все задачи прошли тест, то система поддаётся планированию;

если система поддаётся планированию в наихудшем случае, то она будет
поддаваться планированию и в любом другом случае.

Слайд 15

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

время отклика для каждой из задач вычисляется по

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS время отклика для каждой из задач
рекуррентной формуле:

 

множество задач с приоритетом, большим,
чем у i-ой

критерии остановки вычислений:

 

 

Слайд 16

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

применим RT-тест к нашим примерам;

сначала для случая, когда

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS применим RT-тест к нашим примерам; сначала
RMS работает:

 

 

 

 

 

для задачи А:

Слайд 17

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

для задачи B:

 

 

 

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS для задачи B:

Слайд 18

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

для задачи C:

 

 

 

Все задачи прошли тест, следовательно, вся

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS для задачи C: Все задачи прошли
система поддаётся планированию

Слайд 19

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

теперь рассмотрим случай, когда RMS не работал;

 

 

 

 

 

для задачи

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS теперь рассмотрим случай, когда RMS не работал; для задачи А:
А:

Слайд 20

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

для задачи B:

 

 

 

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS для задачи B:

Слайд 21

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: RMS

для задачи C:

 

 

 

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: RMS для задачи C:

Слайд 22

ПЛАНИРОВАНИЕ ЗАДАЧ

Планирование периодических задач: EDF

алгоритм EDF (Earliest Deadline First) является алгоритмом с

ПЛАНИРОВАНИЕ ЗАДАЧ Планирование периодических задач: EDF алгоритм EDF (Earliest Deadline First) является
динамическими
приоритетами;

в отличие от RMS приоритет задачи зависит от её относительного дедлайна – того
дедлайна, который отсчитывается от момента начала работы планировщика;

EDF является оптимальным алгоритмом: если система в принципе поддаётся
планированию, то она может быть обслужена алгоритмом EDF даже при самых
высоких нагрузках;

Имя файла: Планирование-задач.pptx
Количество просмотров: 53
Количество скачиваний: 0