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.
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.
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.
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.
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.