Quais são as diferenças entre firmware e software / OS?

15
  1. Eu queria saber quais são as diferenças entre firmware e software?
  2. Quais são as diferenças entre firmware e SO?
  3. O firmware dos carregadores de inicialização é? Bios é. E o GNU grub? O grub é software ou firmware?
StackExchange for All
fonte

Respostas:

13

Tradicionalmente, firmware é um código de CPU que reside em uma ROM não modificável necessária para um dispositivo de hardware inicializar e carregar um sistema operacional ou um binário (software) de sua escolha. Às vezes, nenhuma opção de binário é dada e uma anexada ao firmware da parte de inicialização é usada.

Todas as CPUs têm o problema clássico de que, uma vez que buscam instruções na memória, algum tipo de memória pré-programada deve existir em um endereço fixo quando a CPU é iniciada, para que ele possa fazer algo automaticamente na inicialização. O firmware existe para esse fim. Alguns firmware também possuem código que programas posteriores podem usar para serviços. O firmware do BIOS expõe muitas funções que o DOS usou para entrada e saída básicas (por isso, o BIOS significa Sistema básico de saída e entrada).

A distinção não é totalmente clara. Algumas (a maioria) placas WLAN exigem que o firmware seja carregado antes que elas comecem a funcionar. No entanto, geralmente há um pequeno firmware no dispositivo cuja tarefa é fazer nada além de aceitar um "firmware" principal no barramento USB quando o dispositivo é iniciado pelo sistema operacional e entregar o controle quando é carregado. A maioria das pessoas diria que tudo isso é firmware.

Como as EEPROMs e a memória flash se tornaram mais comuns, o firmware geralmente não reside mais em uma ROM não gravável, mas na memória flash e pode ser modificado. A distinção entre firmware e software é obscura hoje com o advento da memória flash. No entanto, uma coisa não mudou ao longo dos anos e é que as CPUs ainda são CPUs e exigem algum código ou firmware para serem visíveis na inicialização, bem, na inicialização.

As CPUs estão em mais dispositivos do que nunca, portanto, desenvolver e permitir que o firmware seja atualizado no caso de bugs é um grande problema agora e muitos dispositivos de hardware com uma CPU têm interfaces de atualização de firmware, às vezes não documentadas.

Um firmware pode ser usado para carregar um sistema operacional. Pode conter um carregador de inicialização ou código que carrega um carregador de inicialização. É possível armazenar uma imagem do sistema operacional no mesmo local que o firmware e deixar o código de inicialização do firmware carregar o sistema operacional (os telefones celulares fazem isso). Como regra geral, os BIOS de PC não incluem carregadores de inicialização. O U-boot (não para PCs) é um exemplo de firmware "compatível com o sistema de arquivos" que carrega diretamente um sistema operacional.

Os firmware geralmente não possuem todos os recursos de um sistema operacional completo devido ao princípio de que mais simples é mais confiável. Os firmwares mais simples simplesmente inicializam um mínimo de hardware, carregam um setor ou bloqueiam um dispositivo de armazenamento e executam a execução nele. É simples de programar e, portanto, fácil de verificar como livre de bugs. Os erros no firmware no momento da inicialização podem significar um desastre para um dispositivo.

LawrenceC
fonte
Obrigado! Qual a diferença entre o firmware e o driver de dispositivo, pois ambos os dispositivos de controle?
StackExchange for All
Para dispositivos como placas WLAN: Os drivers são criados para fazer a interface entre um dispositivo de hardware e o próprio sistema operacional. Os drivers são executados no PC. O firmware é construído para fazer a interface entre um dispositivo de hardware e um driver em um barramento (USB, IDE, PCI-E, etc.). O firmware é executado no próprio dispositivo.
LawrenceC
5

O firmware é um software, exceto que, em vez de ser armazenado em disco, é armazenado em uma EEPROM, que geralmente é flexível para permitir atualizações.

O firmware é de certa forma um sistema operacional, mas muito mais restritivo e de propósito único, porque é apenas para controlar esse dispositivo, enquanto um sistema operacional é um sistema de uso geral que permite que qualquer tipo de software seja executado em vários dispositivos de hardware.

Não, os gerenciadores de inicialização não são firmware porque são softwares existentes no disco. Sim, o BIOS é porque existe em um chip (lavável na máquina). Não, o GRUB também não é um firmware porque, novamente, não é firme (não há nenhum componente de hardware), é um software que existe no disco - embora possa (e possa) ser instalado em um chip; nesse caso, seria ser firmware.

Synetech
fonte
4
  1. A diferença é basicamente onde o código reside. Geralmente, o firmware é gravado em algum tipo de EPROM ou memória flash incorporada, enquanto o software é armazenado em um dispositivo de armazenamento em massa.

  2. O sistema operacional de um dispositivo pode residir em firmware ou software. Em um PC, o firmware (BIOS), apenas fornece serviços de baixo nível que um SO de software (Windows / Linux / etc) pode fazer uso. Em dispositivos móveis, o sistema operacional inicial geralmente é em firmware.

  3. Pela definição em (1), o BIOS do computador é firmware, mas os gerenciadores de inicialização que residem no disco rígido são software.

Andrew Cooper
fonte
3

Os limites podem ser um pouco confusos.

Normalmente, o software é qualquer instrução ou rotina que um computador possa executar.

O firmware geralmente é instruções específicas (software) carregadas no / para o hardware para que elas desempenhem suas funções.

Eu diria que praticamente todo hardware possui algum tipo de firmware incluído.

Novamente, não acho que exista um guia definitivo sobre onde começar e parar - tudo o que é firmware, é um software compilado para qualquer chip que esteja no dispositivo.

Quanto à sua segunda pergunta sobre o que é firmware, eu diria que os gerenciadores de inicialização não são, mas o BIOS é e o grub não.

Isso é muito difícil de traçar a linha, mas ... do jeito que eu vejo, é que o BIOS (agora EFI) é o firmware da placa-mãe e o disco rígido tem seu próprio firmware.

Portanto, o carregador de inicialização / grub é um software puro - ele pode executar tarefas com o disco rígido, mas na verdade não está controlando diretamente nenhum hardware.

Se você usar um dispositivo incorporado, como um Iphone / Ipad, onde termina o firmware e o software começa !? Se você considera o IOS como firmware, por que não o Windows ou semelhante.

Para mim, isso mostra que os limites são onde os fabricantes ou vendedores de qualquer dispositivo permitem que você assuma o controle e não é realmente uma coisa fixa / ciência exata.

Por exemplo,

  • Uma placa-mãe é para inicializar - o firmware é o BIOS, quando passa para a próxima parte
  • Os discos ópticos e rígidos são componentes para leitura / gravação de dados, o firmware é a parte que realiza esse trabalho mediante solicitação.
  • A placa gráfica é um componente para a exibição de gráficos; o firmware é a parte que, mediante solicitação, extrai a saída.

Para complicar ainda mais - quando digo a pedido, isso pode ser de um driver em outro software

Agora, um Ipad, um Iphone ou qualquer outro dispositivo incorporado ...

  • Um dispositivo que é adquirido de prateleira para executar uma função limitada (por exemplo, executar o IOS) é o firmware, pois você não (ou não deve) modificá-lo manualmente. Pode conter outras peças de hardware internas, mas é apresentado como um dispositivo e você não compra o hardware separadamente. Por isso, qualquer atualização disponível atualiza tudo de forma invisível (por exemplo, um telefone, você não atualiza manualmente o controlador GSM, a alimentação variáveis ​​e muito mais, você só tem uma atualização que pode modificar essas coisas).

Entao, para resumir...

Para mim, eu diria que firmware = o software que vem em dispositivos onde o software puro é adquirido como dados, mas tenho certeza que outros podem dizer diferente!

William Hilsum
fonte
Espero que esteja tudo bem ... Encontrei um tópico muito interessante sobre o qual escrever, mas demorei mais de meia hora e é muito cedo pela manhã / estou muito cansado ... e nem sempre estou claro em o melhor dos tempos! ... Feliz em responder perguntas e espero não ter me repetido demais!
precisa
0

Quero dar uma resposta em apenas algumas palavras. O firmware e o sistema operacional são muito importantes para qualquer sistema digital iniciar e funcionar corretamente e discutiremos como esses dois funcionam. Suponha que tenhamos desligado o smartphone e ligado após desligar o botão liga / desliga do smartphone. Este comando será direcionado para o chip BIOS, que é uma memória não volátil e contém algum programa de firmware. em ambas as direções para RAM e ROM, ele fornece o comando ram para remover os códigos do sistema operacional da Rom e outro comando para a ROM para fornecer uma cópia do sistema operacional na RAM para ativar todos os outros componentes desse sistema.

Hritik Nitish
fonte