| Artículos | 01 JUL 2004

WDF (Windows Driver Foundation)

Tags: Histórico
Eugenio Barahona.
Nuevo entorno de desarrollo de drivers para los sistemas operativos Windows 2000, XP, Server 2003 y Longhorn.

La introducción en el mercado de los sistemas operativos Windows 2000 y Windows 98 supuso la introducción en el mercado de un nuevo modelo de desarrollo de drivers, conocido como WDM (Windows Driver Model), que como principal ventaja suponía la compatibilidad a nivel de código fuente para ambos sistemas. Sin duda alguna esta compatibilidad facilitó enormemente a las empresas creadoras de hardware el soporte de los sistemas operativos profesionales y de usuario doméstico, ya que ahora no era preciso desarrollar dos drivers distintos. El mismo código fuente, compilado desde el entorno adecuado, producía un driver compatible con Windows 2000 o con Windows 98. Bien es cierto que se debía poner cuidado en el diseño del driver, debido a que Windows 2000 incluye una versión del sistema Plug and Play más avanzada que la incluida en Windows 98, lo que hace que este último no soporte algunas funciones disponibles desde modo kernel.
En la reciente conferencia WinHEC celebrada por Microsoft, se presentaron a los desarrolladores de drivers varias ponencias dedicadas a la nueva tecnología que facilitará el desarrollo de este tipo de software: Windows Driver Foundation. En la mayoría de los casos WDF realiza una encapsulación del modelo de programación de drivers WDM, aspecto éste que es especialmente reseñable en lo que se refiere al tratamiento de los IRP (IO Request Packets) que hacen referencia al sistema Plug and Play y a la administración de energía. Una de las partes más importantes de cualquier driver es la gestión de las dos clases de IRP mencionadas anteriormente, siendo causa frecuente de cuelgues del sistema una gestión inapropiada de los mismos. Baste decir que la implementación de la gestión de Plug and Play y administración de energía que debe realizar un driver suele ocupar en torno a dos mil líneas de código fuente.
Otro de los problemas que pretende solucionar la tecnología WDF es reducir la cantidad de modelos de drivers que Windows soporta. Si bien el más conocido por los usuarios es WDM, lo cierto es que Windows dispone muchas más clases diseñadas para la gestión de tipos específicos de hardware. Dichos modelos se basan en un esquema conocido como puerto-minipuerto. Normalmente el driver de puerto lo ha escrito Microsoft y se incluye con el sistema operativo, mientras que el driver de minipuerto es específico del hardware de cada fabricante y debe proporcionarlo junto con el hardware. Este tipo de diseño hace posible que el driver de puerto realice un gran número de funciones específicas de la clase de hardware que gestiona y que son comunes a todos los dispositivos pertenecientes a dicha clase independientemente de su fabricante. Éste es el caso de los dispositivos para bus SCSI.
El modelo de driver puerto-minipuerto plantea además otras complicaciones, ya que por ejemplo la gestión del sistema Plug and Play no se realiza de la misma forma que en los drivers de tipo WDM, lo que hace que la experiencia adquirida en el desarrollo de drivers de tipo WDM no sea directamente aplicable para la creación de software para dispositivos que dispongan de un modelo específico de programación de drivers. Además suele ser frecuente que este modelo de drivers requiera actualizaciones frecuentes cada vez que hay avances sustanciales en tecnologías hardware o software, lo que en la mayoría de los casos supone variaciones en las interfaces que implementan los servicios que usan los drivers.

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información