Архитектура современных операционных систем

113 Класс приоритета позволяет косвенным образом задать базовый приоритет процесса (табл. 4.5.), а базовый приоритет процесса в свою очередь уже опре- деляет приоритет потоков процесса. Имеется 31 уровень приоритета выполне- ния потоков (от 1 до 31), но явно назначить его потокам нельзя. Табл. 4.5. Класс приоритета Базовый приоритет RealTime_Priority_Class High_Priority_Class Normal_Priority_Class Idle_ Priority_Class 24 13 8/7 4 Idle_ Priority_Class – процессы, работающие в фоновом режиме, когда нет никакой другой работы. Обычно в качестве фоновых процессов запускают вы- числительные задачи. RealTime_Priority_Class – процессы с наибольшим приоритетом. Использу- ется только для управления процессами реального времени. Следует очень осторожно использовать этот класс приоритета, потому что многие системные процессы, например Task Manager, работают в High_Priority_Class. По умолчанию система выбирает для процесса Normal_Priority_Class, при- чем если он работает в оперативном режиме, т.е. взаимодействует с пользова- телем, то базовый приоритет принимается равным 8, иначе - 7. Потоки Windows NT – многопотоковая система, поэтому время CPU выделяется потокам. Каждый поток имеет уникальный идентификатор TID, область памяти для сохранения содержимого регистров ЦП, несколько стеков, область памяти, которая используется библиотеками и стандартно используемыми функциями. Перечисленные 3 области называют контекстом потока. Windows NT реализует вытесняющую многозадачность, поэтому выполне- ние активного потока может быть прервано в следующих случаях:

RkJQdWJsaXNoZXIy MTY0OTYy