Алгоритм планирования, используемый в Windows 7

21215
arulappan

Какой алгоритм планирования используется в Windows 7?

6
Это чрезвычайно расплывчатый и открытый вопрос. Что вы хотите узнать? David Schwartz 12 лет назад 0
Многие алгоритмы планирования, такие как «первым пришел - первым обслужен», «Приоритетный», «Круглый Робин». Есть ли какой-то конкретный алгоритм, используемый в этой ОС? arulappan 12 лет назад 1
Это [многоуровневая очередь обратной связи] (http://en.wikipedia.org/wiki/Multilevel_feedback_queue) с некоторыми изменениями. David Schwartz 12 лет назад 1
@arulappan: алгоритм планирования для каких элементов? akira 12 лет назад 0
@akira: для планирования задач для процессора в среде «Многозадачность». arulappan 12 лет назад 1
@arulappan: вставь это в свой вопрос. akira 12 лет назад 1

3 ответа на вопрос

12
Dougvj

Windows использует технику циклического перебора с многоуровневой очередью обратной связи для планирования приоритетов со времен NT, хотя в Vista были некоторые интеллектуальные эвристические улучшения, чтобы гарантировать, что некоторые процессы, такие как дефрагментатор диска, имеют более низкий приоритет, чтобы не мешать процессам переднего плана. Насколько мне известно, в Windows 7 используется тот же планировщик, что и в Vista, хотя, возможно, были и незначительные улучшения.

Подробности - в той степени, в которой они были опубликованы - см. * Windows Internals * Mark Russinovich et al. Richard 12 лет назад 2
4
Mr. Elusive

Операционные системы на базе Windows NT используют multilevel feedback queue. Итак, я чувствую, что Windows 7 также должна использовать тот же алгоритм планирования.
Планировщик был изменен в Windows Vista с включением планировщика приоритетов, а также для использования регистра счетчиков циклов современных процессоров для точного отслеживания количества циклов ЦП, выполненных потоком.
Аналогичным образом, в Windows 7 также могут быть некоторые улучшения. Но алгоритм может быть таким же.

0
Everett

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

Что заставляет вас думать, что этот вопрос был о UMS? David Schwartz 12 лет назад 1