imported>Jorge~ptwiki Sem resumo de edição |
imported>José Eugênio Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
Em [[computação]], '''boot''' é o processo de inicialização do [[computador]] que carrega o [[sistema operacional]] quando ligamos o mesmo. | Em [[computação]], '''boot''' é o processo de inicialização do [[computador]] que carrega o [[sistema operacional]] quando ligamos o mesmo. | ||
Muitos [[computadores]] podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em [[disco rígido]], [[CD-ROM]] ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória. O computador [[hardware]] não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel [[paradoxo]] é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já | Muitos [[computadores]] podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em [[disco rígido]], [[CD-ROM]] ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória. O computador [[hardware]] não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel [[paradoxo]] é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já carregado. | ||
== Boot loader == | == Boot loader == | ||
A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado ''boot loader''. Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a inicialização do sistema operacional. | A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado ''boot loader''. Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a inicialização do sistema operacional. freqüentemente, boot loaders de múltiplos estágios são usados, neste caso vários pequenos programas se complementam em seqüência, até que o último deles carrega o sistema operacional. | ||
Os primeiros computadores programáveis tinham chaves no painel frontal para permitir ao operador colocar o '''boot loader''' na memória antes de iniciar a CPU. Este poderia então ler o sistema operacional de um meio de armazenamento externo como uma [[fita de papel]]. | |||
Uma hipotética [[linguagem de máquina]] para o '''boot loader''' poderia ser tão simples como as oito instruções seguintes, que fazem a leitura dos dados da fita: | |||
0: faça o registrador P = 8 | |||
1: Verifique se a fita de papel está posicionada | |||
2: Se não estiver retorne ao passo 1 | |||
3: Leia um [[byte]] da fita | |||
4: Se chegou no fim da fita pule para o passo 8 | |||
5: Armazene os dados lidos no endereço do registrador P | |||
6: incremente o registrador P | |||
7: pule para 1 | |||
Nos computadores modernos o processo de boot começa com a execução pela [[CPU]] de um programa contido na memória [[ROM]] (A [[BIOS]] do [[IBM PC]]) em um endereço predefinido (A CPU é programada para executar este programa depois de um [[reset]] automaticamente). Este programa contém funcionalidades rudimentares para procurar por dispositivos que podem conter um sistema operacional e que são, portanto, passíveis de participar de um boot. Definido o dispositivo é carregado um pequeno programa de uma seção especial deste. | |||
=== Segundo estágio do boot loader === | |||
O pequeno programa normalmente não é o sistema operacional, mas apenas um segundo estágio do boot loader, assim como o [[Lilo]] ou o [[GRand Unified Bootloader|Grub]]. Ele será então capaz de carregar o sistema operacional apropriado, e finalmente transferir a execução para ele. O sistmea irá inicializar, e deve carregar [[device driver]]s e outros programas que são necessários para a operação normal de um sistema operacional. | |||
O processo de boot é considerado completo quando o computador está pronto para ser operado pelo usuário. [[Computador Pessoal|Computadores pessoais]] modernos tipicamente levam cerca de um minuto para executar o boot (deste tempo cerca de 15 segundos são devidos a cada boot loader, e o resto para a carga do sistema operacional), no entanto, sistemas mais complexos como servidores podem levar vários minutos para terminar o boot e iniciar todos os serviços; para garantir maior disponibilidade, estes iniciam alguns serviços antes dos outros. | |||
Muitos [[embedded system]]s podem iniciar instantaneamente -- por exemplo, esperar um minuto para uma televisão ligar é inaceitável. Assim, estes sistemas tem seu sistema operacional inteiro na ROM ou na [[memória flash]], e podem tê-los executados diretamente. | |||
Em [[computação]], uma '''seqüência de boot''' são as operações que um computador faz quando ele é ligado, que carregam um [[sistema operacional]]. | |||
== Dispositivos de boot da BIOS == | |||
Um dispositivo de boot é qualquer dispositivo que deve ser inicializado antes da carga do sistema operacional. Isto inclui os dispositivos de entrada como o ([[en:computer keyboard|teclado]] dispositivos de saída como o [[display|Monitor]]), e os dispositivos de armazenamento como ([[drive de disquete]], [[disco rígido]], [[CD-ROM]], etc.). Um caso especial de dispositivo de boot são os que podem carregar o sistema operacional (Em antigas máquinas PC, o drive de disquete e o disco rígido). | |||
Em uma [[BIOS]] moderna, o usuário pode selecionar vários dispositivos para fazer o boot, por exemplo [[disquete]], [[Superdisk]], [[Disco Rígido]], [[SCSI]], [[CDROM]], [[Zip drive]], ou [[Universal Serial Bus|USB]] (USB-FDD, USB-ZIP, USB-CDROM, USB-HDD). | |||
Por exemplo, podemos instalar o [[Microsoft Windows]] no primeiro disco rígido e o [[Linux]] no segundo. Alterando os parâmetros da BIOS, podemos modificar qual [[sistema operacional]] a carregar. | |||
== Seqüência de Boot no PC (IBM-PC compatível)== | |||
[[image:Pc_boot.jpg|right|thumb|300px|Photo of a PC going through the boot sequence]] | |||
Ao iniciar o , a [[CPU]] do [[Computador Pessoal]] executa a instrução localizada no registrador de memória FFFF0h da [[BIOS]]. Este registrador de memória corresponde a última posição de memória da BIOS. Ele contém uma instrução que faz com que a execução seja desviada para o local na BIOS onde começa o programa inicial. Este programa executa um [[en:Power-On Self Test|Auto=teste]], que é um teste para verificar o funcionamento de diversos dispositivos no computador e inicializar dispositivos. Então, a BIOS busca em uma lista de dispositivos pré-configurados até encontrar um que pode ser o dispositivo de boot. Se não encontra este dispositivo, um erro é apresentado e o processo de boot termina. Se o dispositivo de boot é encontrado, a BIOS carrega e executa o [[master boot record|MBR]] (Registro mestre de boot). Em muitos casos, o MBR verifica a [[en:partition (IBM PC)|tabela de partição]] em busca de uma partição ativa. Se uma partição ativa é encontrada, o MBR carrega e executa o setor de boot da partição. O setor de boot é específico do sistema operacional, entretanto em muitos sistemas sua principal função é carregar e executar o [[kernel (computer science)|kernel]]. | |||
==Artigos relacionados== | |||
*[[Boot disk]] and [[LiveCD]] | |||
*[[Linux Loader]] ([[Lilo]]) | |||
*[[GRUB]] | |||
*[[NT Loader]] | |||
*[[Microreboot]] | |||
*[[Restartability]] | |||
*[[Crash-only software]] | |||
==links externos== | |||
*[http://en.tldp.org/HOWTO/Kernel-HOWTO/linux_boot_process.html Linux Boot Process] | |||
*[http://am.xs4all.nl/phpwiki/index.php/jumping%20bootfloppy Jumping bootfloppy] | |||
[[categoria:informática]] | [[categoria:informática]] |
Edição das 17h17min de 23 de junho de 2004
Em computação, boot é o processo de inicialização do computador que carrega o sistema operacional quando ligamos o mesmo.
Muitos computadores podem executar apenas códigos existentes na memória de trabalho (ROM ou RAM); os sistemas operacionais modernos são normalmente armazenados em disco rígido, CD-ROM ou outros dispositivos de armazenamento. Logo que o computador é ligado, ele não tem um sistema operacional na memória. O computador hardware não pode fazer as ações do sistema operacional, como carregar um programa do disco; assim um aparente insolúvel paradoxo é criado: para carregar o sistema operacional na memória, precisamos de um sistema operacional já carregado.
Boot loader
A solução para o paradoxo está na utilização de um pequeno e especial programa, chamado boot loader. Este programa não tem a completa funcionalidade de um sistema operacional, mas é especialmente construído para que seja capaz de carregar um outro programa para permitir a inicialização do sistema operacional. freqüentemente, boot loaders de múltiplos estágios são usados, neste caso vários pequenos programas se complementam em seqüência, até que o último deles carrega o sistema operacional.
Os primeiros computadores programáveis tinham chaves no painel frontal para permitir ao operador colocar o boot loader na memória antes de iniciar a CPU. Este poderia então ler o sistema operacional de um meio de armazenamento externo como uma fita de papel.
Uma hipotética linguagem de máquina para o boot loader poderia ser tão simples como as oito instruções seguintes, que fazem a leitura dos dados da fita:
0: faça o registrador P = 8 1: Verifique se a fita de papel está posicionada 2: Se não estiver retorne ao passo 1 3: Leia um byte da fita 4: Se chegou no fim da fita pule para o passo 8 5: Armazene os dados lidos no endereço do registrador P 6: incremente o registrador P 7: pule para 1
Nos computadores modernos o processo de boot começa com a execução pela CPU de um programa contido na memória ROM (A BIOS do IBM PC) em um endereço predefinido (A CPU é programada para executar este programa depois de um reset automaticamente). Este programa contém funcionalidades rudimentares para procurar por dispositivos que podem conter um sistema operacional e que são, portanto, passíveis de participar de um boot. Definido o dispositivo é carregado um pequeno programa de uma seção especial deste.
Segundo estágio do boot loader
O pequeno programa normalmente não é o sistema operacional, mas apenas um segundo estágio do boot loader, assim como o Lilo ou o Grub. Ele será então capaz de carregar o sistema operacional apropriado, e finalmente transferir a execução para ele. O sistmea irá inicializar, e deve carregar device drivers e outros programas que são necessários para a operação normal de um sistema operacional.
O processo de boot é considerado completo quando o computador está pronto para ser operado pelo usuário. Computadores pessoais modernos tipicamente levam cerca de um minuto para executar o boot (deste tempo cerca de 15 segundos são devidos a cada boot loader, e o resto para a carga do sistema operacional), no entanto, sistemas mais complexos como servidores podem levar vários minutos para terminar o boot e iniciar todos os serviços; para garantir maior disponibilidade, estes iniciam alguns serviços antes dos outros.
Muitos embedded systems podem iniciar instantaneamente -- por exemplo, esperar um minuto para uma televisão ligar é inaceitável. Assim, estes sistemas tem seu sistema operacional inteiro na ROM ou na memória flash, e podem tê-los executados diretamente.
Em computação, uma seqüência de boot são as operações que um computador faz quando ele é ligado, que carregam um sistema operacional.
Dispositivos de boot da BIOS
Um dispositivo de boot é qualquer dispositivo que deve ser inicializado antes da carga do sistema operacional. Isto inclui os dispositivos de entrada como o (teclado dispositivos de saída como o Monitor), e os dispositivos de armazenamento como (drive de disquete, disco rígido, CD-ROM, etc.). Um caso especial de dispositivo de boot são os que podem carregar o sistema operacional (Em antigas máquinas PC, o drive de disquete e o disco rígido).
Em uma BIOS moderna, o usuário pode selecionar vários dispositivos para fazer o boot, por exemplo disquete, Superdisk, Disco Rígido, SCSI, CDROM, Zip drive, ou USB (USB-FDD, USB-ZIP, USB-CDROM, USB-HDD).
Por exemplo, podemos instalar o Microsoft Windows no primeiro disco rígido e o Linux no segundo. Alterando os parâmetros da BIOS, podemos modificar qual sistema operacional a carregar.
Seqüência de Boot no PC (IBM-PC compatível)
Ao iniciar o , a CPU do Computador Pessoal executa a instrução localizada no registrador de memória FFFF0h da BIOS. Este registrador de memória corresponde a última posição de memória da BIOS. Ele contém uma instrução que faz com que a execução seja desviada para o local na BIOS onde começa o programa inicial. Este programa executa um Auto=teste, que é um teste para verificar o funcionamento de diversos dispositivos no computador e inicializar dispositivos. Então, a BIOS busca em uma lista de dispositivos pré-configurados até encontrar um que pode ser o dispositivo de boot. Se não encontra este dispositivo, um erro é apresentado e o processo de boot termina. Se o dispositivo de boot é encontrado, a BIOS carrega e executa o MBR (Registro mestre de boot). Em muitos casos, o MBR verifica a tabela de partição em busca de uma partição ativa. Se uma partição ativa é encontrada, o MBR carrega e executa o setor de boot da partição. O setor de boot é específico do sistema operacional, entretanto em muitos sistemas sua principal função é carregar e executar o kernel.
Artigos relacionados
- Boot disk and LiveCD
- Linux Loader (Lilo)
- GRUB
- NT Loader
- Microreboot
- Restartability
- Crash-only software