Процессы в Windows
Страница 3. Приоритеты


 

Приоритеты

В Windows существует 32 уровня приоритета, от 0 до 31. Они группируются так: 31 - 16 уровни реального времени; 15 - 1 динамические уровни; 0 - системный уровень, зарезервированный для потока обнуления страниц (zero-page thread).

При создании процесса, ему назначается один из шести классов приоритетов:

Real time class (значение 24),

High class (значение 13),

Above normal class (значение 10),

Normal class (значение 8),

Below normal class (значение 6),

и Idle class (значение 4).

В Windows NT/2000/XP можно посмотреть приоритет процесса в Task Manager.

Above normal и Below normal появились начиная с Win2000.

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

Normal: такой же как и у процесса;

Above normal: +1 к приоритету процесса;

Below normal: -1;

Highest: +2;

Lowest: -2;

Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.

Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.

В следующей таблице показаны приоритеты процесса, относительный и базовый приоритеты потока.

Приоритет потока

Класс процесса

Класс процесса

   

Idle class

Below normal class

Normal class

Above normal class

High class

Real time class

1

 

Idle

Idle

Idle

Idle

Idle

 

2

 

Lowest

         

3

 

Below ...

         

4

Idle class

Normal

Lowest

       

5

 

Above ...

Below ...

       

6

Below normal class

Highest

Normal

Lowest

     

7

   

Above ...

Below ...

     

8

Normal class

 

Highest

Normal

Lowest

   

9

     

Above ...

Below ...

   

10

Above normal class

   

Highest

Normal

   

11

       

Above ...

Lowest

 

12

       

Highest

Below ...

 

13

High class

       

Normal

 

14

         

Above ...

 

15

         

Highest

 

15

 

Time critical

Time critical

Time critical

Time critical

Time critical

 

16

           

Idle

17

             

18

             

19

             

20

             

21

             

22

           

Lowest

23

           

Below ...

24

Real time class

         

Normal

25

           

Above ...

26

           

Highest

27

             

28

             

29

             

30

             

31

           

Time critical

Привязка к процессорам

Если операционная система выполняется на машине, где установлено более одного процессора, то по умолчанию, поток выполняется на любом доступном процессоре. Однако в некоторых случаях, набор процессоров, на которых поток может работать, может быть ограничен. Это явление называется привязкой к процессорам (processor affinity). Можно изменить привязку к процессорам программно, через Win32-функции планирования.

 
« Предыдущая статья   Следующая статья »