
ЛЕКЦИЯ 10
Дисциплины обслуживания процессов
Дисциплина обслуживания определяет порядок, в котором процессор обслуживает процессы, а так же длительность квантов времени обслуживания для каждого из процессов.
Длительность кванта может зависеть от одного из нижеперечисленных событий или их комбинации:
• выполнение процесса завершено;
• процесс перешел в состояние ожидания;
• процессор потребовался для обслуживания процесса, имеющего более высокий приоритет;
• завершился заранее выделенный процессу квант времени;
• произошла ошибка.
Решение о выборе процесса на обслуживание принимается путем просмотра очереди готовых РСВ в соответствии с принятой дисциплиной обслуживания.
1. Равномерное циклическое квантование.
Длительность обслуживания каждого процесса ограничена величиной стандартного времени.
2. Приоритет по характеру использования предшествующего кванта.
Если процесс полностью использовал свой предшествующий квант времени, он помещается в конец очереди. Если он использовал только половину (например блокировка по вв/выв), он попадает в середину очереди ("справедливая").
Данная дисциплина хороша для обслуживания процессов с интенсивным вводом выводом.
3. Вариант равномерного циклического квантования с многоуровневой обратной связью.
В момент введения нового процесса в систему ему выделяется столько квантов, сколько в этот момент существует других параллельных процессов. После этого продолжается обычное равномерное квантование.
4. Принудительный приоритет.
Выбирается процесс с наивысшим приоритетом из всех готовых. Приоритет назначается исходя из важности соответствующей работы или с учетом дополнительной оплаты.
5. Ограниченное равномерное циклическое квантование.
Процессы обслуживаются способом равномерного квантования некоторое определенное число раз, после чего они обслуживаются только при условии отсутствия в системе других процессов.
6. Сбалансированная загрузка.
Для предотвращения простоя внешних устройств предпочтение отдается процессам, интенсивно использующим вв/выв.
7. Предпочтительное обслуживание интерактивных процессов.
Если при решении задачи осуществляется оперативное взаимодействие с пользователем (интерактивные задачи), обслуживание соответствующего процесса начинается сразу после запроса пользователя. С помощью такой дисциплины удается обеспечить малое время реакции системы.
8. Автоматические приоритеты.
Ответственность за назначение процессам приоритетов возлагается на саму операционную систему:
• ОС может повышать приоритеты коротких заданий;
• автоматическое назначение приоритетов, приводящее к сбалансированной загрузке оборудования (совместное выполнение двух процессов: 1 интенсивно использует вв/выв; другой использует его в малой степени).
При выполнении двух процессов со сходными характеристиками, может возникнуть ситуация перегрузки одного из ресурсов с одной стороны и простоя другого ресурса с другой стороны. Для предотвращения такой ситуации ОС производит постоянную коррекцию приоритетов.
Модель типа вертушки (круговорот) и ее варианты.
Процессор последовательно выбирается процессом в течении фиксированного промежутка времени, называемого квантом. Если процесс заканчивается или блокируется до конца кванта, то процессор сразу же передается следующему процессу. Процессы упорядочиваются в последовательную очередь, указатель активации, который перемещается при каждом новом назначении процессора, выделяет избранный процесс.
В модели много уровневой вертушки дополнительно уменьшается время обслуживания коротких заданий. Она содержит n очередей ожидания
F0,…..,Fn-1. С каждой очередью Fi связан квант Qi, величина которого растет с увеличением i. Задание из очереди Fi обрабатывается только в том случае, если все очереди с меньшими номерами i пусты. Когда квант времени израсходован на задание из очереди Fi, а соответствующее задание еще не окончено, оно помещается в очередь Fi+1, задания из очереди Fn-1 возвращаются в эту же очередь. Новые задания попадают в очередь F0.
Диаграммы работы состояний процессов.
1. Простой алгоритм обслуживания.
Различаются два типа состояния готовности: низкоприоритетная и высокоприоритетная.
Процессу присваивается низкоприоритетное состояние, если он полностью использовал выделенный ему предшествующий квант времени, и высокоприоритетное состояние, если он из состояния ожидания переходит в состояние готовности. Для этого случая могут быть применены следующие дисциплины обслуживания:
• выбор на обслуживание процесса из очереди высокоприоритетных готовых процессов.
• если эта очередь пуста, выбрать процесс из очереди низкоприоритетных процессов.
Переключение состояний производит разделение процессов на две группы - процессы с преимущественным вв/выв и процессы с преимущественным счетом. Предпочтение отдается процессам с преимущественным вв/выв.
2. Альтернативный алгоритм.
Может использоваться в системах с разделением времени и страничной организацией памяти.
Состояние ожидания может быть трех видов:
• блокировка по обмену с терминалами;
• блокировка по обмену с накопителями;
• блокировка по обмену с внешней страничной памятью.
Готовые процессы подразделяются на три группы:
• низкоприоритетные процессы с преимущественным счетом;
• высокоприоритетные процессы с преимущественным вв/выв.;
• среднеприоритетные процессы с преимущественным вв/выв.
Алгоритм обслуживания состоит в выборе процесса из очереди высокоприоритетных готовых процессов, если очередь пуста - из более низких очередей по приоритету.