Файл: Курс лекций по дисциплине СРВ (Артемов СП).pdf

Добавлен: 15.11.2018

Просмотров: 6694

Скачиваний: 11

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

21 

поступлении  спорадической  задачи  оценивается  приоритет  текущей 

задачи. 

Спорадическая 

задача 

устанавливается 

в 

очередь 

периодических задач, если ее приоритет меньше, чем у периодических 

задач. 

Q1

34

31

32

33

U

M1

=6

=4

=3

=1

Q1

34

      исп

3c

з

З1

32

33

Q1

34

       выполняется

Зсз      исполняется

31

32

Зсз

31

 

Рис.12. 

Сама  задача  времени  исполнения  должна  иметь  наивысший 

приоритет.  Данный  сервер  включает  лишь  одну  задачу  –  изменение 

очереди задач. 

Каждый 

алгоритм 

можно 

оценить 

с 

точки 

зрения 

производительности.  Для  оценки  производительности  используются  3 

параметра: 

1. 

Нагрузка системы на отказ (в обслуживании). 

Breakdown Utilization (BU). 

2. 

Нормализованное среднее время ответа (NMRT). 

3. 

Гарантируемая скорость обработки задач (GR). 

Нагрузка  системы  на  отказ  (в  обслуживании)  (BU)  является 

степенью  использования  ресурсов,  при  которой  система  может 

гарантировать, что все задачи будут выполнены в заданные сроки. Чем 

больше  значение  BU,  тем  больше  время  процессора,  в  котором 

выполняются задачи. 

Нормализованное среднее время ответа (NMRT) - это отношение 

между интервалами времени от готовности задачи к выполнению до ее 


background image

 

22 

окончания  к  фактическому  времени  процессора.  Используется  для 

выполнения задач. 

обр

нвз

овз

t

t

t

 

Чем больше NMRT, тем больше время простоя задач. 

Гарантируемая скорость обработки задач (GR) является оценкой 

производительности  системы  для  задач.  Вычисляется  как  отношение 

определенного 

числа 

задач, 

выполнение 

которых 

можно 

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

Если  число  больше  1,  то  система  расписабельная,  иначе  – 

нерасписабельная. Чем больше это число, тем больше запас времени 

для выполнения задач. 

Планировщик заданий 

Планировщик  заданий  –  это  средство,  которое  предназначено 

для  исполнения задач на вычислительном узле. 

Планировщики бывают разных видов: 

1. 

Глобальный 

(общий) 

планировщик 

– 

во-первых, 

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

распределённой  вычислительной  системе.  Обычно  реализуется  на 

узле  типа  server,  либо  на  одном  из  узлов  системы  при 

децентрализованном  управлении.  Во-вторых,  создаёт  алгоритмы 

формирования образа узлов.  

2. 

Местный  планировщик  –  распределяет  задачи  на  одном 

вычислительном  узле  за  заданный  цикл  функционирования.  Работа 

планировщиков на различных узлах является независимой.

 

 

Местный  планировщик  для  глобального  является  обыкновенной 

задачей с повышенным приоритетом.  

Планировщик заданий определяет: 


background image

 

23 

1. Последовательность выполнения задач. 

Каждый  цикл  функционирования  узла  планировщик  может 

определять новую последовательность задач. 

2. Распределение ресурсов между задачами. 

Служит для борьбы с гонками. 

Гонки  –  это  ситуация  по  захвату  доступа  к  ресурсу  задачей  с 

маленьким приоритетом. 

3. Распределение времени между задачами. 

Выделение 

заданного 

количества 

тиков 

для 

задачи, 

исполняющейся на узле. 

Время – наиболее актуальный параметр. 

Тик – минимальная измеряемая единица времени. 

Количество тиков зависит от разных параметров: 

1. 

частота процессора; 

2. 

время одного цикла. 

Алгоритм функционирования планировщика 

Планировщик является частью операционной системы. 

Из  всех  задач  строится  таблица  запуска.  Определяются  списки 

задач  по  их  виду  (см.  типы  задач).  В  зависимости  от  типа  задачи  в 

списке задач устанавливаются параметры групп запуска.  

Для  периодических  и  фоновых  задач  должны  быть  установлены 

следующие параметры: 

стартовая метка запуска данной группы задач; 

период запуска данной группы задач; 

крайний критический срок исполнения. 

Имя группы 

Стартовая 
метка  

Крайний  критич. 
срок исполнения 

Период 

ptl0 
ptl1 





background image

 

24 

ptl2 

10 

ptl

0 <список задач>  

Для  фоновых  задач  эта  таблица  расширится  относительно 

стартовой  метки,  то  есть  расширится  диапазон  запуска.  Также 

расширяется крайний критический срок исполнения (min и max).  

Имя 

группы 

Старт. 

метка min 

Старт. 

метка max 

Край. 

крит. срок 

исп. min 

Край. крит. 

срок исп. 

max 

Период 

Для  апериодических  и  спорадических  задач  также  создаются 

таблицы,  но  они  включают  одну  строку,  если  приоритет  данного  типа 

задач не учитывается. 

Апериодические задачи: apt <список задач> 

                                           

метка не описывается 

Спорадические задачи: spt <список задач> запуск задач  

Если  задачи  необходимо  делить  по  приоритетам,  то  в  таблице 

апериодических  и  спорадических  задач  необходимо  указывать 

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

Задачи-аппендиксы описываются в виде таблицы, включающей 1 

параметр – метку запуска.  

Имя группы  Метка запуска 

app0 

app1 

app

1 <список задач>   

Анализ таблиц 

На  основании  этих  таблиц  строится  список  задач  на  каждом 

цикле исполнения.

 


background image

 

25 

M0

M1

M2

M3

spt

app0

ptl0

 

Рис.13. 

Для  аппендиксов,  периодических  и  фоновых  задач  №  метки 

должен совпадать с тем, который поставлен в таблице для построения 

списка. 

 

Список  задач  может  изменяться  или  не  изменяться.  Изменение 

зависит от типового алгоритма планирования. 

Исполнение планировщика (запуск): 

Завершающая стадия. 

1. Создаётся бесконечный цикл – это планировщик заданий. 

test_tabl 

// если планирование статическое 

for 

(;;) // бесконечный цикл 

 

2.  Если  планирование  динамическое,  то  анализ  таблицы  в 

начале запуска test_tabl 

 

3. После анализа таблицы построили списки задач. 

// списки задач (4 метки) 

4 период. + 4 апериод. +4 спорадич. + 1 фонов. + 1 аппенд. 

                          

<1…<14  (14 списков) 

4.  Следующей  задачей  будет  вызов  этих  функций  по  данному 

списку.