Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС 2012г.doc
Скачиваний:
10
Добавлен:
24.09.2019
Размер:
1.91 Mб
Скачать
  1. Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование

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

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

Преимущества:

  • простота;

  • справедливость (как в очереди покупателей, каждому только по килограмму).

Недостатки:

  • слишком малый квант времени (по сравнению с временем переключения контекстов) приводит к частому переключению процессов и снижению производительности;

  • слишком большой квант может привести к увеличению времени ответа на интерактивный запрос.

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

Гарантированное планирование. ОС гарантирует существующим потокам, что они получат гарантированную справедливую часть процессорного времени. n потоков, 1/n частей процессорного времени каждому. Стс должна вести учет времени, получаемого каждым потоком, в момент перепланировки вычисляется отношение фактически получаемого воремени к времени гарантированному. На выполнение выбирается тот поток, у которого это отношение наименьшее.

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

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

  1. Алгоритм планирования Windows nt

Алгоритм планирования нитей в Windows NT объединяет в себе обе базовых концепции - квантование и приоритеты. Как и во всех других алгоритмах, основанных на квантовании, каждой нити назначается квант, в течение которого она может выполняться. Нить освобождает процессор, если:

  • блокируется, уходя в состояние ожидания;

  • завершается;

  • исчерпан квант;

  • в очереди готовых появляется более приоритетная нить.

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

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