Este documento discute dois paradigmas de kernel em sistemas operacionais: kernel monolítico e microkernel. Um kernel monolítico contém todos os subsistemas em um único executável, enquanto um microkernel oferece apenas funções básicas com outros serviços em camadas acima. Microkernels têm vantagens como flexibilidade e modularidade, mas podem ter desempenho menor. Kernel monolíticos geralmente têm melhor desempenho mas menos segurança e flexibilidade.
1. PARADIGMAS DE KERNEL´S EM SISTEMAS OPERACIONAIS
Cássio Antoniazzi
(cassiosvaldo@gmail.com)
Engenharia da Computação
Unilasalle – Centro Universitário Lasalle
Av. Victor Barreto, nº2738-Canoas - RS
Resumo: Esse trabalho apresenta uma abordagem sobre dois tipos de Kernels em Sistemas Operacionais: micro
kernel e kernel monolítico.
Abstracts: This paper presents approach about two types kernels in operating systems: monolithic kernel and
microkernel.
1. Introdução:
Os sistemas operacionais revolucionaram a computação moderna. Sem a existência deles não teríamos o avanço
tecnológico que se tem nos dias de hoje.
Mas por de trás de toda essa facilidade, existem milhões de linhas de código, em linguagem muito próxima ao
hardware, fazendo todo o trabalho difícil para nós usuários. Esse conjunto de instruções tem um nome: kernel.
Veremos a seguir um conceito sobre kernel de um sistema operacional e dois paradigmas de kernel: micro kernel
e kernel monolítico.
2. O que é Kernel:
Kernel de um sistema operacional é o núcleo do sistema, a camada mais próxima ao hardware do computador. É
ele quem faz a interface entre os aplicativos do sistema e o hardware. Segundo [MAXWELL2000], o kernel é o
seu coração, sua mente e seu sistema nervoso. Ele é responsável exclusivamente pelo transporte das tarefas de
mais baixo nível que tornam todas as outras tarefas possível, fazendo malabarismos com diversos processos que
ocorrem simultaneamente, gerenciando sua memória de forma que não interfiram uns nos outros, satisfazendo suas
solicitações de acesso a um disco e muito mais [MAXWELL2000].
3. Kernel monolítico:
Os kernels monolíticos são aqueles que contém todos os sub-sistemas (serviços fornecidos pelo kernel, como por
exemplo um sistema de arquivos) em um único executável binário. Andrew S. Tanenbaum os define como “A
grande bagunça”. É verdade, drivers, serviços e tudo mais estão contidos neste mesmo binário. Esta é a forma mais
comum de kernel. Como pode ser observado no gráfico abaixo, o kernel monolítico é um bloco único que
normalmente permite o acesso em nívelde usuário aos seus sub-sistemas através de um shell (interpretador de
comandos) ou ainda em um ambiente operacional gráfico.
2. Vantagens:
- Desempenho.
Desvantagens:
- Insegurança, pois há acesso a todas as funções do Kernel.
- O kernel ter de ser totalmente recompilado a cada atualização em seu subsistema.
4. Micro kernel:
Microkernel é um modelo onde o kernel oferece somente funções básicas. Os demais serviços, como vídeo e
áudio, não são considerados de extrema importância para o kernel e ficam localizados em uma camada de
abstração acima, a user space.
A idéia foi isolar o kernel e deixá-lo processando somente as tarefas básicas para o gerenciamento do sistema,
descentralizando as tarefas menos importantes
3. Vantagens:
● O maior ganho de um microkernel é em sua flexibilidade, pois é um kernel modular e seus subsistemas
funcionam como uma espécie de plug-in.
● Pelo fato do microkernel ser modular, ele pode perfeitamente se ajustar as necessidades da máquina em que o
sistema operacional está instalado.
Desvantagens:
● Perdem em desempenho por executarem intensas trocas de mensagens com seus módulos.
1. Conclusão:
Os dois diferentes paradigmas de Kernel possuem suas vantagens e desvantagens características. O que se deve ter
em mente é a aplicabilidade do kernel, em que tipo de sistema ele vai trabalhar.
Flexibilidade e tempo de resposta são duas características importantes, mas cabe ao usuário escolher qual delas
será mais decisiva ao seu sistema.
2. Bibliografia:
http://www.artigonal.com/informatica-artigos/sistemas-distribuidos-991878.html
http://ti.crinfo.com.br/?p=86
BERENGER, Francis, MAIA, Luiz Paulo -Arquitetura de sistemas operacionais- 3ª edição (2002)
TANENBAUM, A. S. Sistemas Operacionais Modernos, 1992.
SILBERSCHATZ, Abraham, GALVIN, Peter, GAGNE, Greg – Sistemas Operacionais, conceitos e
aplicações- Elsvier, 2000- RJ