Sei sulla pagina 1di 4

KERNEL MONOLTICO

O kernel monoltico, defendido por Linux Torvalds, criador do sistema operativo GNU/LINUX, assenta numa base de alto nivel sobre todo o hardware de um computador. Este tipo de Kernel, assume-se como um bloco nico, onde se misturam drivers e servios num nico cdigo binrio, de uma forma no modular. Tem um rendimento maior que um MicroKernel, lgicamente, que por ser um unico bloco, requer tambm nova compilao de todo o bloco, sempre que se altere algum servio deste kernel. O kernel monolitico, tal como toda a tecnologia informtica, tem vindo a se moldar s novas necessidades e desafios, pelo que possivel hoje compilar pequenos mdulos, editar, carrega-los e descarrega-los em tempo de execuo ( semelhante ao que existe no kernel MicroKernel ), mas com a grande diferena que so executados ao mesmo nivel ( nivel 0 / anel 0 ), do Kernel, e dessa forma, o conjunto do kernel com esses pequenos mdulos, formam por si s um unico nucleo.

Fig. 1 Esquema exemplificativo de um Kernel Monolitico

Tratando-se de um sistema predominantemente de bloco nico, normal que concentre nele o maior nmero de funcionalidades possiveis, tais como : Planificao, Sistema de Ficheiros, Gesto de Redes, Controladores, Gesto de memria, etc, dentro de um s ficheiro, o que no ser dificil de imaginar que o tamanho desse ficheiro pode ser considervel. Claro que, um sistema destes, encontra dentro de todo o seu nucleo, todas as funes necessrias para o funcionamento do sistema operativo, e as mesmas encontram-se ligadas entre si, pelo que qualquer anomalia numa dessas funes pode comprometer o total funcionamento do sistema operativo.

Tendencialmente, este tipo de Kernel, teve as suas origens, em sistemas operativos pequenos, que com o tempo foram incorporados no so seu interior crescentes melhorias, fazendo aumentar o seu nucleo, at se converterem em sistemas de grande reconhecimento, tais como o MSDOS e o UNIX. Um dos grandes problemas, que se faz notar no Kernel Monolitico, precisamente no que diz respeito, sensibilidade necessria, sempre que se tem que alterar algumas das suas funcionalidades, uma vez que obriga modificao de um unico programa com centenas de milhares de cdigo de linhas, cuja responsabilidade dessa alterao enorme, e que obriga a um grande planeamento, para que no interceda com outras funcionalidade existentes dentro do bloco. Talvez pela prpria formao de Linus Torvalds, que era programador, defendia, que um sistema onde o kernel e drivers co-habitam dentro do mesmo contexto de prioridade, faz com que se torne mais simplificada a mudana de contexto entre as chamadas de processos. Sobre a ideia de Linus Torvalds, o tempo veio mostrar que ele estaria certo, uma vez que o linux, se popularizou de uma forma exponencial, o contrrio aconteceu com o MINIX. Enquanto isso David Cutler ( analista sistemas da Microsoft ), tambm apostou no modelo Monolitico, e que prevaleceu durante o percurso evolutivo dos sistemas operativos da Mircrosoft. Tendo em conta o sucesso destes dois sistemas operativos, no coloca por si s em causa todas as condicionantes de Tanembaum, que defendia o sistema microkernel, na diviso de 4 aneis distintos ao contrrio dos apenas 3 aneis defendidos por Torvalds. Linus, coloca o Kernel e os Drivers todos dentro do mesmo contexto, como j foi dito, Tanembaum, distingue-os em aneis diferentes, alegando possiveis problemas de segurana e desempenho.

Fig 2 - MicroKernel, Andrew Tanembaum

Fig 3 - Kernel Monolitico, Linus Torvalds

Apesar da insistncia, de Linus Torvalds, na alegao ( inegvel ), de que o desempenho de um sistemas Monolitivo superior ao do MicroKernel, a verdade que h vrios exemplos de sistemas operativos Microkernel, com excelente desempenho, como por exemplo o IOS da Cisco, usado nos seus routers.

Falando de segurana, no Kernel monolitico, qualquer intruso lgica (maliciosa) que acompanhe um driver ou servio, afectar todo o anel 0 ( fig.3 ), o que compremeter todo o sistema operativo, quem no viu j no windows o celebre ecran azul ? Ou a mensagem Kernel Panic no Linux ?, situao mais reduzida num microkernel, onde o kernel minimo e separado dos outros componentes que o torna mais confiavel neste aspecto.

Fig- 4 Gravao num Kernel Monolitico

Fig 5 Gravao num MicroKernel

Note-se que no esquema do Kernel Monolitico (fig. 4 ), no encontramos mdulos a interagir com o Kernel, pelo que na teoria o periodo de resposta do sistema ser obviamente mais rpido uma vez que apenas existe a interao entre o processo do utilizador e o Kernel, enquando que no MicroKernel, encontramos a zona modular, a acrescer ao processo. Ainda assim, existe uma vantagem ao nvel do kernel Monolitico, a portabilidade, isto , uma vez que se trata apenas de um sistema reduzido ao nivel dos ficheiros que necessita para funcionar, torna mais prtico e mais possivel a portabilidade do sistema. Apesar do que se disse sobre o Kernel monoltico, relativamente ao uso do mesmo espao pelos drivers e funces, hoje, uma caracteristica do Kernel monolitico, a possibilidade de compilar e executar algumas funes em mdulos LKM ( loadable kernel modules )no caso do linux. Na prtica, trata-se de bibliotecas separadas, que podem ser carregadas e descarregada em modo de execuo. Uma das grandes responsabilidades do Kernel, em particular o monolitco, de garantir o nivel de abstrao relativamente ao interface de hardware, permitindo desta forma que os processos o utilizem concorrentemente, de uma forma padronizada. Linus Torvalds, em entrevista a Richard Morris, sobre o clebre e famoso debate com Tanenbaum, onde se discutia o assunto microkernel vs monolitico, foi interrogado sobre a questo da sua insistente defesa sobre o sistema monolitico, em resposta questo Tovalds, refere que a experincia dele sobre ( na altura ) os 17 anos de trabalho com sistemas operativos, no prev que sejam os sistemas operativos baseados no microkernel que enconstaro o os sistemas monoliticos. Para Linus, a razo que os sistemas operativos permanecam sobre sistema monolitico pela mesma razo que as rodas continuam redondas, ou seja para o criador do Linux, a razo apenas porque assim que os sistemas devem se feitos. No entanto, entende que haver uma possibilidade de mudar as suas iideias, a partir do momento, que o hardware altere completamente a sua forma tecnolgica, pelo que na opinio do mesmo, Software e Hardware, tem uma inrcia impressionante, assim como a forma das coisas permanecerem como so durante dcadas, pelo que o assunto no o preocupa. Uma das grandes vantagens que se pode associar a um sistema operativo monolitico, precisamente o desempenho, e que se trata de algo muito importante para a capacidade de resposta de um computador. No entanto, assinalam-se algumas desvantagens que nos fazem pensar... por exemplo a insegurana, provocada por um livre acesso s funes de todos os sub-sistemas num unico ficheiro, e a manuteno de um Kernel onde se encontra tudo aglomerado, pode dificultar as alteraes que se pretende fazer ao Kernel. So exemplos de uso do Kernel Monolitico : BSD, LINUX, MS-DOS, WINDOWS 95, WINDOWS 98, WINDOWS ME, SOLARIS.

Potrebbero piacerti anche