Como o BIOS controla dispositivos de E / S sem qualquer forma de driver?
Por exemplo, como uma imagem é exibida enquanto o computador está inicializando, se o BIOS não possui drivers para a placa gráfica.
Existe algum tipo de driver genérico 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.
Do you have a specific problem your trying to solve?
Sim, eles estão tentando resolver o problema de encontrar uma resposta para a pergunta que fizeram. # 1Respostas:
Padrões. Todos os componentes implementam uma interface básica e o BIOS está programado para usá-lo. Obviamente, por ser uma interface básica (é o que o 'B' do BIOS significa), ela não pode tirar proveito de todos os recursos do hardware; isso é deixado para o software implementar por meio de drivers que podem acessar o hardware diretamente.
Originalmente, os fabricantes de BIOS criaram um conjunto de APIs que os dispositivos deveriam usar se desejassem ser compatíveis. Eles fizeram isso através de " interrupções ", que é uma maneira de um dispositivo interromper o programa para que ele saiba que algo aconteceu e vice-versa.
No caso da tela de pré-inicialização, o firmware do adaptador de vídeo implementa o VESA (Video Electronics Standards Association), um padrão criado para simplificar o acesso ao hardware da tela. O BIOS sabe como acessar o hardware de vídeo usando as funções padrão fornecidas. É um pouco semelhante à maneira como o DirectX foi implementado como uma API de nível superior para o hardware, para que os programadores não precisassem dar conta de todas as configurações de hardware.
Tipo de. Não é um driver, mas uma API padrão ; um conjunto de funções de programação que podem ser usadas para executar ações básicas, como inicializar um dispositivo ou dados de entrada e saída.
Se os fabricantes quiserem vender seus produtos, eles precisarão garantir pelo menos a implementação das 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 acessá-los completamente possa ser carregado.
fonte
O BIOS em um PC deveria desempenhar uma função semelhante à do BIOS em um sistema CP / M de 8 bits, popular antes do PC assumir o controle em meados dos anos 80. O BIOS pretendia conter um carregador de inicialização mínimo e rotinas de baixo nível dependentes de hardware para fazer entrada e saída em alguns dispositivos (tela, disco, fita, porta COM). O conhecimento para fazer isso foi incorporado à ROM - nenhum driver é necessário e, é claro, nenhum hardware adicional suportado por essa ROM. (Coisas como gerenciamento de energia e ACPI surgiram muito mais tarde, nos anos 90, depois que o PC se estabeleceu como uma plataforma onipresente.)
(O "sistema de arquivos" do CP / M estava em um componente carregado em disco chamado BDOS - da mesma forma, o conhecimento do sistema de arquivos FAT e suas interfaces está em (pelo menos um dos) 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 uma placa de expansão. Portanto, havia pelo menos um mecanismo mínimo para estender o BIOS. As placas de vídeo que começam com CGA (o MDA, o antecessor da CGA, também pode ter feito isso) teriam uma ROM opcional que estendia ou adicionava funções de E / S à interface do BIOS. (É por isso que você vê uma mensagem da NVidia antes da inicialização do BIOS.) O mesmo aconteceu com os controladores rígidos e as placas SCSI. Tudo isso ainda faz. Muitas placas de rede antigas possuem um soquete para uma ROM de inicialização.
Lembre-se também de que os fabricantes de clones de PCs que surgiram nos anos 80 rapidamente decidiram não fornecer apenas uma interface BIOS compatível, mas acabaram tendo que copiar a plataforma do PC como um todo, incluindo todo o hardware de baixo nível, como o chip de timer. , controlador de interrupção etc. (Isso foi relativamente fácil, pois pouco disso era propriedade da IBM.) Isso ocorreu porque o BIOS demorou a fazer as coisas e os programadores acessaram o hardware diretamente, principalmente para jogos.
Portanto, entre as ROMs opcionais e esse consenso de hardware padrão que forma a plataforma do PC, além do fato de ter sido mantido compatível com versões anteriores durante toda a evolução do PC, algo que deseje usar a tela sem um driver pode:
Todo o hardware da tela do PC ainda funciona no modo "compatível com VGA" na inicialização. O adaptador IBM VGA original tinha modos compatíveis com as placas EGA, CGA e MDA anteriores. Tudo isso significa que algo em execução no BIOS ou fora de um sistema operacional pode assumir que ainda pode ler e gravar a mesma memória conectada ao monitor agora como em 1985, por convenção.
fonte