3c05a905

Приоритеты потоков


В этом разделе описывается система приоритетов потоков в RTSS и Win32 подсистемах.  

RTSS подсистема

RTSS подсистема не имеет понятия классов приоритетов, поэтому потоки всех RTSS-процессов состязаются за процессорное время только на основании приоритетов потоков. Поток в RTSS может иметь один из 128 уровней приоритета. Потоки выполняются в соответствии с приоритетом, а потоки одного приоритета – по принципу FIFO (first in-first out). Потоки не квантуются по времени. Это означает, что исполняющийся поток будет выполняться, до тех пор, пока не освободит CPU или внешнее событие не подготовит поток с более высоким приоритетом. Планировщик RTSS использует протокол продвижения приоритета для предотвращения инверсии приоритетов.

Win32 подсистема

Win32 RTX программа начинает исполняться в real-time классе приоритета. RTX обеспечивает соответствие между приоритетами в Win32 и RTSS. Однако, планировщик Win32 не исключает инверсии приоритетов.

В таблице 1 показано, как имена приоритетов RTSS транслируются в приоритеты Win32 при вызове функции RtSetThreadPriority из Win32 программы.

Таблица 1.

RTSS Symbolic Priority Name RTSS Value Windows NT Symbolic Priority Name for Real-Time Priority Class Win32 Value
RT_PRIORITY_MIN 0 THREAD_PRIORITY_IDLE  16
RT_PRIORITY_MIN + 1  1 THREAD_PRIORITY_LOWEST 22
RT_PRIORITY_MIN + 2  2 THREAD_PRIORITY_BELOW_NORMAL 23
RT_PRIORITY_MIN + 3  3 THREAD_PRIORITY_NORMAL 24
RT_PRIORITY_MIN + 4  4 THREAD_PRIORITY_ABOVE_NORMAL 25
RT_PRIORITY_MIN+ 5 …+ 126  5…126 THREAD_PRIORITY_HIGHEST 26
RT_PRIORITY_MAX  127 THREAD_PRIORITY_TIME_CRITICAL 31

Например, вызов RtSetThreadPriority(Thread,RT_PRIORITY_MIN+1) преобразуется в SetThreadPriority(Thread, THREAD_PRIORITY_LOWEST)

Если Win32 программа вызывает RtGetThreadPriority(), возвращается real-time приоритет, указанный в вызове RtSetThreadPriority().

В таблице 2 показано, как преобразуются вызовы Win32 “set” и “get” в RTSS подсистеме.



Начало  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий