Núcleo monolítico - Monolithic kernel
Um kernel monolítico é uma arquitetura de sistema operacional em que todo o sistema operacional está trabalhando no espaço do kernel . O modelo monolítico difere de outras arquiteturas de sistema operacional (como a arquitetura de microkernel ) porque sozinho define uma interface virtual de alto nível sobre o hardware do computador. Um conjunto de primitivas ou chamadas de sistema implementa todos os serviços do sistema operacional, como gerenciamento de processos , simultaneidade e gerenciamento de memória . Os drivers de dispositivo podem ser adicionados ao kernel como módulos .
Módulos carregáveis
Os sistemas operacionais modulares, como OS-9, e a maioria dos sistemas operacionais monolíticos modernos, como OpenVMS , Linux , BSD , SunOS , AIX e MULTICS, podem carregar (e descarregar) dinamicamente módulos executáveis no tempo de execução.
Essa modularidade do sistema operacional está no nível binário (imagem) e não no nível da arquitetura. Os sistemas operacionais monolíticos modulares não devem ser confundidos com o nível arquitetônico de modularidade inerente aos sistemas operacionais cliente-servidor (e seus derivados às vezes comercializados como kernel híbrido ) que usam microkernels e servidores (não devem ser confundidos com módulos ou daemons).
Em termos práticos, carregar módulos dinamicamente é simplesmente uma maneira mais flexível de lidar com a imagem do sistema operacional em tempo de execução - em vez de reinicializar com uma imagem de sistema operacional diferente. Os módulos permitem uma fácil extensão das capacidades dos sistemas operacionais conforme necessário. Módulos carregáveis dinamicamente geram uma pequena sobrecarga quando comparados à construção do módulo na imagem do sistema operacional.
No entanto, em alguns casos, carregar módulos dinamicamente (conforme necessário) ajuda a manter a quantidade de código em execução no espaço do kernel a um mínimo; por exemplo, para minimizar a pegada do sistema operacional para dispositivos incorporados ou aqueles com recursos de hardware limitados. Ou seja, um módulo descarregado não precisa ser armazenado na escassa memória de acesso aleatório .
Exemplos de arquitetura monolítica
Veja também
- Exokernel
- Kernel híbrido
- Kernel (ciência da computação)
- Microkernel
- Nanokernel
- Debate Tanenbaum-Torvalds