На данном этапе определяется уровень многопроцессности системы

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

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

Планирование

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

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

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

-Планирование свопинга («откачка»части процессов из ОП на диск)

-Планирование обработки прерываний (на какое прерывание можно сейчас не реагировать, на какое надо реагировать всегда)

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

В целом, комплексное решение задач планирования в ОС определяет основные эксплуатационные качества каждой конкретной системы.

Неправильное планирование приводит к деградации системы.

Дисциплина обслуживания очереди:

- простейшая – FIFO (было на старых машинах. Сложилось исторически)

- по приоритету ()

- с учетом предполагаемого времени выполнения процесса, объема операций ввода/вывода и так далее.

(если задача большая и в\в не понадобится 3 часа, то можно запустить что-нибудь другое, чему в\в нужен)

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

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

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

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

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: