Hurd: questo sconosciuto!

Oggi vi parlerò di Hurd, un software semisconosciuto ma di grande importanza nel campo del Free Software, se non altro perché tutti gli avvenimenti che lo circondano hanno fatto quello che è il mondo del Software Libero e dell’Open Source come lo percepiamo oggi.

Come riportato sul sito ufficiale, “GNU Hurd sostituisce, all’interno del progetto GNU, il kernel Unix”, A questo proposito, occorre subito far notare la confusione che si crea attorno a questa definizione. Infatti, si sente dire molto di frequente che Hurd sia il Kernel del progetto GNU. La frase è scorretta perché in realtà, sebbene Hurd svolga in effetti il lavoro del Kernel Unix, è una struttura più complessa. I tradizionali kernel Unix e Unix-Like (come Linux e BSD) infatti includono all’interno tutte le funzioni di base del sistema (in termini tecnici, sono Kernel monolitici), mentre Hurd ha come base un Microkernel (GNU Mach, per la precisione) che svolge un’insieme minimale di compiti e sopra di esso girano una serie di programmi (detti demoni) che si occupano di fornire tutte le altre funzioni (filesystem, I/O ecc..). Questi programmi sono esterni al kernel, per cui Hurd nel suo insieme NON è un kernel!

Dopo questa introduzione tecnica, vediamo un pò di storia. Dopo che Richard Stallman diede inizio al progetto GNU (per chi ancora non lo sapesse, il progetto mira a realizzare un sistema operativo compatibile con UNIX, libero, utilizzabile e modificabile da tutti. Vedi Sito ufficiale) fu scritto praticamente un clone per ogni applicazione di UNIX. Nei primi anni 90, per avere il sistema operativo completo non mancava che una parte essenziale: il kernel. Si scelse l’approccio del microkernel perché più adatto ad essere esteso, portato su varie architetture e, insomma, a durare nel tempo ed adattarsi ai cambiamenti. Tuttavia questo approccio, sebbene ricco di vantaggi, porta in sè lo svantaggio di essere molto più difficile da realizzare. Infatti, finché Hurd tardava ad essere completato, Linus Torvalds, allora studente, aveva cominciato ad ottenere ottimi risultati con un altro kernel Unix-Like chiamato Linux, che fu unito al software GNU per creare quel sistema operativo libero (anzi, quella grande famiglia di sistemi operativi) che ancora oggi amiamo tanto! Questo fatto porta alla ben nota controversia sul nome GNU/Linux. Infatti, visto che il kernel Linux completa il sistema GNU, la Free Software Foundation insiste perché il sistema risultante venga chiamato GNU/Linux e non Linux come comunemente lo si chiama, ma questo è un argomento a parte!

Ad oggi Hurd non è ancora completo. Dato che Linux lo ha battuto sul tempo è comprensibile che le aziende e la maggior parte degli sviluppatori focalizzino l’attenzione su quest’ultimo. Tuttavia una ristretta cerchia di sviluppatori sta lentamente portando avanti il progetto e Debian sta cercando di renderlo utilizzabile portandoci su tutto il suo vasto parco software (si veda Debian GNU/Hurd). Quando lo vedremo in funzione è un mistero.. se qualche esperto volesse cimentarsi nel suo sviluppo, può farlo in qualunque momento, visto che parliamo di software libero! Personalmente volevo testarlo, ma siccome l’installazione è ancora poco user-friendly, rimando a quando avrò più tempo.

Per finire vi regalo un’ultima curiosità: sebbene Hurd fosse progettato per essere professionale, estensibile, scalabile, adattabile a varie architetture, facile da manutenere ecc, assistiamo tutti i giorni al fatto che un Kernel nato per divertimento (si parla di Linux, ovviamente) viene continuamente esteso, portato su diverse architetture e largamente usato in ambito professionale e domestico. Questo non lo dico per portare acqua al mulino di Linux ma solo per far notare l’ironia della sorte!

Se qualcuno avesse novità su Hurd le posti qui! Nelle ultime settimane mi sono preso la briga di aggiornare la pagina su Wikipedia perché era piena di informazioni vecchie (in qualche caso errate) e visto che se ne sono curati in pochi, continuerei ad aggiornarla, sempre se troverò notizie attendibili.

P.S: Siccome non tutti siamo periti informatici, si veda la definizione di Kernel su Wikipedia. Per i meno curiosi basta l’introduzione a spiegare di che si parla! 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *