Jaki jest dobry zasób, aby rozpocząć tworzenie sterowników systemu plików Windows?

Jaki jest dobry zasób, aby rozpocząć tworzenie sterowników systemu plików Windows dla początkujących?

Author: John Topley, 2008-10-18

6 answers

Windows NT File System Internals By Rajeev Nagar.

Strona zasobów systemu plików OSR Online (i ogólnie OSR Online):

Lista dyskusyjna/forum ntfsd (również hostowana przez OSR):

I począwszy od Visty, Windows Driver Kit (WDK), który kiedyś nazywał się DDK, zawiera teraz Installable File Systems (IFS) Kit:

Tylko uwaga-rozwój systemu plików Windows jest niezwykle złożony, ponieważ system plików jest ściśle zintegrowany z menedżerem Pamięci Windows. To jest coś, co ludzie poświęcają karierze. Żebyś wiedział, w co się pakujesz.

 12
Author: Michael Burr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-18 22:51:52

Możesz spróbować Windows Hardware Developer Central, który zawiera linki do blogów, grup dyskusyjnych, książek i innych przydatnych zasobów dla autorów sterowników.

Zalecam również pobranie i zainstalowanie Windows DDK i zbadanie niektórych dołączonych próbek. Powinny istnieć różne sterowniki szkieletowe, które mogą być używane jako punkty wyjścia do niestandardowej pracy.

 5
Author: Charlie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-18 21:58:26

Dla sterowników Windows zobacz również ten blog: http://blogs.msdn.com/doronh/

Dla rozwoju opartego na Linuksie, na myśl przychodzą dwie dobre książki: sterowniki urządzeń Linuksa i rozwój jądra Linuksa . Książka Linux Device Drivers może być nieco zniechęcająca, więc dobre wprowadzenie do jądra jest użytecznym punktem wyjścia.

 1
Author: denis phillips,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-19 00:43:00

Kod źródłowy implementacji systemu plików ext2 systemu Windows może być przydatny.
Ale ponieważ
Mike B poprawnie wspomina, że jest to niezwykle złożony obszar do wprowadzenia, zdecydowanie sugeruję, aby nauczyć się podstawowych koncepcji rozwoju sterowników i napisać kilka sterowników , a nie, zanim rozpoczniesz tworzenie sterowników systemu plików.
Jeśli robisz to do użytku komercyjnego, a nie do celów edukacyjnych, sugerowałbym outsourcing tej pracy.Będzie to najbardziej opłacalny sposób na wynos.

 1
Author: Ilya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:32:35

Ta książka: http://www.amazon.com/Windows-2000-Device-Driver-Book/dp/0130204315/ref=sr_1_1?ie=UTF8&s=books&qid=1246856381&sr=8-1

Lub nowszą książkę, którą znajdziesz u artysty piekarza. Przeczytałem jego książkę NT Device Driver około 10 lat temu i w końcu wszystko wyjaśniło.

BTW, książki sprzed 10 lat lub mniej nadal aktualne. Nie można użyć przykładów, ale model w zasadzie się nie zmienił - po prostu stał się bardziej skomplikowany w typowym m$ modzie. Sprawy IRP / align = "left" /

Rzeczy OSR są dobre - ale drogie... Myślę, że dla pełnego zrozumienia całego projektu Baker nie może być pobity. Ponadto, każdy czytający to po prostu próbuje nauczyć się sterowników Windows - unikałbym rzeczy NTFS... jest to bardzo skomplikowane i nie ma nic wspólnego z tym, czego potrzebujesz, aby osiągnąć prosty sterownik USB, a nawet urządzenie DMA.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-06 05:14:13

Aby dodać opcje tworzenia sterowników systemu plików user-mode:

  • Dokan – open-source, z interfejsami dla C,. Net, Java, Ruby, FUSE.
  • CBFS – System plików zwrotnych) - komercyjny, z dobrą dokumentacją.

Te rozwiązania działają jak FUSE (system plików w trybie użytkownika oprogramowania dla Linuksa). Wykonują wszystkie złożone prace w jądrze i przekazują dostosowane żądania do aplikacji w trybie użytkownika.

Dokan nie posiada pewnych funkcji jak dla obecnych wersji, ale myślę, że łatwiej jest do niej dołączyć i dodać potrzebne funkcje niż zrobić sterownik systemu plików od podstaw.

Dokan jest również dobrym przykładem kodu sterownika trybu jądra.

 1
Author: Andrey Moiseev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-23 16:18:27