A BIOS possui algum tipo de 'drivers' genéricos?

22

Como o BIOS controla os dispositivos de E / S sem qualquer tipo de driver?

Por exemplo, como é exibida uma imagem enquanto o computador está inicializando se o BIOS não tiver nenhum driver para a placa gráfica.

Existe algum tipo de driver genérico que é padrão em todos os BIOS e hardware que permite que o BIOS execute funções básicas, independentemente do hardware instalado.

Qualquer ajuda seria apreciada.

Obrigado.

    
por RJSmith92 15.10.2013 / 13:13

2 respostas

13

Does the BIOS have some sort of generic 'drivers'

How does the BIOS control I/O devices without any form of drivers?

Padrões. Todos os componentes implementam uma interface básica e o BIOS é programado para usá-lo. É claro que, por ser uma interface básica (é o que significa "B" no BIOS), não é possível aproveitar os recursos completos do hardware. que resta ao software para implementar via drivers que podem acessar o hardware diretamente.

Originalmente, os fabricantes de BIOS criaram um conjunto de APIs que se esperava que os dispositivos usassem se quisessem ser compatíveis. Eles fizeram isso por meio de " interrupções ", que é uma forma de um dispositivo interromper o programa para que ele saiba que algo aconteceu e vice-versa.

For example how is an image displayed whilst the computer is booting if the BIOS doesn't have any drivers for the graphics card.

No caso da exibição de pré-inicialização, o firmware do adaptador de vídeo implementa VESA (Video Electronics Standards Association), que é um padrão criado para simplificar o acesso ao hardware de exibição. O BIOS sabe como acessar o hardware de vídeo usando as funções padrão fornecidas. É um pouco semelhante a como o DirectX foi implementado como uma API de nível mais alto para o hardware, de modo que os programadores não precisavam contabilizar todas as configurações de hardware.

Is there some sort of generic driver that is standered accross all BIOSs and hardware that allows the BIOS to perform basic functions no matter what hardware is installed.

Classificar de. Não é um driver, mas uma API padrão ; um conjunto de funções de programação que podem ser usadas para fazer coisas básicas como inicializar um dispositivo ou dados de entrada e saída.

Se os fabricantes quiserem vender seus produtos, eles precisarão certificar-se de que pelo menos implementem as APIs padrão para que sejam compatíveis. Dessa forma, o sistema pode detectar o hardware e, no caso de dispositivos críticos para inicialização, eles podem acessá-los em um nível básico até que um driver de software que saiba como acessá-los por completo possa ser carregado.

    
por 15.10.2013 / 16:43
22

O BIOS em um PC foi feito para executar uma função semelhante à BIOS em um sistema CP / M de 8 bits, popular antes do PC assumir o controle em meados dos anos 80. O BIOS foi projetado para conter um mínimo de bootloader e rotinas de baixo nível dependentes de hardware para fazer entrada e saída para alguns dispositivos (tela, disco, fita, porta COM). Conhecimento para fazer isso foi construído na ROM - nenhum driver necessário e, claro, nenhum hardware adicional suportado por esta ROM. (Coisas como gerenciamento de energia e ACPI vieram muito mais tarde, nos anos 90, depois que o PC se estabeleceu como uma plataforma onipresente.)

(O "sistema de arquivos" CP / M estava em um componente carregado fora do disco chamado BDOS - da mesma forma, o conhecimento do sistema de arquivos FAT e suas interfaces está em (pelo menos um) dois arquivos ocultos MSDOS.SYS ou IO.SYS - não faz parte da ROM do BIOS.

No entanto ... O BIOS do PC, ao contrário do CP / M, suportava a noção de "Option ROMS" que poderia ser incluída em um cartão de expansão. Portanto, havia pelo menos um mecanismo mínimo para estender o BIOS. Placas de vídeo começando com CGA (MDA, o predecessor do CGA, pode ter feito isso também) teriam uma ROM opcional que estendesse ou adicionasse funções de E / S à interface do BIOS. (É por isso que você vê uma mensagem da NVidia antes do boot do seu BIOS.) O mesmo aconteceu com os controladores rígidos e as placas SCSI. Tudo isso ainda acontece. Muitas placas de rede mais antigas têm um soquete para uma ROM de inicialização.

Tenha em mente também que os fabricantes de clones de PC que surgiram nos anos 80 rapidamente decidiram não fornecer apenas uma interface de BIOS compatível, mas acabaram tendo que copiar a plataforma PC como um todo, incluindo todo o hardware de baixo nível como o chip temporizador, o controlador de interrupção etc. (Isso foi relativamente fácil, já que pouco dele era da IBM). Isso ocorreu porque o BIOS demorou para fazer as coisas e os programadores acessaram o hardware diretamente, principalmente para jogos.

Assim, entre ROMs opcionais e este consenso de hardware padrão que forma a plataforma PC, bem como o fato de ter sido mantido compatível ao longo da evolução do PC, algo que deseje usar o monitor sem um driver pode:

  • usam interfaces padrão do BIOS, que podem ser "enganchadas" por uma ROM opcional no hardware de vídeo
  • ou faz suposições sobre o hardware que está no sistema e acessa o hardware básico diretamente

Todo o hardware de exibição do PC ainda funciona em um modo "compatível com VGA" na inicialização. O adaptador IBM VGA original tinha modos compatíveis com cartões EGA, CGA e MDA anteriores. Tudo isso significa que algo que está sendo executado a partir do BIOS ou fora de um sistema operacional pode presumir que ele ainda pode ler e gravar a mesma memória conectada ao monitor agora como poderia em 1985, por meio de convenção.

    
por 15.10.2013 / 14:14