Операционные системы. Курс лекций



OS/2


Планирование в ОС OS/2 основано на использовании квантования и абсолютных динамических приоритетов. Определены четыре приоритетных класса: критический, серверный, стандартный и остаточный, в каждом из которых имеется 32 приоритетных уровня.

Потоки критического класса имеют наивысший приоритет. К этому классу относятся системные потоки и потоки ядра.

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

Потоки пользователя относятся к стандартному классу.

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

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

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

2)    если поток ушел на выполнение операции ввода/вывода, то после ее завершения он получит наивысшее значение приоритета своего класса.

3)    приоритет потока автоматически повысится, когда он поступит на выполнение.

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




Содержание  Назад  Вперед