Un contenedor de controlador es una subrutina en una biblioteca de software que funciona como un adaptador entre un sistema operativo y un controlador, como un controlador de dispositivo , que no fue diseñado para ese sistema operativo. Puede permitir el uso de dispositivos para los que no hay controladores disponibles para el sistema operativo en particular. En particular, a partir de 2010, Microsoft Windows es la familia dominante de sistemas operativos para computadoras compatibles con IBM PC , y muchos dispositivos se suministran con controladores para Windows pero no para otros sistemas operativos.[actualizar]
Varios proyectos de software de código abierto permiten utilizar controladores de Microsoft Windows bajo otro sistema operativo, como Linux .
Los ejemplos incluyen controladores de red para tarjetas inalámbricas (como NDISwrapper para Linux o Project Evil para FreeBSD ) y el sistema de archivos NTFS (consulte Captive NTFS ).
El denominador común de estos ejemplos es el uso de tecnología wrapper , que permite la ejecución de los controladores en un entorno ajeno. Las limitaciones de los wrappers de controladores incluyen la incapacidad de funcionar en tiempo real. Un ejemplo de esta limitación incluye problemas de latencia como los asociados con los intentos de hacer compatible con Linux la grabadora de sonido y la superficie de control de la DAW de audio ZoomR16.