Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2 модуль все части ПЕЧАТАТЬ.docx
Скачиваний:
70
Добавлен:
18.12.2018
Размер:
328.96 Кб
Скачать
  1. Ч4_Чем различаются вытесняющие и невытесняющие алгоритмы планирования?

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

  • вытесняющие, когда решение о прекращении выполнения потока (процесса) принимает ОС;

  • невытесняющие, когда это решение принимается самим потоком, а не ОС, и даже не пользователем.

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

  1. Ч4_Чем различаются вытесняющие и невытесняющие алгоритмы планирования?

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

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

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

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

  • исчерпан квант, отведенный данному потоку.

Поток, исчерпавший свой квант, переводится в состояние готовности, активным делается новый поток из очереди готовых к выполнению.

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

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

  1. Ч4_Что такое «приоритет потока» и каким он бывает?

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

  1. Ч4_Чем динамические приоритеты потоков отличаются от статических?

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

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