Hurd - O kernel da GNU

Esse provavelmente será o primeiro artigo de uma série. Nessa série pretendo esclarecer todos os mitos e polêmicas envolvendo o Hurd e mostrar o motivo do seu desenvolvimento ainda hoje e quais as possibilidades que ele pode abrir no futuro. Nessa primeira parte pretendo mostrar os conceitos básicos que envolvem esse polêmico kernel.

[ Hits: 99.531 ]

Por: Leonardo Lopes Pereira em 28/03/2005


Microkernel



Microkernel é um termo usado para caracterizar o sistema cujas funcionalidades do sistema saíram do kernel e foram para servidores, que se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (nesse local o programa tem acesso à todas as instruções e a todo o hardware) e deixando o máximo de recursos rodando no "espaço do usuário" (no espaço do usuário, o software sofre algumas restrições, não podendo acessar alguns hardwares, nem tem acesso a todas as instruções).

Muitos autores já escreveram sobre os kerneis monolíticos, eles são mais simples de se fazer, mais da metade dos grandes sistemas usam sua arquitetura. Mesmo com essas e tantas outras qualidades, os kerneis monolíticos tem seus problemas, e por isso se procura outros meios de se criar um kernel, dentre os mais famosos, se destaca o microkernel. Abaixo vai uma pequena lista de problemas dos kerneis monolíticos em geral:
  • Escrever para o "espaço do sistema" é difícil, já que você não pode usar a maioria das bibliotecas existentes, como a GlibC ou a libC5;
  • É complexo "debugar" (É extremamente difícil de se usar um debugger em nível de fonte, como o GDB);
  • Graças às duas primeiras desvantagens, o kernel se torna mais suscetível a bugs;
  • Reiniciar o computador é necessário freqüentemente (principalmente quando é necessário atualizar o kernel ou adicionar novas funções ao mesmo);
  • Bugs tendem a ser mais danosos, já que como todas as funções do kernel têm todos os privilégios, um bug em uma função é capaz de afetar áreas, mesmo que sem nenhuma relação direta.

A maioria dos microkerneis de hoje são mono-servidores, ou seja, possuem apenas um programa no espaço do usuário fazendo todas as funções do kernel. Isso dá um pouco mais de segurança, já que o código não tem acesso direto ao hardware e permite que o mesmo seja portado para outras arquiteturas mais facilmente, mesmo assim isso não faz com que eles não sejam muito diferentes dos kerneis monolíticos atuais.

O Hurd traz consigo não tão somente o conceito de microkernel, mas o conceito de multi-servidor, onde cada serviço tem seu próprio servidor que se comunica com os demais para formar o kernel. Isso permite que você possa trocar uns servidores por outros facilmente; torna mais fácil de se desenvolver servidores; Um "crash" em um dos servidores somente derruba os servidores que dependem dele, jamais o sistema todo e traz liberdade ao usuário (a liberdade citada no começo desse artigo).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Um pouco de história
   3. Microkernel
   4. O que o Hurd é capaz de fazer atualmente?
   5. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Um mês de Arch Linux: Resultado obtido

28 de Agosto - Dia da Liberdade de Software

Eu gostava do MS-DOS

Sociedade Software Livre

A imbecilidade real revelada pela realidade virtual

  
Comentários
[1] Comentário enviado por Ragen em 28/03/2005 - 23:05h

Olá Leonardo,

Eu a um tempo atras estava discutindo com alguns amigos a sobre utilização de tecnologia *academica* na vida real. É espantoso pensar que muita das tecnologias *base* que utilizamos hoje foram desenvolvidas em sua maioria a quase 2 decadas atras.

Mas o Hurd é um ponta-pé inicial pra que eu Particularmente acho ser um marco na história computacional

Ficou muito bom ser artigo

[]`s

Ragen

[2] Comentário enviado por Bach em 29/03/2005 - 00:09h

Muito bom o artigo falta muita documentação em português a respeito. Artigos como o seu vem nos dah os caminhos das pedras.

[3] Comentário enviado por agk em 29/03/2005 - 16:52h

Está de parabéns, muito bem escrito o artigo. O projeto do Hurd é bastante interessante, no futuro quem sabe não estaremos usando GNU/Hurd ao invés de usar GNU/Linux.
[ ]'s

[4] Comentário enviado por removido em 29/03/2005 - 21:46h

parabéns !!!!
finalmente seu texto saiu ...
:0)

[5] Comentário enviado por Ale_ em 29/03/2005 - 21:56h

Explicou bem, realmente falta doc em pt_br sobre o Hurd.

[6] Comentário enviado por jroliv em 14/09/2006 - 17:41h

Ótimo artigo.
Exclareceu muita coisa.

abraço

[7] Comentário enviado por leandrorocker em 09/08/2007 - 14:07h

Essas coisas me dão medo, se os caras estão apanhando tanto pra fazer o Hurd, como é que o Linus fez o Linux tão rápido??

eu hein hehe medo do Linus

Enfim, muito legal seu artigo, parabéns, quem sabe num futuro estaremos podendo usar de maneira satisfatória o Hurd =)

[8] Comentário enviado por removido em 08/06/2009 - 13:51h

hum

deixa eu ver se eu entendi

nao da para usar internet no hurd?? instalei ele aki

ja ateh desanimei, se for isso msm axo que vou voltar para o freebsd

espero que o hurd evolua muito, mas por enquanto vou ficar aguardando

flw

[9] Comentário enviado por Bach em 08/06/2009 - 15:03h

Se seus drivers de rede estiverem instalados instala o Links ou o lynx e pode acessar a internet mesmo sem um servidor X :D

[10] Comentário enviado por removido em 08/06/2009 - 16:01h

hum, bacana

quais as vantagens dele sobre linux e bsd?? tem ambiente grafico kde ou gnome nele??, quais programas podem ser instalados neles??

ateh hj nunca vi nenhum programa que na hora de baixar tenha a opção para hurd
teria que baixar o fonte e compilar??

[11] Comentário enviado por andersonochner em 10/02/2011 - 21:15h

gostei muito viu, deixou bem claro Hurd pra mim.
Valeeu


Contribuir com comentário