Funktion:
Der SimIO-Treiber ist ein Windows-Kernelmode-Treiber, der
Zugriffe auf den IO-Adressbereich der 80x86-CPUs registrieren
und bei Bedarf wieder in die Hardware hinein abspielen kann.
Der Treiber besitzt ein API-Interface für grundlegende
atomaren Operationen, die Anwendungslogik sitzt in einem
speziellen Windows-Programm, das den Treiber ansteuert.
SimIO entstand als Debughilfe für ein kompliziertes
Hardwareproblem, und ist sicher im Moment für niemanden von
Nutzen. Die verwendeten Techniken lassen sich aber auf die
Überwachung und Simulation der Aktivität von anderen
PC-Hardwarekomponenten anwenden.
Umsetzung:
Auf ein speziellen API-Kommando hin setzt der Treiber Hooks
auf die IO-Routinen in der WindowsNT HAL-Schicht. Ab diesem
Zeitpunkt werden alle Schreib- und Lesevorgänge in einem
großen, internen Puffer aufgezeichnet. Der Puffer kann durch
API-Befehle ausgelesen werden, und wieder an die IO-Ports
zurückgeschrieben werden. Dabei findet optional eine
Synchronisation mit parallel vorgenommenen Schreibvorgängen
statt. (Ich merke es schon selbst: für eine wirklich
verständliche Darstellung am besten mit mir Kontakt
aufnehmen! :-)
|