Micronúcleo em OperaSistema de configuração: Architecnologia, vantagens
⚡ Resumo Inteligente
O microkernel é um núcleo mínimo de sistema operacional que mantém apenas as funções essenciais — gerenciamento de memória, escalonamento de processos e comunicação entre processos — no espaço do kernel, enquanto os drivers de dispositivo, servidores de arquivos e outros serviços são executados separadamente no espaço do usuário.
Antes de aprendermos sobre o Microkernel, vamos entender o seguinte:
O que é Kernel?
O kernel é uma parte importante de um sistema operacional que gerencia os recursos do sistema. Ele também atua como uma ponte entre o software e o hardware do computador. É um dos primeiros programas a ser carregado na inicialização, após o carregador de inicialização (bootloader). O kernel também é responsável por fornecer acesso seguro ao hardware da máquina para diversos programas. Ele também decide quando e por quanto tempo um determinado aplicativo utiliza hardware específico.
O que é Micronúcleo?
Um microkernel é um software ou código que contém a quantidade mínima necessária de funções, dados e recursos para implementar um sistema operacional. Ele fornece um número mínimo de mecanismos, suficiente para executar as funções mais básicas de um sistema operacional. Isso permite a implementação de outras partes do sistema operacional, pois ele não impõe muitas políticas.
Microkernels e seus ambientes de usuário são geralmente implementados no C++ or linguagens de programação C com um pouco de montagem. No entanto, outras linguagens de implementação são possíveis com alguma codificação de alto nível.
O que é um kernel monolítico?
Um kernel monolítico executa todos os serviços básicos do sistema, como por exemplo... gerenciamento de processos, gerenciamento de memória, comunicação de E/S e tratamento de interrupções, sistema de arquivos, etc., no espaço do kernel.
Nesse tipo de abordagem de kernel, todo o sistema operacional é executado como um único programa em modo kernel. O sistema operacional é escrito como uma coleção de procedimentos que são interligados em um grande programa binário executável.
micro kernel Archiarquitetura
O micronúcleo é a parte mais importante para a correta implementação de um sistema operacional. Como você pode ver no diagrama abaixo, o micronúcleo executa operações básicas como gerenciamento de memória, mecanismos de escalonamento de processos e comunicação entre processos.
Baseado em Microkernel OperaSistema de Ting
O micronúcleo é o único software que executa em nível privilegiado. As demais funcionalidades importantes do sistema operacional são removidas do modo kernel e executadas em modo usuário. Essas funcionalidades podem incluir drivers de dispositivo, aplicativos, servidores de arquivos, comunicação entre processos, etc.
Componentes do Microkernel
Um micronúcleo compreende apenas as funcionalidades essenciais do sistema. Um componente é incluído no micronúcleo somente se a sua remoção interromper o funcionamento do sistema. Todos os outros componentes não essenciais devem ser executados em modo de usuário.
As funcionalidades mínimas exigidas no micronúcleo são:
- Gerenciamento de memória Mecanismos como espaços de endereçamento devem ser incluídos no micronúcleo. Ele também contém recursos de proteção de memória.
- Os mecanismos de escalonamento do processador devem conter escalonadores de processos e threads.
- A comunicação entre processos gerencia os servidores que executam seus próprios espaços de endereço.
Diferença entre microkernel e kernel monolítico
| Parâmetros Técnicos | Kernel Monolítico | micro kernel |
|---|---|---|
| Básico | É um processo complexo que opera em um único espaço de endereçamento. | Ele pode ser dividido em processos separados chamados servidores. |
| Code | Para escrever um kernel monolítico, é necessário menos código. | Para escrever um microkernel, é necessário mais código. |
| Total | Se um serviço travar, todo o sistema entrará em colapso em um kernel monolítico. | Se um serviço travar, isso nunca afetará o funcionamento de um microkernel. |
| Comunicação | Trata-se de um único arquivo binário estático. | Os servidores se comunicam através do IPC. |
| Exemplo | Linux, BSD, Microsoft Windows (95, 98, Eu), Solaris, OS-9, AIX, DOS, XTS-400, etc. | L4Linux, QNX, Symbian, K42, Mac OS X, Integrity, etc. |
Vantagens do Microkernel
Aqui estão as vantagens/benefícios de usar um microkernel:
- A arquitetura de micronúcleo é pequena e isolada, portanto pode funcionar melhor.
- Os micronúcleos são seguros porque incluem apenas os componentes que, de outra forma, interromperiam o funcionamento do sistema.
- A expansão do sistema é mais acessível, permitindo que seja adicionada à aplicação do sistema sem afetar o kernel.
- Os microkernels são modulares, e os diferentes módulos podem ser substituídos, recarregados ou modificados sem sequer afetar o kernel.
- Menos falhas de sistema quando comparado com sistemas monolíticos.
- A interface do micronúcleo ajuda a implementar uma estrutura de sistema mais modular.
- Novos recursos podem ser adicionados sem recompilar.
- O mau funcionamento do servidor também é isolado, assim como o mau funcionamento de qualquer outro programa do usuário.
- O sistema de micronúcleo é flexível, permitindo que diferentes estratégias e APIs implementadas por diferentes servidores coexistam no sistema.
- A redução da quantidade de código executado em modo kernel resulta em maior segurança e estabilidade.
Desvantagens do Microkernel
Aqui estão as desvantagens/contras de usar um microkernel:
- Fornecer serviços em um sistema de micronúcleo é caro em comparação com um sistema monolítico normal.
- É necessária uma troca de contexto ou uma chamada de função quando os drivers são implementados como procedimentos ou processos, respectivamente.
- O desempenho de um sistema microkernel pode ser indiferente e pode levar a alguns problemas.


