Können die Windows-Treiber werden in Python geschrieben?
Können Windows-Treiber werden in Python geschrieben?
- danke an alle für Eure guten Antworten 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Windows-Treiber werden in Python geschrieben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja. Sie können nicht erstellen Sie die "classic" - kernel-Modus-Treiber. Allerdings, beginnend mit Windows XP, Windows bietet eine User-Mode Driver Framework. Sie können nicht alles tun, natürlich - jeder Fahrer verwendet beim starten das OS hat offensichtlich zu sein kernel-Modus. Aber mit UMDF, müssen Sie nur implementieren von COM-Komponenten.
Neben der boot-time-Treiber, Sie können auch nicht schreiben UMDF Treiber:
Endgültige Antwort wird nicht ohne die Einbettung von einem Dolmetscher in Ihrer ansonsten C/assembly-Treiber. Es sei denn, jemand hat einen Rahmen zur Verfügung, dann ist die Antwort: Nein. Sobald Sie die Dolmetscherin und-Bindungen im Ort, dann der rest der Logik kann man in Python.
Jedoch, das schreiben von Treibern ist eines der Dinge, für die C am besten geeignet ist. Ich kann mir vorstellen das daraus resultierende Python-code Aussehen würde, eine ganze Menge wie C-code und die Niederlage der Zweck der interpreter-overhead.
Ein guter Weg, um Einsicht zu gewinnen, warum ist dies praktisch unmöglich ist, durch das Lesen Microsoft Beratung auf die Verwendung von C++ - Treibern. Als Ableitung von C, die Verwendung von C++ zu sein scheint unkompliziert. Die In der Praxis nicht so.
Zum Beispiel, müssen Sie entscheiden, für jede Funktion (und wirklich jede Montage-Anleitung), ob es in auslagerungsfähigen oder nicht auslagerbarer Speicher. Dies erfordert Erweiterungen zu C, die sorgfältige Nutzung der neuen C++ - features, oder in diesem Fall eine spezielle Erweiterung, die Python-Sprache und VM. Neben der Treiber-kompatible VM hätte auch zum Umgang mit den verschiedenen IRQLs - es gibt eine Hierarchie von "levels", die einschränken, was Sie können und nicht tun können.
Python läuft in einer virtuellen Maschine, also keine.
ABER:
Könnten Sie schreiben Sie einen compiler, übersetzt Python-Quelltext zu Maschinensprache. Sobald Sie das getan haben, können Sie es tun.
Ich weiß nicht, die Einschränkungen für Treiber in windows (memory allocation schemes, dynamische laden von Bibliotheken und alle), aber Sie können zum einbetten von python-interpreter in Ihre Treiber, an welcher Stelle Sie können tun, was Sie wollen. Nicht, dass ich denke, es ist eine gute Idee 🙂
Niemals nie sagen, aber äh.. keine
Könnten Sie in der Lage sein, zu hacken, etwas zusammen zu laufen im user-mode, Teile der Treiber in python. Aber kernel-mode-Zeugs kann nur getan werden, die in C oder assembly.
Nein können Sie nicht. Windows-Treiber müssen in einer Sprache geschrieben, die können
Dann wieder, es gibt nichts hindert Sie schreiben einen compiler, der python übersetzt, um Maschinen-code 😉