Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Динамическое повышение приоритета после завершения ввода-вывода

Читайте также:
  1. D. 20.1.1). - Завещание есть правомерное выражение воли, сделанное торжественно для того, чтобы оно действовало после нашей смерти.
  2. II. ОСНОВНЫЕ ФАКТОРЫ РАДИАЦИОННОЙ ОПАСНОСТИ И МЕДИЦИНСКИЕ ПОСЛЕДСТВИЯ ОТ ИХ ВОЗДЕЙСТВИЯ НА ОРГАНИЗМ.
  3. III. После закрытия дверей, мигает ЛСД (двери пытаются открыться в одном вагоне).
  4. XX съезд КПСС о культе личности Сталина: понятие, причины возникновения, последствия, меры по преодолению.
  5. Автоматическое повторное включение после АЧР
  6. Алгоритмы проверки свойств последовательности
  7. Анализ последствий изменения кредитной политики
  8. Атомы в молекуле располагаются в определенной последовательности согласно их валентности. Валентность атома углерода в органических соединениях равна четырем.
  9. АЦП последовательного счета.
  10. Аэродинамическое качество крыла

Динамическое повышение приоритета

Приоритеты реального времени

Вы можете повысить или понизить приоритет потока любого приложения в динамическом диапазоне; однако, чтобы задать значение из диапазона реального времени, у вас должна быть привилегия Increase Scheduling Priority. Учтите, что многие важные системные потоки режима ядра выполняются в диапазоне приоритетов реального времени. Поэтому, если потоки слишком долго выполняются с приоритетом этого диапазона, они могут блокировать критичные системные функции (например в диспетчере памяти, диспетче­ре кэша или драйверах устройств).

 

Windows может динамически повышать значение текущего приоритета по­тока в одном из пяти случаев:

· после завершения операций ввода-вывода;

· по окончании ожидания на событии или семафоре исполнительной си­стемы;

· по окончании операции ожидания потоками активного процесса;

· при пробуждении GUI-потоков из-за операций с окнами;

· если поток, готовый к выполнению, задерживается из-за нехватки про­цессорного времени.

Динамическое повышение приоритета предназначено для оптимизации общей пропускной способности и отзывчивости системы, а также для уст­ранения потенциально «нечестных» сценариев планирования. Однако, как и любой другой алгоритм планирования, динамическое повышение приори­тета — не панацея, и от него выигрывают не все приложения.

ПРИМЕЧАНИЕ Windows никогда не увеличивает приоритет потоков в диапазоне реального времени (16-31). Поэтому планирование таких потоков по отношению к другим всегда предсказуемо. Windows считает: тот, кто использует приоритеты реального времени, знает, что делает.

Windows временно повышает приоритет потоков по окончании определен­ных операций ввода-вывода, поэтому у потоков, ожидавших завершения та­ких операций, больше шансов немедленно возобновить выполнение и об­работать полученные данные. Вспомните: после пробуждения потока остав­шийся у него квант уменьшается на одну единицу, так что потоки, ожидав­шие завершения ввода-вывода, не получают неоправданных преимуществ. Хотя рекомендованные приращения в результате динамического повышения приоритета определены в заголовочных файлах DDK, реальное приращение определяется драйвером устройства. Именно драйвер устройства указывает — через функцию ядра IoCompleteRequest — на необходимость динамического повышения приоритета после выполнения запроса на ввод-вывод. Заметьте, что для запросов на ввод-вывод, адресован­ных устройствам, которые гарантируют меньшее время отклика, предусмат­риваются большие приращения приоритета.

Приоритет потока всегда повышается относительно базового, а не теку­щего уровня. Как показано на рис. 6-22, после динамического повышения приоритета поток в течение одного кванта выполняется с повышенным уровнем приоритета, после чего приоритет снижается на один уровень и потоку выделяется еще один квант. Этот цикл продолжается до тех пор, пока приоритет не снизится до базового. Поток с более высоким приоритетом все равно может вытеснить поток с повышенным приоритетом, но прерванный поток должен полностью отработать свой квант с повышенным приорите­том до того, как этот приоритет начнет понижаться.

Как уже отмечалось, динамическое повышение приоритета применяется только к потокам с приоритетом динамического диапазона (0-15). Незави­симо от приращения приоритет потока никогда не будет больше 15. Иначе говоря, если к потоку с приоритетом 14 применить динамическое повыше­ние на 5 уровней, его приоритет возрастет лишь до 15. Если приоритет по­тока равен 15, он остается неизменным при любой попытке его повышения.


<== предыдущая страница | следующая страница ==>
Дисциплины планирования | Учет квантов времени

Дата добавления: 2014-03-11; просмотров: 418; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.007 сек.