Hallo
Ich bin momentan dran, den Keyboardtreiber zu schreiben. Ich initialisiere das Keyboard (einfach mal leeren) und hänge eine Funktion an den Keyboard-Interrupt - diese Funktion ist der eigentliche Keyboardtreiber. Nun, da das Ganze ja vom Interrupt gesteuert wird, entfällt dort ein unsauberes Pollen. Wie wird nun aber eine Shell realisiert? Die Shell sollte ja an die Eingaben des Keyboards kommen. Wie ich bei ein paar Shellansätzen gesehen habe, wird dort immer wieder geloopt, bis ein neues Zeichen im Keyquery ist. Gibt es da nicht-pollende Lösungen ?
Es geht mir nicht um den Code, sondern rein um eine theoretische Implementation. Bei meinem OS polle ich per Syscall eine Funktion im Kernel an (nicht 0x60 und 0x64, sondern eine Variable) und lese dort den Wert aus. Dieser Syscall für die Variable muss ich aber pollend realiseren (Da ich bisher Nichts besseres weiss). Genau das möchte ich verhindern.
Wäre um euer Wissen froh.
Gruss Simon