Нити с переменными приоритетами

Планирование в Windows NT.

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

В системе определено 32 уровня приоритетов.

Два класса нитей:

Нити с переменными приоритетами (0-15]

Нити “реального” времени (16-31] – высокоприоритетные нити.

Критичны по времени выполнения.

Изначально процессу присваивается базовый приоритет.

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

Нить получает значение приоритета из диапазона базового приоритета.

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

Например, ОС повышает приоритет нити, если до конца не использован квант времени, и уменьшает в противном случае.

• Поддерживается группа очередей (для нитей с переменными приоритетами) – по одной для каждого приоритета. Система просматривает очереди, начиная с самой приоритетной.

• На выполнение выбирается нить с наивысшим приоритетом. Ей выделяется квант времени. Если во время выполнения в очереди появляется нить с более высоким приоритетом, то текущая нить вытесняется. Вытесненная нить становится в очередь готовых впереди тех, что имеют тот же приоритет.

• Если нить исчерпала квант – ее приоритет понижается на единицу и она перемещается в соответствующую очередь

• Повышается значение приоритета – при выходе из состояния ожидания окончания ввода-вывода


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



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