Definição – O que significa Kernel Monolítico?
Um kernel monolítico é uma estrutura de software de sistema operacional que detém todos os privilégios para acessar dispositivos de entrada/saída (E/S), memória, interrupções de hardware e pilha de CPU. Kernels monolíticos tendem a ser maiores do que outros kernels porque lidam com muitos aspectos do processamento do computador no nível mais baixo e, portanto, têm que incorporar código que faça interface com muitos dispositivos, canais de E/S e de interrupção e outros operadores de hardware.
Esta forma de kernel é a base para Linux, Unix, MS-DOS e Mac OS. Os sistemas operacionais mais novos geralmente usam um kernel híbrido para permitir uma manutenção mais fácil e melhorias no sistema operacional.
Definirtec explica Kernel Monolítico
Os kernels monolíticos retêm acesso privilegiado total sobre os vários componentes sob seu controle. Esses incluem:
- Sistemas de arquivos
- Comunicação entre processos
- E/S e gerenciamento de dispositivos
- Gestão de processos fundamentais
- Hardware
O motivo pelo qual arquiteturas de kernel mais novas, como microkernel ou design de kernel híbrido, são preferidas é porque quanto maior se torna o kernel, mais funções ele deve assumir. Isso torna o código complicado e mais lento para carregar. Outra desvantagem do design do kernel monolítico é que o código do kernel precisa ser modificado para adicionar recursos ou corrigir bugs. Isso geralmente requer a recompilação do código do kernel e dos drivers de hardware; pode até significar uma atualização completa do sistema operacional, o que é caro e reduz a confiança do usuário.
As arquiteturas de kernel mais recentes apenas retêm acesso a privilégios limitados e passam privilégios para o espaço do usuário por meio de servidores, que oferecem gerenciamento de recursos de forma independente com seus próprios privilégios. Esses servidores são executados fora do espaço de memória do kernel, permitindo tamanhos de kernel muito menores e uma rota de atualização muito mais eficiente.
A arquitetura de kernel monolítica ainda é usada para sistemas como os sistemas baseados em Linux, onde um kernel em evolução que é constantemente atualizado e substituído faz parte da cultura do sistema operacional. A natureza simplificada do Linux manteve seu kernel monolítico em um tamanho aceitável, tornando mais fácil adicionar recursos.