Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы.кр1.МОС_SPECIAL EDITION.doc
Скачиваний:
25
Добавлен:
23.11.2019
Размер:
3.44 Mб
Скачать

38. Преимущества и недостатки вытесняющих алгоритмов планирования

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

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

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

Одна программа не может монопольно завладеть всеми ресурсами и вызвать зависание - повышение надёжности системы.

Упрощение разработки ПО (переключение задач полностью выполняет ОС).

-Недостатки:

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

Проблемы совместного использование данных.

39. Преимущества и недостатки невытесняющих алгоритмов планирования

Невытесняющие (non-preemptive) алгоритмы основаны на том, что активному потоку позволяется выполняться, пока он по собственной инициативе не отдаст управление операционной системе, которая выбирает из очереди другой готовый к выполнению поток.

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

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

Быстрое переключение задач..

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

3. Легко решаются проблемы совместного использования данных.

-Недостатки:

Одна программа может не отдать управление ОС и монопольно владеть ресурсами - причина зависаний.

Повышенные сложность разработки ПО и требования к квалификации разработчиков.

40. Алгоритмы планирования основанные на квантовании

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

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

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

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

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

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

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

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

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

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