In Windows 7 verwendeter Planungsalgorithmus

21244
arulappan

Was ist der in Windows 7 verwendete Planungsalgorithmus?

6
Dies ist eine äußerst vage und offene Frage. Was möchtest du wissen? David Schwartz vor 11 Jahren 0
Viele Scheduling-Algorithmen wie First Come First Serv, Priority-basiert, Round Robin sind vorhanden. Gibt es einen bestimmten Algorithmus in diesem Betriebssystem? arulappan vor 11 Jahren 1
Es ist eine [mehrstufige Feedback-Warteschlange] (http://en.wikipedia.org/wiki/Multilevel_feedback_queue) mit einigen Änderungen. David Schwartz vor 11 Jahren 1
@arulappan: Planungsalgorithmus für welche Art von Elementen? akira vor 11 Jahren 0
@akira: Zum Planen von Aufgaben für den Prozessor in der "Multitasking" -Umgebung. arulappan vor 11 Jahren 1
@arulappan: stell das in deine Frage. akira vor 11 Jahren 1

3 Antworten auf die Frage

12
Dougvj

Windows verwendet eine Round-Robin-Technik mit einer mehrstufigen Rückmeldungswarteschlange für die Prioritätsplanung seit NT. In Vista wurden jedoch einige intelligente Heuristikverbesserungen vorgenommen, um sicherzustellen, dass einige Prozesse, z. B. das Defragmentierungsprogramm, eine niedrigere Priorität haben Vordergrundprozesse nicht stören. Meines Wissens verwendet Windows 7 den gleichen Scheduler wie Vista, auch wenn geringfügige Verbesserungen vorgenommen wurden.

Für Details - soweit sie veröffentlicht wurden - siehe * Windows Internals * von Mark Russinovich et al. Richard vor 11 Jahren 2
4
Mr. Elusive

Windows NT-basierte Betriebssysteme verwenden a multilevel feedback queue. Ich denke also, dass Windows 7 auch denselben Planungsalgorithmus verwenden muss.
Der Scheduler wurde in Windows Vista um einen Prioritäts-Scheduler erweitert und verwendet das Zykluszählerregister moderner Prozessoren, um genau zu verfolgen, wie viele CPU-Zyklen ein Thread ausgeführt hat.
In ähnlicher Hinsicht kann es auch einige Verbesserungen in Windows 7 geben. Der Algorithmus kann jedoch derselbe sein.

0
Everett

User Mode Scheduling (UMS) ist ein einfacher Mechanismus, mit dem Anwendungen eigene Threads planen können. Eine Anwendung kann im Benutzermodus zwischen UMS-Threads wechseln, ohne den System-Scheduler zu involvieren, und die Kontrolle über den Prozessor wieder erlangen, wenn ein UMS-Thread im Kernel blockiert. UMS-Threads unterscheiden sich von Fasern dadurch, dass jeder UMS-Thread seinen eigenen Thread-Kontext hat, anstatt den Thread-Kontext eines einzelnen Threads gemeinsam zu nutzen. Die Möglichkeit, im Benutzermodus zwischen Threads zu wechseln, macht UMS effizienter als Thread-Pools, um eine große Anzahl von Workitems mit kurzer Dauer zu verwalten, für die nur wenige Systemaufrufe erforderlich sind.

Warum denken Sie, dass diese Frage zu UMS war? David Schwartz vor 11 Jahren 1