Многоуровневые очереди с обратными связями

Планирование и диспетчеризация процессов

Уровни планирования

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

 

Существуют три уровня такого планирования:

 

1. Планирование на верхнем уровне.

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

Планирование на промежуточном уровне.

Средства этого уровня определяют, каким процессам будет разрешено конкурировать за захват ЦП. Планировщик этого уровня определяет, какие процессы приостанавливаются, а какие возобнавляются.

 

Планирование на нижнем уровне.

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

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

Задания, ожидающие ввода в систему

 

 


Ввод заданий

       
 
   
 

 


Приостановленные процессы, ожидающие активизации
Запуск заданий Планирование верхнего уровня

 

           
   
 
 
   
 

 


Активизация Приостановка Планирование промежуточного уровня

       
 
   
 

 


Блокирование Предоставление ЦП Планирование нижнего уровня

       
 
   
 

 

 


Завершенные процессы
Завершение

Рис. Уровни планирования

Цели планирования

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

Факторы, учитываемые при планировании

Для реализации перечисленных выше целей планирования, механизмы планирования должны учитывать лимитируется процесс вводом-выводом или ЦП; является ли процесс пакетным или диалоговым; обязательно ли малое время ответа; приоритет каждого процесса; частоту переключений с низкоприоритетных процессов, ожидающих освобождения уже занятых ресурсов; длительность периода времени, в течение которого ожидает каждый процесс; суммарное время работы каждого процесса и оценочное время, необходимое каждому процессу для завершения.

Планирование с переключением и без переключения

Планирование без переключения предусматривает, что после предоставления ресурсов ЦП какому-либо процессу, отобрать ЦП у этого процесса нельзя. Если же ресурсы ЦП можно отобрать, то говорят о планировании с переключением.

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

Приоритеты

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

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

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


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

 

Планирование по принципу FIFO (first-in-first-out)

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

После того, как процесс получает ЦП в свое распоряжение, он выполняется до завершения, т.е. это дисциплина планирования без переключения.

 

Готовые процессы Завершение

Z Y XЦП

 

Рис. Планирование по принципу FIFO

 

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

 

Циклическое планирование RR (round robin)

Планирование по принципу RR предполагает диспетчирование процессов по принципу FIFO, но каждый процесс получает временной квант, в течение которого он может использовать ресурсы ЦП. Если завершения процесса не происходит по истечении кванта времени, то этот процесс переводится в конец списка готовых к выполнению процессов, а ресурсы ЦП предоставляются следующему процессу из списка.

 

Готовые процессы Завершение

X Z Y XЦП

 
 

 


Истечение кванта времени

 

Рис. Планирование по принципу RR

 

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

Многоуровневые очереди с обратными связями

При таком алгоритме планирования, новый процесс входит в сеть очередей с конца верхней очереди и перемещается по ней по принципу FIFO пока не получит в свое распоряжение ЦП. Если процесс не успевает завершиться по истечении отведенного ему кванта времени, он перемещается в конец очереди более низкого уровня и получит в свое распоряжение ЦП, когда достигнет начала этой очереди, и не будет ожидающих процессов в верхней очереди. Обычно в такой многоуровневой системе предусматривается нижняя очередь, организованная по принципу RR, где процесс циркулирует до окончательного завершения. Как правило, в таких структурах квант времени при переходе в каждую очередь более низкого уровня увеличивается.

 

Готовые процессы Завершение

Z1 Y1 X1ЦП Уровень 1 FIFO

 
 


Истечение кванта времени

Готовые процессы Завершение

X1 Z2 Y2 X2ЦП Уровень 2 FIFO

 
 


Истечение кванта времени

. . .

Готовые процессы Завершение

Xn-1 Zn Yn XnЦП Уровень n RR

 
 

 


Истечение кванта времени

 

Рис. Многоуровневые очереди с обратными связями

 

Планироване в многопроцессорных системах

Цель: максимальная производительность и минимальное время реагирования.

Важен не только порядок выполнения процессов, но и то на каких процессорах эти процессы должны выполнятся.

 

Взаимодействующие процессы часто объединяются в задачи.

 

Планирование:

· С временным разделением (timesharing sheduling)

· Привязка задач к процессорам ( processor affinity)

ü Мягкая, пытающаяся на одном

ü Жесткая, всегда на одном.

 

· Задачно независимые (все однопроцессорные)

· Задачно ориентированные

ü SNPF smallest number of process first наибольшее количество процессов первым (приоритет обратно пропорционален количеству процессов)

ü RR

ü Динамическое разделение. Планировщик поровну распределяет процессоры системы между задачами

 

Планирование реального времени

 

Статические не позволяют менять приоритет процесса во время его выполнения (в жестких СРВ) RM rate-monotonic монотонно увеличивает приоритет

Динамические могут менять приоритеты во время выполнения. EDF earlest deadline first ближайший срок завершения первым

 

Дисциплина SJN Shortest Job Next – следующим будет выполнятся кратчайшее задание.

SRT Shortest remaining time – следующим будет выполнятся задание требующее меньше времени.

 

Планирование процессов в UNIX – карусель с многоуровневой обратной связью. Если приоритет одинаковый то выбирается тот процесс который дольше всего находится в состоянии «готов к выполнению»

 

ИЦП – использование ресурсов центрального процессора

 

ИЦП = ИЦП/2

Приоритет = (ИЦП/2)+Базовый уровень приоритета

 

У активного процесса ИЦП = ИЦП+1 по каждому прерыванию за время кванта интервальный таймер выдает несколько сигналов прерываний.

 

Win 3.11 – невытесняющая многозадачность (FIFO)

 

Win 9x – вытесняющая многозадачность, квант = 20 мсек, макс 32 приоритета, внешние события повышают приоритет, приоритет падает до исходного, приоритет растет если процесс захватил монопольный (неразделяемый) ресурс.

 

Win NT-2000

Приоритеты 4 класса 32 градации

Реального времени – 24

Высокий 13

Нормальный 9 интерактивный 7 фоновый

Отложенный 4

1. выбирается процесс с наивысшим приоритетом

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

3. по истечению кванта времени приоритет уменьшается

4. если процесс перешел в ожидание не исчерпав кванта времени, то приоритет повышается.

QNX – абсолютные приоритеты


<== предыдущая лекция | следующая лекция ==>
Службы управления часами и таймерами | Тактический аспект деятельности государственного обвинителя и его речи.




Дата добавления: 2017-01-29; просмотров: 2486;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.042 сек.