Scheduler von Windows und Linux: wie schnell

#1858444
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.
Gast #1858562
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
Gast #1858603
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>)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren