Sem dúvida o Kernel é a parte mais importante de qualquer sistema operacional sendo considerado o núclio do sistema. Ele é responsável pelas funções de baixo nível, como gerenciamento de memória, gerenciamento de processos, subsistemas de arquivos, rede, suporte aos dispositivos e periféricos conectados ao computador. Os núcleos dos sistemas operacionais podem ser implementados de duas formas básicas: Kernel monlítico e o microkernel.
O Kernel monolítico é estruturado em um único arquivo binário, um único processo que executa inteiramente em um modo protegido. Apresenta inúmeras desvantagens como a dificuldade de alterações no núcleo e o desperdício de recursos, pois os drivers de dispositivos permanecem constantemente em memória, mesmo quando os dispositivos não estão sendo utilizados.Figura: Estrutura do Kernel Monolítico
No microkernel apenas uma pequena parte do núcleo executa em modo protegido para acessar diretamente o hardware, como também é responsável pela comunicação entre processos e gerência de memória.
O restante do sistema roda em modo usuário, uma vez que executa tarefas que não necessitam acessar diretamente o hardware e seus serviços clássicos são assegurados por processos servidores.
Os resurcos do sistema são acessados através de um protoclo cliente/servidor, e para incluir um novo serviço basta acrescentar um novo servidor. O microkernel possui um desempenho inferior ao modelo monolítico, mas podem-se alterar suas partes sem a necessidade de reiniciar a máquina permitindo a expansão para um sistema distribuído de forma mais fácil.Figura: Microkernel.
Nenhum comentário:
Postar um comentário