Kernel dos Sistemas Operacionais

O Kernel é a parte mais importante de qualquer sistema operacional sendo considerado o núcleo do sistema

Kernel dos Sistemas Operacionais

Neste artigo vamos abordar as estruturas do Kernel no Linux, e aprender como funciona todo seu processo de gerenciamento.

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 monolítico e o microkernel.

O Kernel monolítico é estruturado em um único arquivo binário, um único processo que executa inteiramente em modo protegido. Ele possui desempenho superior na passagem de mensagens, mas 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.

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.

Microkernel:


Os recursos do sistema são acessados através de um protocolo 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.

Pode-se entender o microkernel paralelo como um conjunto de microkernels locais cooperativos, um em cada nó da máquina paralela. O ponto crucial é a comunicação entre processos sobre um mesmo processador ou em processadores diferentes, de acordo com um protocolo cliente/servidor. O módulo responsável pela comunicação possui as funções básicas para receber mensagens originárias de outros proces­sadores, receber resultados de operações executadas remotamente e enviar mensagens destinadas a outros processadores.

Sua organização é baseada no modelo cliente/servidor, onde os serviços do sistema são implementados por servidores especializados. Os Clientes, que são programas de aplicação, solicitam os serviços ao sistema operacional que os encaminham aos processos servidores. Estes recebem a solicitação e a executam, enviando o resultado de volta ao microkernel e então à aplicação.

Maiores detalhes sobre o funcionamento dos processos do Kernel, podemos encontrar no site oficial.

iPhone 11 vs Galaxy S21 - Comparativo

Qual dos dois celulares você deveria levar para casa? Comparamos, assista.

Conteúdo relacionado

Google Nest Audio Review: Caixa de som ou Assistente pessoal?
Gadgets

Google Nest Audio Review: Caixa de som ou Assistente pessoal?

Google Nest Audio foi analisado aqui no Oficina da Net, um speaker com inteligência artificial do Google Assistente, bonito e pronto para a sua casa?

ZFS para Linux está pronto para implantação em larga escala
Softwares

ZFS para Linux está pronto para implantação em larga escala

Anunciado pelo desenvolvedor Brian Behlendorf, a versão 0.6.1 do port nativo ZFS on Linux já está disponível.

Upgrade do GRUB 1 para GRUB 2 (Grand Unified Boot Loader)
Softwares

Upgrade do GRUB 1 para GRUB 2 (Grand Unified Boot Loader)

O Grub 2 é o sistema de boot padrão do Ubuntu desde a versão 9.10 e de outras distribuições com versões mais recentes, em especial no Kernel 2.6.