Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 4_планирование и управление ресурсами.doc
Скачиваний:
55
Добавлен:
20.06.2014
Размер:
56.32 Кб
Скачать

4.2.1. Планирование, стратегии планирования, критерии планирования

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

Основным подходом к организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов или преследующего иные цели, является организация очередей процессов и ресурсов. С одной стороны, существует задача подбора такого множества процессов, которые при выполнении будут как можно реже конфликтовать друг с другом. Она называется долгосрочным планированием вычислительных процессов. Оно предполагает также равномерную загрузку вычислительной системы смесью вычислительных процессов и процессов, предназначенных для работы с устройствами ввода/вывода. Актуальность этой задачи сейчас не так велика. На первый план вышла задача динамического (краткосрочного) планирования – текущего наиболее эффективного выделения ресурсов, возникающего практически при каждом событии. Краткосрочный планировщик (диспетчер) предназначен для управления выполняемыми в мультизадачной среде единицами диспетчеризации (это могут быть процессы, потоки), он решает, какая из задач, находящихся в очереди готовых к выполнению, должна быть передана на исполнение. В большинстве современных ОС долгосрочный планировщик отсутствует.

4.2.1.2.Стратегии и критерии планирования

Стратегия планирования определяет, какие процессы планируются на выполнение для достижения поставленных целей:

1) по возможности заканчивать вычисления в том же порядке, в каком они были начаты;

2) отдавать предпочтение более коротким процессам;

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

Для сравнения алгоритмов диспетчеризации используются следующие критерии:

1) Время оборота – интервал между подачей процесса и его завершением.

2) Время отклика – в интерактивных системах время, истекшее между подачей запроса и началом получения ответа на него.

3) Предельный срок завершения процесса.

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

5) Пропускная способность – максимальное количество процессов, завершающихся за единицу времени.

6) Использование процессора – процент времени, в течение которого процессор занят.

7) Беспристрастность – равнозначность процессов.

8) Использование приоритетов – отдача предпочтения процессам с высокими приоритетами.

9) Баланс ресурсов – занятость системных ресурсов.

4.2.2. Дисциплины диспетчеризации, обслуживание процессов с приоритетами

4.2.2.1. Дисциплины диспетчеризации

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

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

• выполнение процесса завершено;

• процесс перешел в состояние ожидания;

• процессор потребовался для обслуживания процесса, имеющего более высокий приоритет;

• завершился заранее выделенный процессу квант времени;

• произошла ошибка.

Решение о выборе процесса на обслуживание принимается путем просмотра очереди готовых РСВ в соответствии с принятой дисциплиной обслуживания.

Выделяют следующие подходы к определению порядка передачи процессов на выполнение:

1. Равномерное циклическое квантование.

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

2. Приоритет по характеру использования предшествующего кванта.

Если процесс полностью использовал свой предшествующий квант времени, он помещается в конец очереди. Если он использовал только половину (например блокировка по вв/выв), он попадает в середину очереди ("справедливая").

Данная дисциплина хороша для обслуживания процессов с интенсивным вводом выводом.

3. Вариант равномерного циклического квантования с многоуровневой обратной связью.

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

4. Принудительный приоритет.

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

5. Ограниченное равномерное циклическое квантование.

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

6. Сбалансированная загрузка.

Для предотвращения простоя внешних устройств предпочтение отдается процессам, интенсивно использующим вв/выв.

7. Предпочтительное обслуживание интерактивных процессов.

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

8. Автоматические приоритеты.

Ответственность за назначение процессам приоритетов возлагается на саму операционную систему:

• ОС может повышать приоритеты коротких заданий;

• автоматическое назначение приоритетов, приводящее к сбалансированной загрузке оборудования (совместное выполнение двух процессов: 1 интенсивно использует вв/выв; другой использует его в малой степени).

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

9. Модель типа вертушки (круговорот) и ее варианты.

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

В модели многоуровневой вертушки дополнительно уменьшается время обслуживания коротких заданий. Она содержит n очередей ожидания F0,…..,Fn-1. С каждой очередью Fi связан квант Qi, величина которого растет с увеличением i. Задание из очереди Fi обрабатывается только в том случае, если все очереди с меньшими номерами i пусты. Когда квант времени израсходован на задание из очереди Fi, а соответствующее задание еще не окончено, оно помещается в очередь Fi+1, задания из очереди Fn-1 возвращаются в эту же очередь. Новые задания попадают в очередь F0.