Núcleo monolítico - Monolithic kernel

Estrutura de sistemas operacionais baseados em kernel monolítico, microkernel e híbrido

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

Referências