A Velha Bios e o Novo EFI

BiosVelha BIOS

Na computação: Basic Input/Output System (Sistema Básico de Entrada/Saída). O termo é incorretamente conhecido como Basic Integrated Operating System (Sistema Operacional Básico Integrado) ou Built In Operating System (Sistema Operacional Interno). O BIOS é um programa de computador pré-gravado em memória permanente (firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional.

Localização

O BIOS é armazenado num chip ROM (Read-Only Memory) que pode ser do tipo Mask-ROM e PROM nas placas-mãe produzidas até o início da década de 1990, e Flash ROM (memória flash) nas placas mais recentes. Na memória ROM da placa-mãe existem mais dois programas chamados Setup (usado para configurar alguns parâmetros do BIOS), e POST (Power On Self Test) (uma seqüência de testes ao hardware do computador para verificar se o sistema se encontra em estado operacional).

Sequência de funcionamento

Quando o computador é ligado, o BIOS opera na seguinte sequência:

  1. Verifica as informações armazenadas em uma minúscula memória RAM, que se localiza em um chip fabricado com tecnologia CMOS. A memória CMOS armazena informações relativas a configuração de hardware, que podem ser alteradas de acordo as mudanças do sistema. Essas informações são usadas pelo BIOS modificar ou complementar sua programação padrão, conforme necessário.
  1. POST (Power-On Self-Test ou Autoteste de Partida), que são os diagnósticos e testes realizados nos componentes físicos (Disco rígido, processador, etc). Os problemas são comunicados ao usuário por uma combinação de sons (bipes) numa determinada seqüência e se possível, exibidos na tela. O manual do fabricante permite a identificação do problema descrevendo a mensagem que cada seqüência de sons representa.
  2. Ativação de outros BIOS possivelmente presentes em dispositivos instalados no computador (ex. discos SCSI e placas de vídeo).
  3. Descompactação para a memória principal. Os dados, armazenados numa forma compactada, são transferidos para a memória, e só aí descompactados. Isso é feito para evitar a perda de tempo na transferência dos dados.
  4. Leitura dos dispositivos de armazenamento, cujos detalhes e ordem de inicialização são armazenados na CMOS. Se há um sistema operacional instalado no dispositivo, em seu primeiro sector (o Master Boot Record) estão as informações necessárias para o BIOS encontrá-la (este sector não deve exceder 512 bytes).
  5.  

    Inicialização do Computador

    Ao ligar o computador, o primeiro software que você vê a ser lido é o do BIOS. Durante a seqüência de inicialização (boot), o BIOS faz uma grande quantidade de operações para deixar o computador pronto a ser usado. Depois de verificar a configuração na CMOS e carregar os manipuladores de interrupção, o BIOS determina se a placa gráfica está operacional. Em seguida, o BIOS verifica se trata de uma primeira inicialização(cold boot) ou de uma reinicialização (reboot). Esta verifica as portas PS/2 ou portas USB à procura de um teclado ou um rato (mouse). Procura igualmente por um barramento PCI (Peripheral Component Interconnect) e, caso encontre algum, verifica todas as placas PCI instaladas. Se o BIOS encontrar algum erro durante o início (POST), haverá uma notificação ao utilizador em forma de bipes e mensagens.

    Após tudo isto são apresentados detalhes sobre o sistema:

    • Processador
    • Unidades (drives) de disco flexível e disco rígido
    • Memória
    • Versão e data do BIOS

        Recursos

    Na época do MS-DOS o BIOS atendia praticamente a todas as chamadas de entrada e saída E/S ou I/O (Input/Output) da máquina, atualmente a conexão é feita através da instalação de drivers e é por meio desses drivers que os sistemas operacionais tem contato direto com os hardwares.

    Na maioria dos BIOS é possível especificar em qual ordem os dispositivos de armazenamento devem ser carregados. Desta forma é possível, por exemplo, carregar uma distribuição do sistema operacional Linux que funciona diretamente do CD antes do sistema operacional instalado no HD (especificando que o CD deve ser verificado antes do HD).

    Alguns BIOS também permitem a escolha entre diversos sistemas operacionais instalados, mas isto geralmente é feito com um software de terceiros (boot loader).

    Actualização ou Upgrade

    Na maioria das placas-mãe modernas o BIOS pode ser atualizado, e os fabricantes disponibilizam arquivos para essa finalidade. A atualização pode resolver problemas de funcionamento de periféricos, ou mesmo erros da versão anterior do BIOS. A atualização altera três programas que estão dentro da memória ROM (BIOS, POST, Setup) e é uma operação de risco e requer muito cuidado para não haver danos na placa-mãe.

    Há vários problemas que podem acontecer nas atualizações, alguns deles são: arquivos corrompidos, falta de informações para a solicitação do software correto, ou ainda a falta de energia elétrica. Se ocorrer algum problema o sistema poderá não iniciar, deixando a placa-mãe muitas vezes inoperante.

    A atualização ou o upgrade do chip somente deve ser feito quando for realmente necessário.

    Os principais fabricantes deste firmware são: American Megatrends (AMI), Award, General Software, Insyde Software, e Phoenix Technologies.

    UEFINova EFI

    A EFI (Extended Firmware Interface) é uma especificação que define uma interface de software entre o sistema operacional e a plataforma de firmware. A EFI destina-se a ser um substituto significativamente melhorado para o velho BIOS firmware interface, historicamente usado por todos os computadores pessoais IBM PC compatíveis. A especificação EFI foi originalmente desenvolvida pela Intel, e é atualmente gerida pelo Unified EFI Forum que é oficialmente conhecido como Unified EFI (UEFI).

    História

    A motivação original para o EFI veio cedo durante o desenvolvimento do primeiro sistema Intel-HP Itanium em meados de 1990. As limitações do PC BIOS (modo 16-bits, espaço de endereçamento de 1MB, dependências de hardware PC AT, etc.) foram vistas como claramente inaceitáveis para a grande plataforma de servidores visada como alvo. Os esforços iniciais a este respeito foram inicialmente chamados Intel Boot Initiative e foi depois renomeado para EFI.

    • A especificação EFI 1.02 foi lançada pela Intel em 12 de dezembro de 2000.

    Alguns tipos de drivers de dispositivo (não EBC) especificos para a arquitetura podem ter interfaces para uso pelo sistema operacional. Isso permite ao SO confiar ao EFI o suporte básico aos gráficos e à rede enquanto os drivers específicos são carregados.

    Gerenciador de Boot

    Um Gerenciador de boot EFI é também usado para selecionar e carregar o sistema operacional, removendo a necessidade de um mecanismo de boot loader (o boot loader do SO é uma aplicação EFI).

    Suporte a Disco

    Em adição ao esquema de partição do PC padrão, Master boot record (MBR), o EFI adiciona suporte para uma tabela de partição GUID, que não sofre das mesmas limitações. A especificação EFI não inclui um descrição para um sistema de arquivos; implementações da EFI tipicamente suportam FAT32 como seus sistemas de arquivos.

    O Shell EFI

    A comunidade EFI criou um Shell open source.; ao invés de “bootar” diretamente em um SO completo, em algumas implementações, o usuário pode dar boot no shell EFI. O shell é uma aplicação EFI; ele pode residir diretamente dentro da ROM da plataforma, ou num dispositivo para o qual os drivers estão na ROM.

    O Shell pode ser usado para executar outras aplicações EFI, como setup, a instalação do SO, utilitários de diagnóstico ou configuração, e atualizações da flash do sistema; ele pode também ser usado para tocar CDs ou DVDs sem ter que iniciar um sistema operacional completo, contanto que uma aplicação EFI com as características apropriadas seja escrita. Os comandos do shell tornam possível copiar ou mover arquivos e pastas entre os sistemas de arquivos suportado. Drivers podem ser carregados e descarregados, e um stack TCP/IP completo pode ser usado de dentro do shell.

    O shell EFI suporta encriptação através de arquivos .nsh, que são análogos aos arquivos batch do DOS

    Nomes de comandos do shell são freqüentemente herdados do interpretador de comandos do DOS ou o shell Unix. O shell pode ser visto como um substituto funcional para o interpretador de comandos do DOS.

    Extensões

    Extensões ao EFI podem ser carregadas de virtualmente qualquer dispositivo de armazenamento não volatil ligado ao computador. Por exemplo, um OEM pode vender sistemas com uma partição EFI em um HD que adicionariam características adicionais para o firmware EFI padrão armazenado na ROM da placa mãe.

    Implementação e Adoção

    A Intel Platform Innovation Framework para a EFI (com o nome código original “Tiano”) é uma implementação de firmware completamente livre de legado, que inclui suporte para EFI. Também pode suportar um PC BIOS herdado através do compatibility support module(CSM).

    Em particular, o Framework inclui todos os passos necessários para iniciar a plataforma após o ligamento; esse trabalho interno do firmware não são definidos como parte da especificação EFI, mas são parte da Platform Initialization Specification.

    A Intel não disponibiliza o framework completo para o usuário final; ele está disponível através de vendedores de BIOS independentes (como a American Megatrends (AMI) e Insyde Software) como parte das suas ofertas de firmware.

    Uma parte do framework foi disponibilizada com open source para o projeto TianoCore com EFI Developer Kit (EDK). Essa implementação cobre o EFI e alguns códigos de inicialização de hardware, mas não é o firmware completo. Várias licenças foram usadas para o código, incluindo a Licença BSD e a Licença Pública Eclipse.

    Plataformas que usam EFI ou Framework

    Os primeiros servidores e estações de trabalho da Intel, lançados em 2000, suportavam EFI 1.02.

    Os primeiros sistemas Itanium 2 da Hewlett-Packard, lançados em 2002, suportavam EFI 1.10; eles eram capazes de iniciar Windows, Linux, FreeBSD e HP-UX.

    Todos os sistemas Itanium 2 lançados com firmware compatível com EFI devem também ser complacentes com todas as especificações DIG64.

    Em novembro de 2003, a Gateway introduziu o Gateway 610 Media Center, o primeiro computador x86 baseado no Windows a utilizar firmware baseada no Framework, o InsydeH2O da Insyde Software. Ele ainda dependia de uma BIOS implementada como um suporte de compatibilidade para iniciar o Windows.

    A versão da especificação UEFI 2.3.1 já está disponível.

Esse post foi publicado em Softwares e marcado , . Guardar link permanente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s