Artigos

GNU/Hurd

Sistemas *nix ou Unix-like

Existe atualmente uma vasta oferta de sistemas operativos *nix ou Unix-like, ou seja, sistemas que se comportam de forma semelhante ao UNIX. O mais conhecido será certamente o GNU/Linux, muitas vezes referido apenas por Linux. Outros são, por exemplo, as variantes livres do BSD, como o FreeBSD ou o NetBSD. Outro é ainda o GNU/Hurd, que lhe darei a conhecer neste artigo.

Um pouco de história…

O GNU, acrónimo de GNU is not UNIX, surgiu em 1983, pelas mãos de Richard Stallman, como um substituto completamente livre e aberto para o UNIX, na altura um popular sistema operativo de código fechado.

Como qualquer sistema operativo, o GNU precisava de um kernel. Um dos primeiros a ser usado com sucesso por Richard Stallman foi o Hurd. Surgia então a designação GNU/Hurd.

Em 1991, quando o kernel Linux se tornou utilizável, os envolvidos no projecto GNU decidiram implementa-lo. Depararam-se então com uma questão: continuar a desenvolver o Hurd, ou esquecê-lo em favor do Linux?

Desde então, o Hurd continuou em desenvolvimento, a paço de caracol, e  nunca atingiria o patamar de usabilidade e estabilidade oferecidos pelo Linux, que a cada dia ganhava adeptos. O próprio fundador da Free Sotware Foundation admite que finalizar o Hurd não é uma prioridade, já que existe já uma alternativa perfeitamente viável e com provas dadas.

O que é o Hurd?

O Hurd é um kernel formado pelo microkernel Gnu Mach e por uma série de serviços (daemons na terminologia UNIX e *nix) que correm por cima deste mesmo microkernel.

O kernel propriamente dito contém apenas os recursos mínimos, necessários para que o sistema funcione, como é o caso da gestão de memória. Tudo o resto é considerado secundário, e são exemplos disso os serviços de rede, os serviços gráficos, entre outros. Estes serviços, chamados Servers, correm não no domínio do kernel, mas no domínio do utilizador (no user space). A comunicação entre os processos, designada por IPC (Inter Process Communication), garante que todos os componentes funcionem em sintonia.

Diagrama de funcionamento de um microkernel

 

O kernel Linux segue um modelo de funcionamento diferente, é monolítico, ou seja, os serviços que eram considerados secundários no caso anterior, encontram-se aqui integrados no núcleo, através de módulos.

Diagrama de funcionamento de um kernel monolítico

Distribuições de GNU/Hurd

À semelhança do GNU/Linux, existem distribuições de GNU/Hurd. Deparei-me com apenas três projetos ativos. o próprio GNU, o Debian GNU/Hurd e o Arch Hurd.

Tentei testar o Arch Hurd usando o VirtualBox. A instalação é semelhante à do Arch Linux, na verdade, são muito reduzidas as diferenças visíveis entre ambos. Infelizmente, por algum motivo que desconheço, o instalador não me deixou formatar as partições que criei nem escolher os respetivos mount points. Como tal, não me foi possível instala-lo, ainda assim, deixo-vos uma screenshot:

Considerações finais

O GNU/Hurd está longe de ser usável no dia-a-dia. Não há ainda muitos programas portados para esta plataforma, o suporte a hardware é precário e a resolução de um qualquer problema poderá revelar-se um problema, dada a escassa documentação e a pequena comunidade envolvida.

É atualmente (se é que alguma vez o deixará de ser) um sistema operativo para entusiastas, para hackers de alma e coração, não é um sistema operativo de produção. Este é projeto histórico, mas que não passa disso, o Linux desde muito cedo se revelou uma melhor alternativa.

Ainda assim, a Free Software Foundation deposita esperanças na realização do sonho de Richard Stallman, a conclusão do GNU, que passa pela existência de uma versão estável do Hurd, algo que não me parece que se venha a verificar tão cedo.

Artigos Relacionados

Botão Voltar ao Topo