Você está na página 1de 6

Uma breve introduo aos tipos de projetos de kernels

Licena Introduo Kernels Monolticos Vantagens Desvantagens Exemplos de Kernels Monoltico Microkernels Vantagens Desvantagens Exemplos de Microkernels Exokernels Vantagens Desvantagens Exemplos de Exokernels Referncias

Licena Este documento pode ser usado livremente desde que seja mantido os crditos e haja uma notificao ao autor. Este documento foi escrito por Geraldo Netto (geraldonetto@gmail.com) e revisado pelo Prof. Ms. Alexander Luz Sperandio e pela Profa. Ms. Ana Cludia Madaleno. Introduo Este artigo tem por objetivo mostrar algumas formas de como projetar kernels. importante observar que este artigo no cobre integralmente o tpico. Primeiramente devemos rever alguns conceitos, O que um kernel? Um kernel um software que faz a interface entre o hardware (parte fsica do computador) e as aplicaes (programas como Internet Explorer, Word, Excel) como mostrado abaixo:

Estrutura bsica de um computador importante notar que em algums sistemas operacionais o kernel no to visvel, este o caso dos Windows, MacOS X, entre outros sistemas que mostram um ambiente operacional grfico para o usurio, ocultando informaes tcnicas no momento da inicializao (boot). Em outros casos o kernel mais visvel para o usurio, como o MS-DOS, Linux, FreeBSD, entre outros.

Kernels Monolticos Os kernels monolticos so aqueles que contm todos os sub-sistemas (servios fornecidos pelo kernel, como por exemplo um sistema de arquivos) em um nico executvel binrio. Andrew S. Tanenbaum os define como A grande baguna. verdade, drivers, servios e tudo mais esto contidos neste mesmo binrio. Esta a forma mais comum de kernel. Como pode ser observado no grfico abaixo, o kernel monoltico um bloco nico que normalmente permite o acesso em nvel de usurio aos seus sub-sistemas atravs de um shell (interpretador de comandos) ou ainda em um ambiente operacional grfico.

Topologia de um Kernel Monoltico Vantagens

Normalmente um kernel monoltico tem um desempenho melhor que outras formas de desenho de kernel

Desvantagens

Um kernel monoltico tende a ser inseguro pois h um livre acesso a todas as funes de todos os sub-sistemas A manuteno do kernel em nvel de programao muito prejudicada pois o kernel deve ser recompilado e substituido por completo para ter acesso a um novo recurso do kernel

Exemplos de Kernels Monolticos So exemplos de kernels monolticos: FreeDOS, MS-DOS, Unixes antigos, Linux (quando compilados como kernel monoltico), ModulOS, entre outros.

Microkernels Os microkernels so kernels que tem um framework bsico que atravs de troca de mensagens, conversa como os sub-sistemas que esto em nvel de usurio, funcionando como programas normais. Por exemplo, o sub-sistema que implementa um sistema de arquivos executado como como se fosse um programa qualquer.

Topologia de um Microkernel Vantagens


Os microkernels so modulares, cada sub-sistema do microkernel funciona como plug-ins e por isso o microkernel extremamente flexvel H tambm a vantagem de um microkernel tambm pode ter um executvel binrio menor que um kernel monoltico por que o microkernel permite a utilizao plug-ins que podem ser usados de acordo com as necessidades do projeto

Desvantagens

Os microkernels tem um desempenho menor comparado com um kernel monoltico justamente pelo fato de fazer um uso mmuito intenso de troca de mensagens

Exemplos de Microkernels Os principais exemplos de microkernels so: OpenSolaris, Windows NT (incluindo Windows 2000, Windows XP e Windows 2003), QNX, Fiasco, L4, Minix.

Exokernels Os exokernels so ainda mais radicais, a idia criar a menor camada de kernel expondo o hardware e dar o controle aos outros sistemas que rodaram na camada imediatamente superior.

Topologia de um Exokernel Vantagens

Os exokernels permitem ter vrios sistemas em paralelo, atualmente o exokernel tem sido explorado em sistemas de virtualizao de sistemas operacionais completos como o caso do XEN. Na realidade, como podemos notar, o exokernel traz um conceito muito parecido com o microkernel, o que nos permite concluir que o exokernel um microkernel que ao invs de ter sub-sistemas em nvel de usurio (sub-sistemas rodando como programas, como j citado acima), tem sistemas operacionais inteiros funcionando na camada superior ao exokernel

Desvantagens

Os exokernels tem como desvantagem a forma de projet-los, o exokernel um software muito difcil de se projetar por que necessrio isolar cada sistema operacional e ao mesmo tempo permitir o acesso aos recursos da mquina como disco rgido, memria, entre outros

Exemplos de Exokernels Os principais exemplos de Exokernels so: XEN, entre outros.

Referncias Tanenbaum S., Andrew. Sistemas Operacionais Modernos. 2 Edio, So Paulo, Prentice Hall, 2003 FreeDOS http://www.freedos.org Linux http://www.kernel.org ModulOS http://modulos.sf.net OpenSolaris http://www.opensolaris.org Windows http://www.microsoft.com/windows QNX http://www.qnx.com Fiasco http://os.inf.tu-dresden.de/fiasco/ L4 http://os.inf.tu-dresden.de/L4/ Minix http://www.minix3.org XEN http://www.cl.cam.ac.uk/xeno/xen

Você também pode gostar