Dies geschieht durch den Kernel-Scheduler. Wenn ein Prozess zur Ausführung geplant ist, wird die Zeit, zu der er ausgeführt wird, zur Gesamtzahl für diesen Prozess addiert. Der Scheduler wählt einen Prozess aus, der je nach Betriebssystem und Konfiguration 100 bis 1000 Mal pro Sekunde ausgeführt wird. (Diese Zeit ist die Zeitscheibe.)
A benötigt sleep(10)
weniger als eine Mikrosekunde CPU-Zeit, da der Prozess angehalten wird. Der Scheduler wählt dann einen anderen Prozess aus, um mit der Ausführung zu beginnen (oder wenn es keinen Prozess gibt, der betriebsbereit ist, kann sich die CPU im Leerlauf befinden). Für den in 10
Sekunden ablaufenden Prozess wird dann ein Timer erstellt . Zu diesem Zeitpunkt wählt der Scheduler dann den Prozess aus, der in der nächsten verfügbaren Zeitscheibe auf der CPU ausgeführt wird.
Bei Vorgängen, die Datei-E / A-Vorgänge betreffen, wird der Prozess ebenfalls angehalten, während die CPU auf die Bereitschaft der Festplatte oder des Netzwerks wartet, sodass sie nicht viel CPU-Zeit beansprucht.
Operationen, die CPU-Zeit in Anspruch nehmen, wären solche, die Variablen lesen / schreiben, numerische mathematische Operationen ausführen, Stringvariablen, Schleifen und if-Anweisungen erstellen und scannen.
Es gibt keine einfache Formel, um zu bestimmen, wie viel CPU-Zeit von einem bestimmten Programm verwendet wird. Das hängt davon ab, was genau das Programm macht. Die typische Webseite, die nur eine Datenbank liest / schreibt, benötigt nicht viel CPU-Zeit.