23. November 2024, 04:36
for (;;) asm volatile ("cli;hlt");
while (end_condition) asm volatile ("hlt");
for (;;){ //Hier die verschiedenen Sachen überprüfen... Zum Beispiel den Tastaturtreiber abfragen, //ob der Benutzer irgendwelche Tasten gedrückt hat //Und jetzt halten wir die CPU bis zum nächsten Interrupt an und sparen dabei etwas Strom. asm volatile ("hlt");}
Niemand sagt, dass im Schleifenrumpf einer Endlosschleife nichts vernünftiges passieren darf. Zum Beispiel, dass die Tastatur abgefragt und der eingegebene Befehl ausgeführt wird.
Eine Shell im Kernel ist sowieso keine Dauereinrichtung.
Code: [Auswählen] //Und jetzt halten wir die CPU bis zum nächsten Interrupt an und sparen dabei etwas Strom. asm volatile ("hlt");
//Und jetzt halten wir die CPU bis zum nächsten Interrupt an und sparen dabei etwas Strom. asm volatile ("hlt");
(die ja meiner meinung nach "unnötig" sprungbefehle aufm prozessor ausführt)
Zitat von: sebi2020(die ja meiner meinung nach "unnötig" sprungbefehle aufm prozessor ausführt) Du wolltest doch den Prozessor möglichst wenig auslasten. Und wenn ich ihn wenig auslaste, spare ich eben Strom.