Was ist eine gute Ressource, um mit der Entwicklung von Windows-Dateisystemtreibern zu beginnen?

8

Was ist eine gute Ressource, um mit der Windows-Dateisystemtreiberentwicklung für einen Neuling zu beginnen?

    
Net Citizen 18.10.2008, 21:39
quelle

6 Antworten

12

Windows NT-Datei System Internals von Rajeev Nagar.

Die OSR Online-Seite mit den Dateisystemressourcen (und OSR Online im Allgemeinen):

Die NTFSD-Mailingliste / das Forum (ebenfalls von OSR gehostet):

Und ab Windows Vista enthält das Windows Driver Kit (WDK), das früher als DDK bezeichnet wurde, jetzt das Kit Installable File Systems (IFS):

Nur ein Hinweis: Die Entwicklung von Windows-Dateisystemen ist äußerst komplex, da das Dateisystem eng in den Windows-Speichermanager integriert ist. Es ist die Art von Dingen, die Menschen Karrieren widmen. Nur damit Sie eine Idee haben, in was Sie hineingehen könnten.

    
Michael Burr 18.10.2008, 22:51
quelle
5

Sie können Windows Hardware Developer Central ausprobieren, das Links zu Blogs, Newsgroups, Büchern und andere nützliche Ressourcen für Treiberautoren.

Ich empfehle auch, das Windows DDK herunterzuladen und zu installieren und einige der mitgelieferten Beispiele zu erkunden. Es sollte verschiedene Skelett-Treiber geben, die als Ausgangspunkt für Ihre benutzerdefinierte Arbeit verwendet werden können.

    
Charlie 18.10.2008 21:58
quelle
1

Windows-Treiber finden Sie auch in diesem Blog: Ссылка

Für die Linux-basierte Entwicklung fallen mir zwei gute Bücher ein: Linux-Gerätetreiber und Linux Kernel-Entwicklung . Das Linux Device Drivers Buch kann ein wenig entmutigend sein, daher ist eine gute Einführung in den Kernel ein nützlicher Ausgangspunkt.

    
denis phillips 19.10.2008 00:43
quelle
1

Der Quellcode der Windows-Implementierung des ext2-Dateisystems könnte nützlich sein.
Aber als Mike B erwähne dies zu Recht, da dies ein extrem komplexer Bereich ist, würde ich dringend empfehlen, einige grundlegende Treiberentwicklungskonzepte zu lernen und einige nicht Dateisystemtreiber zu schreiben, bevor Sie mit der Entwicklung von Dateisystemtreibern beginnen br> Wenn Sie dies für kommerzielle Zwecke und nicht für Lernzwecke tun, würde ich vorschlagen, diese Arbeit auszulagern. Dies wird der kostengünstigste Weg zu gehen.

    
Ilya 19.10.2008 09:03
quelle
1

Dieses Buch: Ссылка

oder jedes neuere Buch, das Sie bei einem Art Baker finden können. Ich habe sein NT Device Driver Buch vor etwa 10 Jahren gelesen und es hat endlich alles klar gemacht.

BTW, die Bücher von vor 10 Jahren oder mehr / weniger noch gültig. Sie können die Beispiele nicht verwenden, aber das Modell hat sich im Grunde genommen nicht geändert - wurde nur in typischer M $ -Methode komplexer. Das IRP-Zeug ist immer noch gültig.

Das OSR-Zeug ist gut - aber teuer ... Ich denke, für ein vollständiges Verständnis des gesamten Designs ist Baker nicht zu schlagen. Jeder, der dies liest, versucht nur Windows-Treiber zu lernen - ich würde die NTFS-Sachen vermeiden ... es ist sehr kompliziert und hat nichts damit zu tun, was man braucht, um einen einfachen USB-Treiber oder sogar ein DMA-Gerät zu realisieren.

>     
Sean 06.07.2009 05:04
quelle
1

So fügen Sie einige Benutzermodus Dateisystemtreiber-Entwicklungsoptionen hinzu:

  • Dokan - Open-Source, mit Schnittstellen für C, .NET, Java, Ruby, FUSE.
  • CBFS (Callback File System) - kommerziell, mit guter Dokumentation.

Diese Lösungen funktionieren wie FUSE (Dateisystem im Benutzermodus für Linux). Sie erledigen die komplexe Arbeit im Kernel und leiten angepasste Anfragen an Ihre Benutzermodus-App weiter.

In Dokan fehlen einige Funktionen wie für die aktuelle Version, aber ich denke, es ist leichter, dazu beizutragen und die benötigten Funktionen hinzuzufügen, als den Dateisystemtreiber von Grund auf neu zu erstellen.

Dokan ist auch ein gutes Beispiel für Kernel-Modus-Treiber-Code.

    
Andrey Moiseev 23.06.2016 16:18
quelle

Tags und Links