Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Материалы по конспектам 2011.docx
Скачиваний:
13
Добавлен:
21.04.2019
Размер:
967.53 Кб
Скачать

36. Планирование и диспетчеризация

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

Осуществляется на основе информации, хранящейся в системе.

При планировании решается 2 задачи:

1) определение момента t смены актив потока

2) выбор потока из очереди готовых (как правило, тех, что в ОЗУ):

- динамически (online);

- статически (offline).

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

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

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

Алгоритмы планирования:

- на основе квантования (фикс/нефикс, штрафы, изменение длительности кванта каждого процесса, LIFO, FIFO, RR (round robin));

- на основе приоритетов.

Выбирается задача с наивысшим приоритетом, убирается по-разному.

Абсолютный приоритет – может прерывать до завершения (возможно вложенное выполнение).

Относительный приоритет – по крайней мере до логического конца (до конца кванта времени).

При планировании в ОС общего назначения по умолчанию работает относительная схема приоритетов. В ОС РВ работает схема абсолютных приоритетов.

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

37. Алгоритмы планирования

1. На основе квантования – передача происходит либо по завершении процесса, либо при переходе процесса в ожидание, либо при завершении времени квантования, либо при выходе с ошибкой. Квантование выполняется во всех системах с разделением времени. Величина кванта может быть фиксированной либо изменяющейся. Изменение времени кванта может зависеть от стадии в жизненном цикле процесса и связано с оптимизацией

Приоритеты: абсолютные, относительные

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

Вытесняющая (retentive) и невытесняющая (non-reentive) многозадачность

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

«-» - может произойти неконтролируемый захват ресурсов в монопольное пользование.

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

«-» - задача может не успеть выполниться.

Плюсы обратно.

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