Controlador de software
Para que un ordenador funcione eficazmente, necesita actualizaciones y mantenimiento frecuentes. Uno de los componentes que requieren actualizaciones periódicas es el controlador. Mucha gente que tiene un ordenador puede haber oído el término “controlador” pero puede no estar familiarizada con ellos o con lo vitales que son para el funcionamiento del ordenador.
Un controlador es un código de bajo nivel (un programa) que facilita la comunicación entre un componente de hardware o una aplicación de software y un sistema operativo (SO). Actúa como un traductor que permite al sistema operativo pedir al hardware o al software que haga lo que quiere.
Todos los ordenadores tienen varios controladores que controlan diversas aplicaciones y componentes de hardware instalados. Sin los controladores, el hardware y el software de su ordenador no funcionarán correctamente y, en algunos casos, no podrán funcionar en absoluto.
No todos los controladores de dispositivos están creados para comunicarse directamente con el propio dispositivo. En algunos casos, hay varios controladores apilados para permitir la comunicación. Estos controladores apilados se comunicarán directamente entre sí o con el sistema operativo. El controlador que se comunica directamente con el propio dispositivo o con el sistema operativo se denomina controlador de función.
Controlador de dispositivos
En informática, un controlador de dispositivo (comúnmente conocido como driver) es un programa informático que opera o controla un tipo particular de dispositivo que está conectado a un ordenador. Un controlador proporciona una interfaz de software para los dispositivos de hardware, lo que permite a los sistemas operativos y otros programas informáticos acceder a las funciones del hardware sin necesidad de conocer los detalles precisos del hardware que se utiliza.
Un controlador suele comunicarse con el dispositivo a través del bus del ordenador o del subsistema de comunicaciones al que se conecta el hardware. Cuando un programa llama a una rutina del controlador, éste emite órdenes al dispositivo. Una vez que el dispositivo envía datos de vuelta al controlador, éste puede invocar rutinas en el programa original que lo llamó. Los controladores dependen del hardware y son específicos del sistema operativo. Suelen proporcionar el manejo de las interrupciones necesarias para cualquier interfaz de hardware asíncrona dependiente del tiempo.
Los controladores de dispositivos simplifican la programación al actuar como traductores entre un dispositivo de hardware y las aplicaciones o sistemas operativos que lo utilizan. Los programadores pueden escribir el código de la aplicación de alto nivel independientemente del hardware específico que utilice el usuario final.
Cómo escribir un conductor
Es difícil dar una única definición precisa del término controlador. En el sentido más fundamental, un controlador es un componente de software que permite que el sistema operativo y un dispositivo se comuniquen entre sí.
Por ejemplo, supongamos que una aplicación necesita leer algunos datos de un dispositivo. La aplicación llama a una función implementada por el sistema operativo, y el sistema operativo llama a una función implementada por el controlador. El controlador, que fue escrito por la misma empresa que diseñó y fabricó el dispositivo, sabe cómo comunicarse con el hardware del dispositivo para obtener los datos. Una vez que el controlador obtiene los datos del dispositivo, los devuelve al sistema operativo, que a su vez los devuelve a la aplicación.
Por ejemplo, supongamos que necesitas escribir una herramienta que tenga acceso a las estructuras de datos del núcleo del sistema operativo, a las que sólo puede acceder el código que se ejecuta en modo kernel. Puedes hacerlo dividiendo la herramienta en dos componentes. El primer componente se ejecuta en modo usuario y presenta la interfaz de usuario. El segundo componente se ejecuta en modo kernel y tiene acceso a los datos centrales del sistema operativo. El componente que se ejecuta en modo usuario se llama aplicación, y el que se ejecuta en modo kernel se llama controlador de software. Un controlador de software no está asociado a un dispositivo de hardware.
Controlador de minipuerto
En informática, un controlador de dispositivo es un programa informático que opera o controla un tipo particular de dispositivo que está conectado a un ordenador. Un controlador suele comunicarse con el dispositivo a través del bus del ordenador o del subsistema de comunicaciones al que se conecta el hardware. Cuando un programa llama a una rutina del controlador, éste emite órdenes al dispositivo. Una vez que el dispositivo envía datos de vuelta al controlador, éste puede invocar rutinas en el programa original que lo llamó. Los controladores dependen del hardware y son específicos del sistema operativo. Suelen proporcionar el manejo de las interrupciones necesarias para cualquier interfaz de hardware asíncrona dependiente del tiempo.
Los controladores de dispositivos son un conjunto de instrucciones de software que controlan la interfaz entre un ordenador y un dispositivo periférico conectado. Los controladores de dispositivos indican a su máquina qué es el dispositivo, qué hace el dispositivo y todas las demás instrucciones necesarias para su correcto funcionamiento. Por ejemplo, Windows no incluye un controlador de dispositivo específico para todas las funciones de su nuevo teclado Logitech con botones personalizados.