Диспетчер задач, дисциплины диспетчеризации, критерии оценки дисциплин диспетчеризации задач.

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

ОС разного типа имеют различные диспетчеры задач,которые работают согласно различным дисциплинам диспетчеризации.

*Дисциплины диспетчеризации

Невытесняющая многозадачность. Заявка выполняется до тех пор, пока сама не отдаст управление диспетчеру задач (Win3.1, Novell до 4.0)
                           

 -                                     


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

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

В ОС общего назначения намерено повышается приоритет нитей, которые в данный момент взаимодействуют с пользователем.
**Алгоритм диспетчеризации в UNIX - пока процесс находится в режим сна, диспетчер задач увеличивает его приоритет каждую секунду. Поэтому при выходе из сна его приоритет максимален.
**Алгоритм диспетчеризации Windows - Приоритет нити задается приоритетом процесса и может колебаться +-2 (32 уровня). После выполнение кванта приоритет понижается и нить уходит в другую очередь. Если нить сама отдала управление, то ее приоритет остается прежним. Если нить - активное окно, то приоритет прибавляется на единицу. Если нить работает в фоновом режиме и выполняет громоздкие вычисления - приоритет понижается. Если нить долго ждет - увеличивается.

Способы гарантируемого обслуживания:
1) Каждому классу процессов(нитей) выделять некую минимальную долю процессорного времени
2) Каждому процессу обеспечить квант времени
3) Каждому процессу столько времени, чтобы закончить выполнение задачи
*Сравнение дисциплин диспетчеризации (критерии)
1) Загрузка ЦП (15-40 средняя, 90-100 полная)
2) Пропускная способность ЦП (число процессов в ед.времени)
3) Время оборота - время выполнения типового процесса
4) Время ожидания - суммарное время, проведенное в очередях
5) Время отклика - временной интервал от запуска процесса до его прорисовки на терминал.

Комментариев нет:

Отправить комментарий