
Cada vez que conectamos una nueva memoria USB, aparece una ventana emergente que dice Installing Device Driver
y luego de un tiempo aparece el cuadro de diálogo de ejecución automática.
Entonces, al instalar otro sistema operativo desde una unidad flash de arranque, ¿cómo logra el BIOS, que supongo que es muy rudimentario en comparación con el sistema operativo en sí, leer rápidamente los datos de la unidad flash (también al comienzo del arranque) sin necesidad de instalar? controladores de dispositivo.
Editar: He notado que Linux (Ubuntu 12.04 en mi caso) tampoco necesita instalar el controlador del dispositivo y la unidad se abre automáticamente en Nautilus. ¿Cómo funciona esto?
Respuesta1
Desde las últimas dos décadas, ciertos aspectos del hardware se han estandarizado mucho, de modo que es fácil integrar estos controladores en el firmware (o en el caso de Linux, el kernel). Si nos fijamos en los controladores que se utilizan para el almacenamiento USB, casi siempre son los mismos, independientemente del fabricante, tamaño, etc.
Lo mismo ocurre con (la mayoría de) los teclados USB y otros dispositivos de entrada comunes, ya que todos pertenecen alESCONDIDOclase de peripderales.
En cuanto a que Linux le muestre automáticamente el contenido de la unidad, el resumen es el siguiente:
- El kernel registra el dispositivo recién conectado. Esto se puede ver si lo haces
dmesg
después de enchufarlo. - A continuación, el variador se monta automáticamente, como se puede ver en
mount -l
. Por lo general, verá una línea que comienza con algo similar a/dev/sdc1 on /media/username/Something...
coincidir con el nodo del dispositivo enumerado en el n.° 1. - Su entorno de escritorio ve este nuevo punto de montaje para su nombre de usuario y abre un administrador de archivos para dicho punto de montaje.
Respuesta2
Todo el asunto de la “instalación del controlador” aparece sólo en Windows. De todos modos, en realidad es más como "registrar una nueva instancia de dispositivo". En otros sistemas operativos, el proceso es esencialmente el mismo, por supuesto, pero se gestiona de forma diferente. Por ejemplo, hay dos formas de manejar varios dispositivos similares: o se ejecuta una instancia de controlador aislada para cada uno de ellos o una sola instancia puede manejar múltiples dispositivos.
Hay algunos requisitos que deben cumplirse: Debe existir un controlador en un lugar donde el núcleo (o un programa que cargue controladores en el núcleo) lo encuentre automáticamente. Algo así como /lib/modules
en Linux. Si un controlador no está disponible o no está integrado en el kernel, el dispositivo no se puede utilizar.
Para firmware como UEFI o BIOS, el controlador estaría integrado, porque deben ser autónomos.
Como ya mencionó Jarmund, las interfaces para dispositivos de entrada y almacenamiento están en gran medida estandarizadas en la actualidad. Un solo controlador es suficiente para utilizar casi todos los dispositivos de almacenamiento USB que existen. Así es como BIOS y UEFI te permiten usar tu teclado, mouse, almacenamiento USB y todo eso.