- •4. Планирование и управление ресурсами
- •4.1. Ресурсы, эффективная загрузка ресурсов (Лекция 8)
- •4.1.1. Понятие ресурса, классификация, основные виды ресурсов.
- •4.1.1.1. Ресурсы, классификация
- •4.1.1.2. Основные виды ресурсов
- •4.2.1. Планирование, стратегии планирования, критерии планирования
- •4.2.1.1. Планирование и диспетчеризация процессов
- •4.2.1.2.Стратегии и критерии планирования
- •4.2.2. Дисциплины диспетчеризации, обслуживание процессов с приоритетами
- •4.2.2.1. Дисциплины диспетчеризации
- •4.2.2.2. Обслуживание процессов с приоритетами
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.
