ct

    Kernel Monolítico, Kernel Modular

    Termos técnicos GdH



    Existem duas "escolas" para o desenvolvimento de sistemas operacionais. Uma delas, aparentemente a com mais adeptos, defende a idéia de um kernel modular, onde o kernel é o mais simples possível e se encarrega de basicamente de coordenar a troca de mensagens e dados entre os diferentes componentes do sistema. Em teoria este sistema é mais simples, pois ao invés de um único e gigantesco Kernel com milhões de linhas de código você passa a ter vários componentes menores separados.

    A idéia de kernel monolítico é defendida principalmente por Linux Torvalds, que a utiliza no kernel do Linux. O principal argumento a favor do kernel monolítico é que embora dividir o kernel em vários componentes facilite o desenvolvimento, coordenar a troca de informações entre as partes de uma forma confiável torna-se tão complicado que logo supera este ganho inicial.

    Apesar disso, o kernel do Linux incorporou algumas características de um kernel modular, o que o torna atualmente uma espécie de kernel "semi-monolítico". Todo o kernel, incluindo os drivers de dispositivo e outros componentes ainda formam um único bloco de código (gigantesco, mais de 30 MB compactado) mas agora eles podem ser compilados separadamente na forma de módulos. Estes módulos podem ser carregados e descarregados a qualquer tempo, como seria possível num kernel modular, porém sem a perda de desempenho ou aumento da complexidade que existiria ao utilizar um kernel realmente modular.

    A desvantagem é que os módulos compilados para uma determinada versão do kernel não podem ser usados em outras máquinas, que utilizem versões diferentes. Mesmo drivers binários, como os para softmodems precisam ser primeiro transformados em módulos, utilizando o código fonte ou os headers do kernel atual para só depois poderem ser usados.


    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações



[08/02] Será que o Linux está ficando muito lento e 'inchado'?
[05/02] PCI Express: compatibilidade, linhas de dados e o PCIe 2.0
[05/02] Disney e Sony: utilitários de modelagem 3-D de código aberto
[04/02] Artigo: O Hymera e o Linux comercial
[03/02] Artigo: 'Open-PC': rumo ao hardware aberto
[02/02] Processadores da plataforma Core, os 45 nm
[01/02] Chipsets da nVidia para o Phenom e Phenom II
[01/02] RawTherapee, o novo editor de fotos raw de código aberto
[29/01] Chipsets LGA-775 da nVidia
[29/01] Fotografia: novas impressões, experiências e emoções!
[28/01] Análise: iPad, Slate e a era dos tablets
[27/01] Montando um DVD de vídeo na unha, via terminal
[26/01] Chipsets LGA-775 da Intel: X38, G35, Q35 e o P45
[26/01] Primeiras impressões do Jibbed 5.0.1 (live CD do NetBSD)
[25/01] Chipsets LGA-775 da Intel: G965, P965, Q965 e o P35
[25/01] Tutorial: Processadores da plataforma Core, parte 1
Destaques



» Hardware o Guia Definitivo, disponível para leitura online
» Firewire (IEEE 1394)
» Redes, outros protocolos: IPX/SPX
» Processadores da plataforma Core, parte 1
» Configurando um servidor de rede local com o Ubuntu, fácil
» Masterizando DVDs com o QDVDAuthor
» Netbooks: pequenos detalhes que fazem a diferença
» Smartphones: Nokia, série N
» Entendendo os HDs, parte 2
» Ressuscitando as impressoras EPSON
» Smartphones: As plataformas
Receba as atualizações diariamente por e-mail:
Assine o RSS Veja todas as atualizações... Add to iGoogle
cb
Livros de Carlos E. Morimoto Contato HOME