Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Механизм приоритетов в операционной системе Windows. Класс приоритета процесса. Относительный приоритет потока. Базовый и динамический приоритеты потока.




 

В Windows предусмотрено 32 уровня приоритета — от 0 до 31. Эти значения группируются так:

шестнадцать уровней реального времени (16–31);

пятнадцать варьируемых (динамических) уровней (1–15);

один системный уровень (0), зарезервированный для потока обнуления страниц (zero page thread).

Уровни приоритета потока назначаются с учетом двух разных точек зрения — Windows API и ядра Windows. Windows API сначала упорядочивает процессы по классам приоритета, назначенным при их создании [Real&time(реального времени), High (высокий), Above Normal (выше обычного), Normal (обычный), Below Normal (ниже обычного) и Idle (простаивающий)], а затем — по относительному приоритету индивидуальных потоков в рамках этих процессов [Time&critical (критичный по времени), Highest (наивысший), Above&normal (выше обычного), Normal (обычный), Below&normal (ниже обычного), Lowest (наименьший) и Idle (простаивающий)].

Базовый приоритет каждого потока в Windows API устанавливается, исходя из класса приоритета его процесса и относительного приоритета самого потока. Если у процесса только одно значение приоритета (базовое), то у каждого потока их два: текущее и базовое. Решения, связанные с планированием, принимаются на основе текущего приоритета. Как поясняется в следующем разделе, в определенных обстоятельствах система может на короткое время повышать приоритеты потоков в динамическом диапазоне (1–15). Windows никогда не изменяет приоритеты потоков в диапазоне реального времени(16–31), поэтому у таких потоков базовый приоритет идентичен текущему.

Динамические приоритеты имеют значения в диапазоне 1-15. Они названы динамическими, потому что ОС может динамически изменять приоритет потока в этом диапазоне.

Поскольку потоки, работающие в рамках одного процесса, могут быть неоднородны, существует также относительный приоритет потоков в рамках данного процесса. Стоит помнить, что относительный приоритет потока на то и относительный, что влияет только на работу потока в рамках данного отдельно взятого многопоточного приложения. И если вам нужно, чтобы приоритет потока был более высоким в рамках всех запущенных в системе потоков, придётся поколдовать и над классом приоритета всего приложения.

 


Поделиться:

Дата добавления: 2015-01-29; просмотров: 130; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты