| Artículos | 01 DIC 2004

DSF (Device Simulation Framework)

Tags: Histórico
Microsoft incluirá en el DDK un entorno de simulación de hardware que facilitará el desarrollo de drivers
Eugenio Barahona.
Sin duda alguna uno de los procesos más tediosos, y que consume una apreciable cantidad de recursos tanto humanos como técnicos, es la comprobación de la calidad de nuevos productos de software y hardware antes de su lanzamiento al mercado. Esto es especialmente cierto en el caso de dispositivos hardware que se conectan al PC, ya que en la mayoría de los casos requieren además el desarrollo de un controlador de dispositivo que lo integre dentro del sistema operativo. Esta necesidad hace que muchos fabricantes no inicien el diseño y programación del driver hasta que el desarrollo del hardware se encuentra en una fase muy avanzada, en la que generalmente los programadores podrán disponer de prototipos del dispositivo físico.
El anterior sistema de trabajo hace que la codificación del driver pueda llegar a retrasar el lanzamiento del nuevo producto, ya que el desarrollo de este tipo de software y su depuración son complejos. Lo ideal sería que la creación tanto del nuevo hardware como del correspondiente driver se iniciasen de forma simultánea, o que el inicio del trabajo en el controlador tuviese lugar una vez que se dispone de unas especificaciones más o menos definitivas del hardware en lo que se refiere a características, funcionamiento y registros hardware de que va a disponer.
Esta última metodología implica necesariamente poder emular, mediante software, todo el funcionamiento del nuevo dispositivo físico que va a desarrollarse. Microsoft está trabajando en un entorno que precisamente implementará esta característica, lo que sin duda hará posible la programación de drivers de forma simultánea al desarrollo de un nuevo hardware.
Una parte principal de la emulación de dispositivos consiste en la redirección de los accesos al hardware, de manera que el driver crea que está accediendo a registros y puertos de entrada/salida físicos cuando, en realidad, está obteniendo información de una emulación por software. Además es preciso que la emulación simule la generación de posibles interrupciones que produciría el dispositivo físico real, así como la producción de secuencias de acceso directo a memoria desde o hacia el hardware simulado. Todas las características anteriores están soportadas bajo la iniciativa DSF que Microsoft está desarrollando.
En futuras versiones del DDK de Windows se incluirán simuladores de las interfaces estándares de hardware que proporciona Microsoft, se expondrán las interfaces necesarias para soportar los simuladores de dispositivos y para testear directamente los drivers encargados de manejar los diversos buses del ordenador, así como para capturar el flujo de datos que circule entre los drivers de bus y el hardware.
Otra característica interesante para los desarrolladores de hardware será la posibilidad de crear mediante software un fallo del hardware que está simulándose, lo que hará posible comprobar el funcionamiento del driver que lo maneja cuando se produzcan situaciones que de otra forma serían difíciles de recrear. También será posible crear un log en el que se registre el funcionamiento tanto del hardware como del controlador que lo integra en el sistema operativo. Además se implementará una serie de interfaces de tipo COM que permitirán el desarrollo de aplicaciones que automaticen el testeo de drivers, lo que se realizará mediante la programación de scripts.
Microsoft tiene previsto integrar estas características tanto en el Windows Driver Framework, que ya hemos comentado en esta misma sección de PC World, como en el DDK convencional de Windows y en futuros modelos de drivers que dispongan de interfaces concretas de programación, como ocurre ahora mismo con algunos tipos de dispositivos.

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