
Sempre que conectamos um novo pen drive, recebemos um pop-up dizendo Installing Device Driver
e depois de algum tempo a caixa de diálogo de execução automática aparece.
Então, ao instalar outro sistema operacional a partir de uma unidade flash inicializável - como o BIOS, que suponho ser muito rudimentar em comparação com o próprio sistema operacional, consegue ler rapidamente os dados da unidade flash (isso também no início da inicialização) sem qualquer necessidade de instalação drivers de dispositivo.
Editar: Notei que o Linux (Ubuntu 12.04 no meu caso) também não precisa instalar o driver do dispositivo e a unidade abre automaticamente no Nautilus. Como é que isso funciona?
Responder1
Desde as últimas duas décadas, certos aspectos de hardware tornaram-se muito padronizados, de modo que é fácil incorporar esses drivers no firmware (ou no caso do Linux, no kernel). Se você observar os drivers usados para armazenamento USB, verá que quase sempre são os mesmos, independentemente do fabricante, tamanho, etc.
O mesmo vale para (a maioria) dos teclados USB e outros dispositivos de entrada comuns, já que todos pertencem aoESCONDIDOclasse de periderais.
Quanto ao Linux mostrar automaticamente o conteúdo da unidade, o esboço é o seguinte:
- O kernel registra o dispositivo recém-conectado. Isso pode ser visto se você fizer um
dmesg
depois de conectá-lo - O drive é então montado automaticamente, como pode ser visto em
mount -l
. Normalmente, você verá uma linha começando com algo parecido com/dev/sdc1 on /media/username/Something...
o nó do dispositivo listado no item 1. - Seu ambiente de área de trabalho vê esse novo ponto de montagem para seu nome de usuário e abre um gerenciador de arquivos para esse ponto de montagem.
Responder2
Toda a história de “instalação do driver” aparece apenas no Windows. Na verdade, é mais como “registrar uma nova instância de dispositivo”. Em outros sistemas operacionais, o processo é essencialmente o mesmo, é claro, mas gerenciado de forma diferente. Por exemplo, há duas maneiras de lidar com vários dispositivos semelhantes: uma instância de driver isolada está em execução para cada um deles ou uma única instância é capaz de lidar com vários dispositivos.
Existem alguns requisitos que devem ser atendidos: Um driver deve existir em um local onde o kernel (ou um programa que carregue drivers no kernel) o encontre automaticamente. Algo como /lib/modules
no Linux. Se um driver não estiver disponível ou integrado ao kernel, o dispositivo não poderá ser usado.
Para firmware como UEFI ou BIOS, o driver seria integrado, porque deve ser independente.
Como Jarmund já mencionou, as interfaces para dispositivos de entrada e armazenamento são amplamente padronizadas atualmente. Um único driver é suficiente para usar quase todos os dispositivos de armazenamento USB existentes. É assim que o BIOS e o UEFI permitem que você use teclado e mouse, armazenamento USB e outros enfeites.