Casa > O > O Que É Um Firmware? Em Que É Diferente De Um Kernel Ou So?

O que é um firmware? Em que é diferente de um kernel ou SO?

Firmware, sistema operacional, kernel... estas são algumas terminologias comuns que um desenvolvedor de sistema embarcado executa em - muito. Para explicar claramente a diferença entre elas, vamos primeiro explicar os componentes de um dispositivo embarcado ou mesmo um computador de propósito geral.

Para simplificar, podemos imaginar um computador como um sistema composto por CPU e uma variedade de dispositivos periféricos. Todos os programas do usuário são executados na CPU que é um poderoso motor de execução de propósito geral, e a função que ele faz é totalmente definida pelo programa que está sendo executado. Agora considere o caso dos dispositivos periféricos, eles terão uma função dedicada, tal como:

  • eMMC ou armazenamento secundário similar - gerenciamento de blocos, interpretação de comandos eMMC enviados do host, controle das operações de leitura-escrita etc.
  • Touch screen controller - para interpretar comandos do host; ler as coordenadas x & y onde o usuário tocou; enviar interrupção para o host na identificação do evento de toque, etc.
  • GPUs (disponível em System-on-Chips - SoCs) - gerenciar o comando ring-buffer entre a CPU do host e a GPU; interpretar e executar os comandos enviados pelo host via ring buffer; manipular os buffers mapeados; sinalizar a conclusão da execução do comando(fences) etc.
  • BIOS (legado) - para iniciar, configurar e iniciar a execução do carregador de inicialização a partir do dispositivo de inicialização quando o computador é iniciado.
p>Para fornecer ou preencher estas funcionalidades, o periférico pode ter um pequeno micro-controlador (no caso de um com controlador TSP, controlador eMMC etc.) - no caso da GPU será um motor de execução multi-core. Todos eles terão uma CPU de capacidade variável.

Como está com todas as CPUs, requer instruções para executar e executar sua função requerida. Ele não'não precisa de capacidades como :

>ul>multi-tarefa,manipulação avançada de interrupções,segmentação & paginação, etc.

Hence será um pacote de software mínimo o suficiente para completar sua funcionalidade pretendida - que é chamado de FIRMWARE.

>p>Um Firmware:>ul>>li> residirá normalmente na ROM(Read-only-memory) no caso de dispositivos auto-contidos. Eles iniciarão a execução no local (a partir da própria ROM pelo micro-controlador) quando o dispositivo for ligado.li>algumas vezes, ele pode ser carregado para uma pequena RAM - se o dispositivo/controlador estiver tendo umli>li>é normalmente congelado durante a produção, mas em alguns casos, ele pode ser atualizado através de ferramentas especiais (se for queimado para EEPROM ou NOR flash)>li>Há casos em que o firmware reside em outros dispositivos de armazenamento secundário (disco rígido, cartão SD, etc.). O Host CPU irá carregar o firmware no dispositivo periférico através de alguns BUS(I2C, SPI, etc.) depois de ligar e reiniciar os dispositivos periféricos (acontece durante o boot up). Depois do qual o firmware começará a execução no dispositivo periférico. Isto acontece na maioria das GPUs modernas embutidas em SoCs A atualização de firmware é bastante direta neste tipo de sistemas.

Um Sistema Operacional é, por outro lado

>ul>>li>Provê um Kernel para interagir com os componentes de hardware subjacentes & espaço do usuário associado (programas, libc, bibliotecas, etc.).) para user.li>Provê (via kernel) funcionalidades padrão como multiusuário, multi-programação, segurança, drivers de dispositivos, etc. que é necessário para explorar o hardware subjacente.p>Basicamente firmware, kernel, sistema operacional são abstrações destinadas a várias aplicações. Espero que a resposta da diferença entre firmware, kernel e sistema operacional esteja clara agora.

De Pernas Stockon

Quais são as especificações e preços dos telefones LG Wing 5G na Índia? :: O LG Wing é um smartphone útil?