Entenderse con cualquier dispositivo
Hasta la lección 10 el sistema operativo gobernó el interior: la CPU y la memoria. Pero una computadora también debe hablar con dispositivos externos. Teclados, ratones, pantallas, discos, impresoras, hasta un aparato comprado ayer que no existía cuando se hizo el sistema operativo. Cada dispositivo habla distinto, ¿cómo los entiende a todos?
El mundo tiene demasiados dispositivos
No hay fin a los dispositivos que puedes conectar a una computadora.
Teclados, ratones, pantallas, discos, impresoras, cámaras...
y cada año salen nuevos sin parar.
Cada dispositivo envía y recibe señales distintas.
El sistema operativo no puede memorizarlos todos, ¿verdad?
Toca los dispositivos. Cada uno habla con señales distintas, difícil para el sistema operativo solo.
Con cada dispositivo hablando distinto, parece imposible.
Pero no puedes reescribir el sistema operativo para cada dispositivo,
porque siguen apareciendo nuevos.
Así que pones a alguien entre los dos: un traductor.
El controlador es un traductor
El sistema operativo usa solo un lenguaje estándar.
Peticiones simples como 'lee', 'escribe', 'abre'.
El controlador que viene con cada dispositivo las traduce.
Convierte el 'lee' del sistema operativo en señales que solo ese dispositivo conoce,
y convierte la respuesta del dispositivo de vuelta al lenguaje estándar.
Envía el comando estándar 'lee'. El controlador lo traduce a las señales de cada dispositivo.
El sistema operativo solo habla siempre el mismo lenguaje estándar.
El controlador carga con todos los detalles quisquillosos del dispositivo.
¿Y un dispositivo que el sistema operativo nunca ha visto,
uno totalmente nuevo? ¿Cómo puede usarse?
¿Dispositivo nuevo? Solo instala su controlador
El sistema operativo habla solo con controladores, no con dispositivos.
Así que aunque llegue un dispositivo nunca visto, el truco es simple.
Solo instala el controlador de ese dispositivo, su propio traductor.
Sin cambiar el sistema operativo en absoluto,
el controlador los conecta, y funciona enseguida.
Conecta un dispositivo nuevo. Al principio no se comunica; instala el controlador y funciona.
Con un controlador, hasta un dispositivo nuevo se acoge con facilidad.
Ahora pueden comunicarse, pero queda una cosa.
Los dispositivos suelen ser mucho más lentos que la CPU.
¿Cómo debería el sistema operativo esperar a un dispositivo tan lento?
No preguntes; deja que te toque el hombro
Si el sistema operativo se queda junto a un dispositivo lento preguntando '¿ya está? ¿ya está?'
y espera, la CPU rápida queda ociosa todo ese rato.
Eso es un desperdicio. Así que solo hace la petición y hace otro trabajo.
Cuando el dispositivo termina, toca el hombro con una interrupción.
'¡Listo!' Solo entonces el sistema operativo vuelve a atenderlo.
Compara las dos formas. Preguntar deja la CPU ociosa; el toque en el hombro la deja hacer otro trabajo.
Dejar que toque el hombro hace que la CPU nunca esté ociosa.
Haz la petición, haz otro trabajo, y atiende la señal cuando llegue.
Esta interrupción es el arte clave para trabajar con dispositivos externos.
Ahora, un traductor y un toque en el hombro, ¿qué suman los dos?
Traductor y toque: llevarse bien con el exterior
El sistema operativo maneja el montón de dispositivos, que crece sin fin, con dos artes.
Un controlador que traduce para cada dispositivo, y una interrupción que avisa al terminar.
Gracias a ellas, hasta un dispositivo nunca visto se maneja sin desperdicio.
Entre todos esos dispositivos, uno es especialmente importante: el disco.
Es donde viven los archivos. ¿Cómo organiza el sistema operativo ese disco?
Mira el sistema operativo en el centro. Los controladores traducen, y un dispositivo toca con una interrupción.
En resumen, el secreto para llevarse bien con los dispositivos externos son dos cosas.
Un traductor que lleva las palabras de cada dispositivo: el controlador.
Y un toque en el hombro que avisa cuando un dispositivo lento termina: la interrupción.
Con estas dos, el sistema operativo puede darle la mano a cualquier dispositivo del mundo.
Luego veremos cómo organiza uno de esos dispositivos, el disco, en archivos y carpetas.