|
Los drivers son engañados para que crean que se
ejecutan en un entorno Windows, mientras que para el sistema operativo
se ejecutan como un módulo nativo de FreeBSD.
La
falta de drivers para los sistemas operativos libres como Linux o los
varios sabores de BSD no es un problema nuevo, y de hecho es más grave
cuanto más novedosa es la tecnología que emplea el dispositivo que
intentamos configurar. Un buen ejemplo de ello son las tarjetas de red
inalámbrica, ya que muchos fabricantes (casi me atrevería a decir que
la mayoría) no facilitan datos técnicos que permitan a la comunidad de
desarrolladores crear un driver de código abierto.
Algunos proyectos como OpenBSD solo aceptan drivers en código
abierto, de forma que puedan ser comprobables en, por ejemplo,
auditorías de seguridad. Otros, como es el caso de FreeBSD, son más
pragmáticos en este sentido, y priorizan la posibilidad de trabajar con
más hardware sobre la posibilidad de contar con el código fuente del
controlador.
Por esto ha nacido el proyecto Evil, cuyo objetivo es permitir que
FreeBSD utilice de forma efectiva los drivers para hardware escritos y
compilados para la plataforma Windows. Se cuenta con una API que emula
la interfaz que el sistema de Microsoft proporciona a los controladores
de dispositivos para que trabajen, pero que se comunica con el núcleo
del sistema, de forma que mientras que los drivers trabajan igual como
lo harían en Windows, para FreeBSD trabajan como un módulo nativo más
de este Unix.
El proyecto Evil se circunscribe a tarjetas de red, pero sería muy
interesante extender dicha iniciativa a otros campos como el de los
módems, pues muchos portátiles montan los llamados winmódems que
solamente pueden operar correctamente bajo Windows.
|