Wie ist das schlafen implementiert auf OS-Ebene?

Ich bin einfach nur interessiert, wie sleep(time in ms) - Implementierung in einer C-Bibliothek oder grundsätzlich auf OS-Ebene...

Ich vermute...

  1. Werden können, die auf der Grundlage der Prozessor-Geschwindigkeit, die Sie tun, eine while-Schleife von nop ' s (ich bin nicht sicher, ob die Schlaf-Zeit wird genau sein)...
  2. Irgendein spezielles register im Prozessor, wo Sie schreiben, der Wert und der Prozessor einfach Stoppt nach der angegebenen Zeit (das wäre sehr ineffizient, da der Prozessor kann nicht ausgeführt werden, auch andere Programme).

Irgendwelche Hinweise? Wahrscheinlich C-Bibliothek-Quellcode erklären kann? Ich bin nicht allzu insbesondere darüber, wie "C" ist, es umzusetzen... ich Frage mich nur allgemein, wie Sie die "sleep ()" - Funktion ist implementiert.

InformationsquelleAutor FatDaemon | 2009-11-12
Schreibe einen Kommentar