sábado, 17 de dezembro de 2011

LPI 101 - Arquitetura de Hardware - Kernel dos Sistemas Operacionais

     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.

      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 recebm a solicitação e a executam, enviando o resultado de volta ao microkernel e então à aplicação.


Nenhum comentário:

Postar um comentário