Qué es un controlador de dispositivo
Hasta la lección 10, el sistema operativo gobernó la CPU y la memoria desde dentro. Pero la computadora también tiene que hablar con dispositivos externos: el teclado, el ratón, la pantalla, el disco, la impresora e incluso un dispositivo nuevo que compraste ayer y que no existía cuando se creó el sistema operativo. Cada dispositivo habla distinto, así que ¿cómo los entiende a todos?
Hay demasiados dispositivos
Los dispositivos que se pueden conectar a una computadora son interminables: teclados, ratones, pantallas, discos, impresoras, cámaras, y cada año siguen apareciendo otros nuevos.
Además, cada dispositivo intercambia señales distintas.
El sistema operativo no puede memorizarlos todos.
Toca un dispositivo: cada uno habla con sus propias señales, así que el sistema operativo, por sí solo, apenas puede entenderlos.
Con cada dispositivo hablando distinto, parece no haber salida. Y tampoco se puede rehacer el sistema operativo para cada dispositivo, porque siguen saliendo otros nuevos.
Así que se coloca a alguien entre los dos: un intérprete.
Un controlador es un intérprete
El sistema operativo usa un solo idioma estándar: peticiones sencillas como «lee», «escribe» o «abre».
El controlador que acompaña a cada dispositivo interpreta esas palabras: convierte el «lee» del sistema operativo en señales que solo entiende ese dispositivo, y traduce de vuelta la respuesta del dispositivo al idioma estándar.
Envía la orden estándar «lee» y los controladores la interpretan en las señales de cada dispositivo.
El sistema operativo solo tiene que hablar siempre el mismo idioma estándar, y los controladores se encargan de todas las complicaciones de cada dispositivo.
Entonces, ¿cómo se puede usar un dispositivo completamente nuevo, que el sistema operativo nunca ha visto?
¿Un dispositivo nuevo? Basta con instalar el controlador
El sistema operativo no habla con los dispositivos, solo con los controladores. Así que, aunque llegue un dispositivo que nunca ha visto, la solución es sencilla: instalar el controlador de ese dispositivo, su intérprete particular.
Sin cambiar nada del propio sistema operativo, el controlador tiende el puente y el dispositivo funciona enseguida.
Conecta un dispositivo nuevo: al principio no se entienden, pero en cuanto se instala el controlador, se conectan enseguida.
Con un solo controlador, hasta un dispositivo nuevo se acoge sin problemas. Ahora ya se entienden, pero queda una cosa.
Los dispositivos suelen ser mucho más lentos que la CPU. ¿Cómo debería esperar el sistema operativo a un dispositivo tan lento?
No preguntes sin parar; deja que te toque el hombro
Si el sistema operativo espera junto a un dispositivo lento preguntando una y otra vez «¿ya está?, ¿ya está?», la CPU, que es rápida, se queda sin hacer nada todo ese tiempo.
Eso es demasiado desperdicio. Así que deja hecha la petición y se va a hacer otro trabajo. Cuando el dispositivo termina, le da un toque en el hombro con una interrupción: «¡Listo!».
Solo entonces vuelve el sistema operativo a ocuparse de ello.
Compara las dos formas: preguntar sin parar deja a la CPU ociosa, mientras que el toque en el hombro le permite hacer otro trabajo.
Con el toque en el hombro, la CPU no se queda parada ni un instante: deja la petición hecha, hace otro trabajo y se ocupa de ello cuando llega la señal.
Esta interrupción es la técnica clave para trabajar con dispositivos externos. ¿Y qué pasa cuando se juntan el intérprete y el toque en el hombro?
Llevarse bien con el exterior gracias a intérpretes y toques en el hombro
El sistema operativo maneja una variedad de dispositivos que no deja de crecer con dos técnicas: los controladores, que interpretan para cada dispositivo, y las interrupciones, que avisan cuando el trabajo ha terminado.
Gracias a ellas, puede manejar sin desperdicio incluso dispositivos que nunca ha visto.
Entre todos esos dispositivos, uno es especialmente importante: el disco, donde viven los archivos. ¿Cómo organiza el sistema operativo el disco?
Pon el sistema operativo en el centro y verás cómo los controladores interpretan y los dispositivos le tocan el hombro con interrupciones.
En resumen, hay dos secretos para llevarse bien con los dispositivos externos: el controlador, el intérprete que traduce para cada dispositivo, y la interrupción, el toque en el hombro cuando un dispositivo lento termina.
Con estos dos, el sistema operativo puede darse la mano con cualquier dispositivo del mundo. En la próxima lección veremos cómo uno de esos dispositivos, el disco, se organiza en archivos y carpetas.