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: 96.889 ]

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

Facilidade X Possibilidades

Cloud Computing, vantagens e dúvidas sobre esta tecnologia!

A importância do Linux no Exército

Por que algumas empresas crescem e outras não

Adote um projeto, ajude o Viva o Linux

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts