Xairro OS: Die Bundeskanzlerin verkauft Würstchen
Donnerstag, 2. Oktober 2008Hey!
Ich habe ein bisschen am Betriebssystem Xairro OS gearbeitet. Ich bin gerade dabei, die IRQs abzufangen. Dabei ist mir etwas ziemlich komisches untergekommen.
Erstmal für die Laien: Im PC steckt ein Chip namens PIC, der (im Prinzip) 16 Kanäle hat. Wenn ein Signal auf ein Kanal kommt, wird eine Unterbrechungsroutine beim Prozessor eingereicht. Die Signale werden von bestimmter Hardware gesendet. So sitzt am Ende des Kanal 0 ein Timerchip (PIT) und der Kanal 1 wird vom Tastaturcontroller (KBC) (der übrigens auch viel mehr macht, z.B. kann man über den den PC resetten) angesteuert wird.
Nun habe ich angefangen die Tastatursignale auszuwerten. Dabei habe ich die ganze Zeit an Kanal 0 gelauscht. Der aufmerksame Leser wird feststellen: Kanal 0 ist garnicht mit dem KBC verbunden. Zu erwarten wäre theoretisch, das dann nix ankommt, aber so war es nicht! Der Code hat wahrhaftig funktioniert! Aber das kann nicht sein, das ist ungefähr krank wie wenn die Bundeskanzlerin im Bundestag plötzlich aufsteht und Currywurst verkauft. Es ist einfach unlogisch.
Okay, wollen wir nun mal auf die rationale Ebene zurückkommen. Es muss dazu ja eine Erklärung geben. Die ist so unspektakulär, dass es sich eigentlich nicht lohnt, die Begründung aufzuschreiben. Die Routine an Kanal 0 wurde alle 18,222 mal in der Sekunde aufgerufen. Und zufällig war dann zwischenzeitlich mal der Tastaturpuffer voll. Der wurde dann ganz regulär ausgelesen. Aber nicht auf Anweisung des KBC.
Wer mitgedacht hat und sich auskennt, wird bemerken, dass es sich hier um ein Polling mit Pausen zur Prozessorschonung handelt
Vielleicht hat der Würstchenverkauf im deutschen Bundestag ja auch eine logische Erklärung…