Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
All os.doc
Скачиваний:
29
Добавлен:
06.12.2018
Размер:
2.84 Mб
Скачать

Основные задачи планирования

  • Планирование очереди процессов на начало обработки

  • Планирование распределения времени ЦП между процессами

  • Планирование свопинга

  • Планирование обработки прерываний

  • Планирование очереди запросов на обмен

Планирование распределения времени цп между процессами

Квант времени – непрерывный период процессорного времени.

Приоритет процесса – числовое значение, показывающее степень привилегированности процесса при использовании ресурсов ВС (в частности, времени ЦП).

Для грамотного планирования надо решить две задачи:

– определить величину кванта

– определить стратегию обслуживания очереди готовых к выполнению процессов

Если величина кванта не ограничена – невытесняющая стратегия планирования времени ЦП (применяется в пакетных системах). Никто принудительно не скидывает процесс с ЦП. Разработчики берут на себя функции диспетчера. Например, программа что-то долго считает => сама периодически снимает себя с ЦП, что могли выполнится задачи требующие меньшее количество времени для выполнения и не могущие долго ждать.

Вытесняющая стратегия - величина кванта ограничена.

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

Рассмотрим, как решается проблема с определения кванта времени.

8.3.1 Кванты постоянной длины.

•Время ожидания кванта процессом ~ q(n-1)

•Параметры: длина очереди и величина кванта.

•Дисциплина обслуживания очереди, например, FIFO.

•Переключение процессов – операция, требующая времени.

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

8.3.2 Кванты переменной длины

Величина кванта может меняться со временем

• Вначале «большой» квант q=A,на следующем шаге q=A-t, q=A-2t,…, до q=B (B<A). Преимущество для коротких задач.

• Вначале q=B, далее q=B+t,…, до q=A. Уменьшение накладных расходов на переключение задач, когда несколько задач выполняют длительные вычисления.

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

БИЛЕТ 26 Стратегии планирования времени ЦП. Алгоритмы, основанные на приоритетах.

Алгоритмы, основанные на приоритетах

Вычисление приоритета основывается на статических и динамических характеристиках. Изменение приоритета может происходить по инициативе процесса, пользователя, ОС. Правила назначения приоритета процессов определяют эффективность работы системы.

8.4.1 Планирование по наивысшему приоритету (highest priority first - hpf).

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

Возможно два варианта:

- относительный приоритет (ожидание исчерпания кванта у текущего процесса)

- абсолютный приоритет (немедленная смена текущего процесса)

Задача выбора/постановки процесса с наивысшим приоритетом зависит от организации очереди (упорядочена/неупорядочена).

Возможно наличие очередей с одинаковым приоритетом.

Пример использования стратегии HPF.

Выбор самого короткого задания (shortest job first - SJF).

 

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

 Этот вариант

удобен для “коротких” процессов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]