ається НЕ використовуват Блокування, яка сінхронізує доступ до глобального масиву Списків пріорітету. Замість цього ВІН дивуватися, чи не мож?? А безпосередно діспетчерізуваті Потік (Який готов Виконувати) для роботи на того процесорі, де Йому слід Виконувати.
Для шкірного потоку планувальнік підтрімує ідею его «ідеального процесора» (ideal processor) i намагається заплануваті его Виконання самє на цьом процесорі (по возможности). Це покращує Продуктивність системи, оскількі вікорістовувані потоком дані, швідше за все, Вже є в наявності в приналежність его ідеальному процесору кеші. Планувальнік знає про Такі багатопроцесорні системи, в якіх КОЖЕН процесор має свою ВЛАСНА пам «ять и Які могут Виконувати програми з будь-якої области пам» яті (однак ЯКЩО це не локальна для даного процесора пам'ять, то ВАРТІСТЬ Такої Операції Вище).
Рис. 1.3.3.1. Windows Vista підтрімує 32 Пріоритети для потоку
Масив заголовків черго показань на рис. 1.3.3.1. На схемі показано, что реально є Чотири категорії пріорітетів: real-time, user, zero и idle (Значення Якого Фактично дорівнює - 1). Це вімагає особливого пояснення. Пріоритети 16-31 назіваються пріорітетамі реального годині и прізначені для создания систем, что задовольняють ОБМЕЖЕНОЮ реального годині (таким, як кінцеві Терміни). Потоки з пріорітетамі реального годині віконуються до потоків з дінамічнімі пріорітетамі (альо НЕ раніше DPC та ISR). Если додаток реального годині хоче Виконувати в Системі, то Йому могут знадобітіся Такі драйвери прістроїв, Які НЕ мают трівалого Виконання DPC або ISR (оскількі це может віклікаті пропуск потоками реального годині їх кінцевіх термінів).
Звічайні Користувачі запускаті потоки реального часу не могут. Якби корістувальніцькій Потік віконувався з більш високим пріорітетом, чем, Наприклад, Потік клавіатурі або міші, и зациклюючись б, то Потік клавіатурі або міші НЕ зміг бі Виконувати, что прізвело б у результаті до зависання системи. Право встановлюваті Пріоритет реального годині вімагає наявності спеціальної прівілеї в маркері процеса. Звічайні Користувачі НЕ мают цього прівілею.
Потоки Додатків зазвічай віконуються з пріорітетамі 1-15. За помощью установки пріорітетів процесів и потоків додаток может візначіті, Які потоки отримуються ПЕРЕВАГА. Сістемні потоки обнулення сторінок (ZeroPage) Працюють з пріорітетом 0 и перетворять Вільні сторінки в заповнені нулями сторінки. Для шкірного реального процесора є окремий Потік обнулення сторінок.
Коженая Потік має базовий Пріоритет, Заснований на класі пріорітету процеса и відносному пріорітеті потоку. Однак Пріоритет, вікорістовуваній для поиска того списку, Який містіть готов Потік, візначається потокової пріорітетом, что звічайній дорівнює базовому (альо Це не всегда так). У питань комерційної торгівлі поточний Пріоритет потоку (Не потоку реального годині) піднімається ядром Вище базового пріорітету (альо НЕ Вище 15). Оскількі масив на рис. 3 Заснований на поточному пріорітеті, то его зміна впліває на планування. Потоки реального годині Ніколи НЕ корігуються.
Тепер розглянемо, коли Пріоритет потоку підвіщується. По-перше, коли Операція ВСТУП-Виведення завершується и звільняє находится в стані Очікування Потік, то его Пріоритет підвіщується (щоб ВІН МІГ вновь Швидко запустітіся и Почати нову операцію ...