GLOSSÁRIO

O que é um kernel

  Esta página foi traduzida automaticamente por DeepL. Switch to English

O kernel é o núcleo de um sistema operativo, a parte que fica entre as suas aplicações e o seu hardware. Ele gere os recursos do seu computador (CPU, memória, armazenamento, dispositivos) e expõe uma maneira segura e consistente para o software utilizá-los. Pense nele como um guarda de trânsito e tradutor que mantém tudo a funcionar sem colisões.

Kernel_Layout.svg

O que o kernel realmente faz?

Em um nível elevado, o kernel:

  • Os horários funcionam. Decide qual programa recebe tempo de CPU e quando.
  • Gerencia a memória. Mantém os dados de cada aplicativo separados e aloca RAM conforme necessário.
  • Lida com dispositivos e ficheiros. Comunica com os controladores da sua GPU, SSD, placa de rede e sistemas de ficheiros.
  • Mediador de E/S. Lê e grava ficheiros e dados de rede em nome das aplicações.
  • Reforça a segurança. Separa o modo de utilizador (aplicações) do modo kernel (o núcleo do sistema operativo) para que uma aplicação com erros não possa bloquear todo o sistema.
image-406

O kernel é a mesma coisa que o sistema operativo?

Não exatamente. O «sistema operativo» geralmente inclui o kernel , além de ferramentas e serviços do espaço do utilizador (shells, bibliotecas, ambientes de trabalho, serviços em segundo plano, etc.). Na conversa cotidiana, as pessoas confundem os termos, mas, estritamente falando, o kernel é apenas o núcleo privilegiado no qual tudo o resto se baseia.

Como os aplicativos «comunicam» com o kernel?

Quando um aplicativo precisa guardar um ficheiro ou enviar um pacote de rede, ele faz uma chamada ao sistema, uma solicitação controlada que passa do modo de utilizador para o modo kernel. O kernel verifica as permissões, encaminha a solicitação para o subsistema ou controlador correto e retorna o resultado ao aplicativo. Essa barreira mantém os aplicativos protegidos uns dos outros e das arestas do hardware.

infra-sync

Existem diferentes tipos de kernels?

Sim. Verá alguns projetos gerais em discussão:

  • Os kernels monolíticos agrupam serviços essenciais e muitos controladores. (Exemplo: o kernel Linux.)
  • Os microkernels mantêm o núcleo pequeno e transferem mais serviços para fora do kernel para isolamento.
  • As abordagens híbridas ou modulares combinam ideias práticas. Os sistemas frequentemente inserem ou removem componentes do kernel para melhorar o desempenho ou a segurança.

Todos eles têm o mesmo objetivo: controle confiável e rápido do hardware. (O XNU da Apple, por exemplo, combina um microkernel Mach com uma camada BSD; o Windows documenta uma arquitetura de kernel em camadas.)

Alguma vez atualizo o «kernel» diretamente?

Depende da sua plataforma:

  • Windows/macOS: As atualizações do kernel chegam como parte das atualizações normais do sistema operativo.
  • Linux e muitos servidores/dispositivos: O kernel é um pacote separado que pode ser atualizado através da sua distribuição ou fornecedor. Os kernels de suporte de longo prazo (LTS) trocam novos recursos por estabilidade.

A atualização traz suporte de hardware, ajustes de desempenho e correções de segurança, mas em sistemas de produção você normalmente testará primeiro.

O que acontece durante a inicialização?

Versão muito resumida: o firmware/UEFI é executado primeiro, o gestor de arranque carrega o kernel na memória, o kernel inicializa o hardware e os controladores, monta o armazenamento e, em seguida, inicia o primeiro processo do espaço do utilizador que ativa o resto do sistema. Depois disso, ele agenda continuamente o trabalho e lida com a E/S em segundo plano.

O meu telemóvel tem um kernel?

Com certeza. Os telemóveis Android, consolas de jogos, routers e smart TVs geralmente executam algum tipo de sistema operativo com um kernel interno. O conceito não se aplica apenas a computadores de secretária e portáteis.

android kernel

Por que as falhas são chamadas de «kernel panics» (ou «tela azul»)?

Se algo der errado dentro do kernel (como um erro crítico do driver), o sistema operativo geralmente para, em vez de arriscar corromper os dados. Os sistemas semelhantes ao Unix relatam um kernel panic; o Windows mostra um erro de paragem (a «tela azul»). É dramático, mas é uma medida de segurança de último recurso que protege os seus ficheiros.

Resumo rápido

  • O kernel é o núcleo privilegiado do sistema operativo que gere a CPU, a memória, os dispositivos e a E/S.
  • As aplicações interagem com ele através de chamadas de sistema entre o modo de utilizador e o modo kernel.
  • Diferentes designs de kernel (monolítico, microkernel, híbridos) equilibram desempenho, isolamento e facilidade de manutenção.

Termos relacionados

  • Espaço do utilizador / Espaço do kernel: Regiões onde os aplicativos normais e o kernel são executados.
  • Chamada de sistema (syscall): O ponto de entrada controlado das aplicações para os serviços do kernel.
  • Driver: Componente do kernel ou do espaço do utilizador que sabe como operar um dispositivo específico.
  • Agendador: Componente do kernel que decide qual thread será executado a seguir.
  • Memória virtual: recurso do kernel que atribui a cada processo o seu próprio espaço de endereço.
  • Bootloader: Programa que carrega o kernel na memória durante a inicialização.
  • Erro fatal do kernel/paragem do sistema: uma falha fatal no modo kernel que interrompe o sistema para evitar danos.

CONTEÚDO RELACIONADO