Como o BIOS lê o armazenamento flash sem instalar o driver primeiro?

Como o BIOS lê o armazenamento flash sem instalar o driver primeiro?

Sempre que conectamos um novo pen drive, recebemos um pop-up dizendo Installing Device Drivere 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:

  1. O kernel registra o dispositivo recém-conectado. Isso pode ser visto se você fizer um dmesgdepois de conectá-lo
  2. 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.
  3. 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/modulesno 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.

informação relacionada