Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kratko.docx
Скачиваний:
57
Добавлен:
01.04.2022
Размер:
2.04 Mб
Скачать

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

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

Виды кванта :

  • динамическими (длительность времени может быть разной)

  • фиксированными

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

Смена активного потока происходит, если:

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

● Произошла ошибка;

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

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

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

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

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

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

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

Приоритеты бывают:

● Фиксированные - приоритет потоку назначается ОС при его создании и не изменяется за время существования потока.

● Динамические - приоритет может изменяться либо по инициативе самого потока, либо по инициативе пользователя, либо ОС изменяет приоритеты потоков.

Приоритетное планирование бывает:

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

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

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

Критерий эффективности - это максимальная пропускная способность (хотим сделать так, чтобы процессор не простаивал).

Суть ОС пакетной обработки: в момент старта системы, когда начинается вычислительный процесс, запускаются все задачи одновременно, и задача планирования заключается в том, как и в какой последовательности расставить внутри пакета эти задачи.

Алгоритмы:

1. FIFO - “Первый пришел - первым обслужен”

Задача ОС - поддерживать некоторую очередь: поступившие на выполнение потоки добавляются в эту очередь и, допустим, по алфавиту (как ниже) пришли, выполнили и ушли.

+Простота - поддерживается только список, и из заголовка списка выбирается поток на выполнение.

+Справедливость - первым пришёл, первым будешь обслужен (как очередь в магазине).

2. “Кратчайшая задача - первая”

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

+Уменьшение оборотного времени

+Справедливость

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

-Длинный процесс, занявший процесс, не пустит более новые краткие процессы, пришедшие позже.

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

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

Соседние файлы в предмете Операционные системы