¿Cuál es un buen recurso para comenzar con el desarrollo del controlador de sistema de archivos de Windows para un novato?¿Cuál es un buen recurso para comenzar con el desarrollo del controlador del sistema de archivos de Windows?
Respuesta
Windows NT File System Internals por Rajeev Nagar.
página de recursos del sistema de archivos de OSR en línea (y OSR en línea en general):
El NTFSD lista de correo/foro (también organizada por OSR):
Y a partir de Vista, Windows Driver Kit (WDK), que solía ser llamado el DDK, que ahora incluye los sistemas de archivos instalables (IFS) del kit:
Sólo una cabeza - El desarrollo del sistema de archivos de Windows es extremadamente complejo porque el sistema de archivos está estrechamente integrado con el administrador de memoria de Windows. Es el tipo de cosa que las personas dedican a sus carreras. Solo para que tengas una idea de lo que puedes estar metiendo.
Puede probar Windows Hardware Developer Central, que tiene enlaces a blogs, grupos de noticias, libros y otros recursos útiles para autores de controladores.
También recomiendo descargar e instalar el Windows DDK y explorar algunas de las muestras incluidas. Debe haber varios controladores de esqueleto que se pueden usar como puntos de partida para su trabajo personalizado.
Para los conductores de Windows también ver este blog: http://blogs.msdn.com/doronh/
Para el desarrollo basado en Linux, dos buenos libros vienen a la mente: Linux Device Drivers y Linux Kernel Development. El Linux Device Drivers libro puede ser un poco intimidante, por lo que una buena introducción al Kernel es un punto de partida útil.
El source code de la implementación de Windows del sistema de archivos ext2 puede ser útil.
Pero como Mike B menciona correctamente que este es un área extremadamente compleja para ingresar, recomiendo aprender algunos conceptos básicos de desarrollo de controladores y escribir pocos controladores de sistema de archivos antes de iniciar el desarrollo del controlador del sistema de archivos.
Si hace esto para uso comercial y no con fines de aprendizaje, le sugiero que subcontrate este trabajo. Esta será la forma más rentable de hacerlo.
o cualquier libro más reciente se puede encontrar por un panadero arte. Leí su libro NT Device Driver hace unos 10 años, y finalmente dejó todo en claro.
Por cierto, los libros de hace 10 años o más/menos siguen siendo válidos. No puede usar los ejemplos, pero el modelo básicamente no ha cambiado, simplemente se volvió más complejo en la moda típica de M $.El material de IRP sigue siendo válido.
El material de OSR es bueno, pero caro ... Creo que para comprender completamente el diseño completo, Baker es inmejorable. Además, cualquiera que lea esto tratando de aprender los controladores de Windows, evitaría las cosas de NTFS ... es súper complicado y no tiene nada que ver con lo que necesita para lograr un simple controlador USB o incluso un dispositivo DMA.
para añadir algo de en modo de usuario del sistema de archivos opciones de desarrollo de pilotos:
- Dokan - de código abierto, con interfaces para C, .NET, Java, Ruby, fusible.
- CBFS (Callback File System) - comercial, con buena documentación.
Estas soluciones funcionan como FUSE (Sistema de archivos en el software User Mode para Linux). Hacen todo el trabajo complejo en Kernel y le pasan solicitudes adaptadas a la aplicación en modo usuario.
Dokan carece de algunas características en cuanto a la versión actual, pero creo que es más fácil contribuir y agregar las características que necesita que hacer que el controlador del sistema de archivos desde cero.
Dokan es un buen ejemplo de código de controlador en modo núcleo, también.
- 1. ¿Cuál es un buen recurso para aprender XNA?
- 2. Cómo comenzar con el desarrollo del kernel de Linux
- 3. Desarrollo del controlador de Mac
- 4. ¿Cómo comenzar en el desarrollo de Windows?
- 5. ¿Cuál es un buen recurso para comenzar a escribir un lenguaje de programación, que no está libre de contexto?
- 6. ¿Qué es un buen software de supervisión del rendimiento del servidor para Windows?
- 7. ¿Cuál es la alternativa para ~ (directorio de inicio del usuario) en el símbolo del sistema de Windows?
- 8. ¿Controlador del sistema de archivos del espacio de usuario de Android en un dispositivo no rooteado?
- 9. Tamaño del bloque del sistema de archivos
- 10. ¿Cuál es un buen recurso para aprender el código MASM (no HLA)?
- 11. ¿Cuál es el estado actual del desarrollo de GWT?
- 12. Escuchante del sistema de archivos
- 13. ¿Encriptación del sistema de archivos para iOS?
- 14. ¿Cuál es el equivalente del programa de desvinculación en Windows?
- 15. ¿Cuál es un buen lenguaje de programación para comenzar mi aprendizaje de hijo de primer grado?
- 16. Nuevo en el desarrollo del kernel/controlador de Linux
- 17. Coldfusion, ¿cuál es la ventaja del diseño del controlador frontal sobre el controlador de página?
- 18. ¿Dónde es un buen lugar para comenzar a programar GUI para Windows?
- 19. ¿Qué es un buen sistema de plantillas para PHP?
- 20. Copie dlls locales y del sistema ': ¿cuál es el punto?
- 21. ¿Cuál es el color del sistema de texto deshabilitado?
- 22. ¿Cuál es un buen color de fondo predeterminado para un cuadro de diálogo WPF?
- 23. ¿Cuál es la mejor y más completa implementación de los comandos del sistema Unix para Windows?
- 24. ¿Cuál es el buen punto de partida para el desarrollo de Clojure en Google App Engine
- 25. ¿Qué es un buen entorno de desarrollo Ruby para Mac?
- 26. División de nombres de archivo con el símbolo del separador de archivos del sistema
- 27. ¿Cuál es el mejor recurso para aprender (N) ASM?
- 28. Para comenzar con el desarrollo de juegos usando js/html5
- 29. ¿Cuál es el trabajo del controlador en MVC?
- 30. ¿Cuál es un buen tamaño de imagen nativa para usar con un control deslizante de ancho completo (100% del navegador)?