Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 156
- 157
- 158
- 159
- 160
- …
- следующая ›
- последняя »