Система OS/2

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

Существует 4 приоритетных класса:

- критический (time critical) – потоки, выполняющие задачи управления сетью и тд

- серверный (server) – обслуживают серверные приложения

- стандартный (regular) – обслуживают пользовательские программы

- о статочны й (idle) – экранная заставка, например.

В каждом классе – 32 приоритетных уровня.

· Поток из менее приоритетного класса не может быть выбран, пока есть поток более приоритетного класса.

· Внутри класса потоки выбираются по приоритетам.

· Потоки с одинаковым приоритетом – в циклическом порядке.

Планировщик динамически меняет приоритеты потоков, если

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

· Поток ушел на ввод-вывод. Когда вернется – у него будет максимальный для своего класса приоритет

· Поток поступил на выполнение

Величина кванта времени здесь тоже динамическая (зависит от загрузки системы и интенсивности подкачки) – от 32 мс до 65536 мс. Если поток был прерван до истечения кванта, то в след раз квант увеличится на 1 таймер (около 32 мс), и так пока не достигнет предела, прописанного в текущих настройках системы.


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



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