Операционные системы, среды и оболочки. Макаренко С.И. - 158 стр.

UptoLike

Составители: 

11.5.2 Приоритеты
В большинстве операционных систем аппаратные прерывания имеют
приоритеты, которые определяются контроллерами прерываний. Однако ОС
Windows имеет свою аппаратно-независимую шкалу приоритетов, которые
называются уровни запросов прерываний (interrupt request levels, IRQL), и
охватывает не только прерывания, а все события, требующие системной
обработки.
Можно сказать, что в ОС Windows действует двухуровневая схема
планирования. Приоритеты высшего уровня (в данном случае IRQLs)
определяются аппаратными или программными прерываниями, а приоритеты
низшего уровня своем диапазоне от 0 до 31) устанавливаются для
пользовательских потоков, выполняемых на нулевом уровне IRQL, и
контролируются планировщиком.
11.5.3 Планирование потоков
Процедура планирования обычно связана с весьма затратной
процедурой диспетчеризации - переключением процессора на новый поток,
поэтому планировщик должен заботиться об эффективном использовании
процессора. Принадлежность потоков к процессу при планировании не
учитывается, то есть единицей планирования в ОС Windows является именно
поток.
В ОС Windows реализовано вытесняющее приоритетное
планирование, когда каждому потоку присваивается определенное числовое
значение - приоритет, в соответствии с которым ему выделяется процессор.
Потоки с одинаковыми приоритетами планируются согласно алгоритму
Round Robin (карусель).
В системе предусмотрено 32 уровня приоритетов. Шестнадцать
значений приоритетов (16-31) соответствуют группе приоритетов реального
времени, пятнадцать значений (1-15) предназначены для обычных потоков, и
значение 0 зарезервировано для системного потока обнуления страниц
(см. рис. 11.4).
Рис. 11.4. Приоритеты потоков
Чтобы избавить пользователя от необходимости запоминать числовые
значения приоритетов и иметь возможность модифицировать планировщик,
158
                           11.5.2 Приоритеты

     В большинстве операционных систем аппаратные прерывания имеют
приоритеты, которые определяются контроллерами прерываний. Однако ОС
Windows имеет свою аппаратно-независимую шкалу приоритетов, которые
называются уровни запросов прерываний (interrupt request levels, IRQL), и
охватывает не только прерывания, а все события, требующие системной
обработки.
     Можно сказать, что в ОС Windows действует двухуровневая схема
планирования. Приоритеты высшего уровня (в данном случае IRQLs)
определяются аппаратными или программными прерываниями, а приоритеты
низшего уровня (в своем диапазоне от 0 до 31) устанавливаются для
пользовательских потоков, выполняемых на нулевом уровне IRQL, и
контролируются планировщиком.

                     11.5.3 Планирование потоков

     Процедура планирования обычно связана с весьма затратной
процедурой диспетчеризации - переключением процессора на новый поток,
поэтому планировщик должен заботиться об эффективном использовании
процессора. Принадлежность потоков к процессу при планировании не
учитывается, то есть единицей планирования в ОС Windows является именно
поток.
      В ОС Windows реализовано вытесняющее приоритетное
планирование, когда каждому потоку присваивается определенное числовое
значение - приоритет, в соответствии с которым ему выделяется процессор.
Потоки с одинаковыми приоритетами планируются согласно алгоритму
Round Robin (карусель).
       В системе предусмотрено 32 уровня приоритетов. Шестнадцать
значений приоритетов (16-31) соответствуют группе приоритетов реального
времени, пятнадцать значений (1-15) предназначены для обычных потоков, и
значение 0 зарезервировано для системного потока обнуления страниц
(см. рис. 11.4).




                      Рис. 11.4. Приоритеты потоков

     Чтобы избавить пользователя от необходимости запоминать числовые
значения приоритетов и иметь возможность модифицировать планировщик,


                                   158