Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билетики.pdf
Скачиваний:
1
Добавлен:
05.06.2025
Размер:
6.66 Mб
Скачать

Современные ОС (UNIX, Windows NT, OS/2) преимущественно используют вытесняющее планирование.

21. Алгоритм планирования, основанный на квантовании

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

●​ поток завершился и покинул систему; ●​ произошла ошибка; ●​ поток перешел в состояние ожидания;

●​ исчерпан квант процессорного времени, отведенный данному потоку.

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

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

времени ожидания потоков от их времени выполнения. При достаточно большом

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

22. Приоритетное планирование.

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

степень привилегированности потока при использовании ресурсов вычислительной

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

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

при его создании.

Рисунок 2. Приоритеты потоков в Windows NT

Существуют две разновидности приоритетного планирования: обслуживание с

относительными приоритетами и обслуживание с абсолютными приоритетами. В

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

Всистемах с относительными приоритетами активный поток выполняется до

тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания (или же

произойдет ошибка, или поток завершится).

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

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

очереди готовых определяется приоритетами потоков.

Именно так реализовано планирование в системе Windows NT, в которой квантование сочетается с динамическими абсолютными приоритетами. На выполнение выбирается готовый поток с наивысшим приоритетом. Ему выделяется квант времени. Если во время выполнения в очереди готовых появляется поток с более высоким приоритетом, то он вытесняет выполняемый поток.

Вытесненный поток возвращается в очередь готовых, причем он становится

впереди всех остальных потоков имеющих такой же приоритет.

23. Алгоритмы планирования в ОС пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».

FIFO

Процессам предоставляется доступ к процессору в том порядке, в котором они его запрашивают.

+​ просто реализовать +​ минимальные расходы на планирование

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

-​ высокое время ожидания и отклика -​ отсутствие приоритетов

-​ эффект конвоя

Shortest Job First (SJF)

Минимизирует среднее оборотное время выполнения задачи.

+​ Уменьшение оборотного времени +​ Справедливость

-​ требуется информация о времени выполнения задач

-​ длинный процесс НЕ пустит более новые короткие вперед, которые пришли позже

Наименьшее оставшееся время выполнения

Всякий раз, когда в систему поступает новое задание, планировщик STCF решает,

какому из имеющихся заданий (включая и только что поступившее) осталось меньше

времени до завершения, и планирует его.

24. Алгоритмы планирования в интерактивных ОС: циклическое, приоритетное, MLFQ.

Критерий эффективности – отзывчивость.​ ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда

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

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

Преимущества: ●​ простота;

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

Недостатки:

●​ слишком малый квант времени (по сравнению с временем переключения

контекстов) приводит к частому переключению процессов и снижению

производительности;

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

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

MLFQ (многоуровневая очередь с обратной связью):

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

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

ожидающие долго, могут повышать приоритет.

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

●​ Оптимизирует отзывчивость для интерактивных задач.

●​ Балансирует между краткосрочными и длительными задачами. Недостатки:

●​ Сложность реализации и настройки.

●​ Возможны случаи "голодания" для низкоприоритетных задач при неправильной настройке.