Kernel monolítico
Um kernel monolítico é uma arquitetura de sistema operacional em que todo o sistema operacional funciona no espaço do kernel. O modelo monolítico difere de outras arquiteturas de sistema operacional (como a arquitetura de microkernel) porque ele sozinho define uma interface virtual de alto nível sobre o hardware do computador. Um conjunto de primitivas ou chamadas de sistema implementam 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
Sistemas operacionais modulares, como OS-9, e os sistemas operacionais monolíticos mais modernos, como OpenVMS, Linux, BSD, SunOS, AIX e MULTICS podem carregar (e descarregar) módulos executáveis dinamicamente em 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 servidor-cliente (e seus derivados às vezes comercializados como kernel híbrido) que usam microkernels e servidores (não confundir com módulos ou daemons).
Na prática, 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 fácil extensão dos sistemas operacionais' capacidades conforme necessário. Os módulos carregáveis dinamicamente incorrem em 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 no 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 memória de acesso aleatório escassa.
Exemplos de arquitetura monolítica
- kernels Unix
- BSD
- FreeBSD
- NetBSD
- OpenBSD
- MirOS BSD
- SunOS
- Sistema UNIX V
- AIX
- HP-UX
- Solaris
- OpenSolaris / ilumos
- BSD
- kernels do tipo Unix
- Linux
- DOS
- DR-DOS
- MS-DOS
- Série Microsoft Windows 9x (95, 98, 98 SE, ME)
- Livre
- OpenVMS
- TempleOS
- XTS-400
- z/TPF
Contenido relacionado
Compilador
Grupo de Interesse Especial Bluetooth
Normalização do banco de dados