Em sistemas de computadores, existem termos muitos complexos que a maioria dos usuários não conhece. Um termo bastante utilizado e que suscita algumas dúvidas é o kernel, e é sobre esse tema que vamos falar nesta matéria. Vamos explicar-lhe o que é, para que serve e quais os diferentes tipos que existem.
O que é o Kernel?
Na área de computação o kernel (ou núcleo) é o componente central do sistema operativo de um computador, ou seja, ele faz a ponte entre os aplicativos e o processamento dos dados no hardware (a parte física do computador) e no software (programas instalados).
É também um componente básico do sistema operativo que permite que os processadores e dispositivos amovíveis possam realizar a sua função, e comunicar processos e chamadas de sistema.
Existem no mercado diversos tipos de kernel que funcionam de maneiras diferentes, consoante o seu desenho e a abordagem específica para o qual tenham sido criados.
Veja também:
FAT, NTFS e EXT – Tipos de Sistemas de arquivos
Finalidade básica de um kernel
O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos, podemos identificar como principais recursos os seguintes:
- Unidade de processamento central (CPU);
- Memória;
- Dispositivos amovíveis (mouse, teclado, pen, disco externo…).
É importante salientar que um kernel tem 4 tipos de funcionalidade especificas e que são desempenhadas ao mesmo tempo:
- Gerenciamento de Processos;
- Gerenciamento de Memória;
- Gerenciamento de Dispositivos;
- Chamadas de Sistemas.
Tipos de kernel existentes
Tal como indicámos, existem 5 tipos diferentes de núcleos, os quais passamos a explicar de seguida:
-
Monolíticos
– Neste tipo de núcleo, todos os serviços do sistema operativo funcionam em simultâneo com a linha de execução principal do mesmo, encontrando-se também na mesma área de memória. A sua principal desvantagem é a dependência entre todos os componentes do sistema, ou seja, se um driver falha pode comprometer todo o sistema (são exemplos de kernel’s monolíticos – BSD, Linux, DOS, Solaris e Palm OS).
-
Micronúcleo
– Os micronúcleos são conjuntos mais simples, que permitem ao sistema implementar pequenos serviços do sistema operativo (comunicação entre processos, gerenciamento de memória, multitarefas…). Este permite também rodar diferentes sistemas operativos desde que o mesmo nunca tenha sido modificado, permitindo desta forma, rodar mais do que um sistema operativo em simultâneo. São exemplos de micronúcleos o Hurd, MINIX e Mach.
-
Híbridos
– São um meio termo que utiliza tanto partes de um núcleo monolítico como de um micronúcleo, de forma a conseguir executar ao mesmo tempo serviços como ler sistemas de arquivos ou redes, sem que haja impacto na performance do mesmo, enquanto executa o código no kernel. São exemplos de núcleos híbridos o BeOS / Haiku, Microsoft Windows NT e XNU (aplicado nos Mac OS X).
-
Nanonúcleos
– Um nanonúcleo delega virtualmente todos os serviços — incluindo até os mais básicos como controlador de interrupções ou o temporizador — para drivers de dispositivo para tornar o requerimento de memória do núcleo ainda menor do que o dos tradicionais. São exemplos o Adeos, EROS, OZONE, Trion Operating System.
-
Exonúcleos
– Permite colocar os recursos físicos de hardware a rodar em diferentes programas de modo a conseguir simular abstrações num sistema operativo ou desenvolver a própria abstração de modo a dar ao aplicativo um melhor desempenho.
E aí, que achou da nossa matéria? Esperamos que tenha entendido um pouco mais sobre o que é o kernel ou núcleo e quais são as suas principais funções.