Forum: PC-Programmierung Scheduler von Windows und Linux: wie schnell


von thomas k. (Gast)


Lesenswert?

hi,
ich würde gerne wissen wie schnell die Scheduler der gängigen 
Desktop-Betriebssysteme sind. Bzw. wie schnell zwischen verschiedenen 
Prozesse umgeschalten wird. Ich hab mal was von 10ms-40ms gehört, kommt 
das hin?
bzw. wo finde ich diese angaben?

von Lord Z. (lordziu)


Lesenswert?

Was du mit 10ms - 40ms gehört hast, sind die "Zeitscheiben" des 
Schedulers. Also die Zeit, die einem Prozess zur Ausführung gegeben 
wird, bevor zu einem anderen Prozess geschaltet wird. Z.B. bei Round 
Robin: [http://de.wikipedia.org/wiki/Round_Robin_%28Informatik%29]

Das Umschalten ansich (was du sicher meinst) sollte wesentlich schneller 
gehen. Wie schnell genau, weiß ich aber auch nicht.

von Georg A. (Gast)


Lesenswert?

Bei Linux sind das die Ticks bzw. Jiffies (entspricht dem define HZ), je 
nach Platform variiert das zwischen 1ms und 10ms, ist alles ein 
Kompromiss zwischen Reaktionsschnelligkeit und Scheduleoverhead. Auf x86 
waren es mal ursprünglich 10ms (HZ=100), dann 1ms (1000), inzwischen 
sinds per Default 4ms (250). Kann man mit Selbercompilieren aber ändern.

Die Zeit für den Kontextswitch hängt natürlich stark von der CPU, aber 
auch vom Algorithmus zum Finden des nächsten Tasks ab, Gibt auch diverse 
Papers, zB.
http://www.cs.rochester.edu/u/cli/research/switch.pdf
http://foss.in/2005/slides/FOSS-kernel-performance_measurement.ppt

von imurlaub (Gast)


Lesenswert?

Windows arbeitet üblicherweise mit einer Schedulergranularität von 10 
msec, kann aber durch Usermodefunktionen auf bis zu 1 msec gebracht 
werden.

(Das sind timeBeginPeriod und timeEndPeriod aus den 
Multimedia-Funktionen der Win32-API, #include <winmm.h>)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.