GNU Hurd

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Hurd)
Nota disambigua.svg Disambiguazione – Se stai cercando il sistema operativo completo, vedi Debian GNU/Hurd.
GNU Hurd
Logo
HURD Live CD.png
HURD Live CD
Sviluppatore Thomas Bushnell
Roland McGrath
Marcus Brinkmann
Neal Walfield
Famiglia SO Unix-like
Release corrente 0.9 (18 dicembre 2016)
Tipo di kernel Microkernel
Tipologia licenza Software libero
Licenza GNU General Public License
Stadio di sviluppo Alpha
Sito web www.gnu.org/software/hurd/

GNU Hurd (anche detto The Hurd) è un software libero del progetto GNU sviluppato a partire dal 1990 per sostituire il kernel di Unix.[1]

Descrizione[modifica | modifica wikitesto]

Ci si riferisce spesso a GNU Hurd come al «kernel del progetto GNU», ma tale definizione è inesatta.[2] Il kernel è infatti la sola parte del sistema operativo che viene eseguita in kernel mode (cioè utilizza un sottoinsieme privilegiato delle istruzioni del processore), mentre GNU Hurd è formato da un insieme di server che non operano in kernel mode, interagendo tra loro utilizzando GNU Mach (il microkernel basato sul kernel Mach). Questi server implementano il file system, i protocolli di rete, i permessi degli utenti, e tutti gli altri servizi che vengono offerti da un kernel classico. Un sistema così concepito presenta molti vantaggi rispetto ad un kernel monolitico.

Per esempio, un microkernel come GNU Hurd consente modifiche, manutenzione ed estensioni delle sue funzionalità senza dover essere ricompilato completamente e, talvolta, senza nemmeno riavviare la macchina sulla quale è in esecuzione. In caso di crash di uno di questi server, il sistema può continuare a funzionare senza che avvenga il cosiddetto kernel panic.

Lo svantaggio principale è il maggior tempo che occorre per progettarlo e renderlo stabile. Infatti GNU Hurd, seppure sia funzionante, non ha ancora raggiunto un rilascio stabile, ed è uno dei motivi per cui il sistema operativo GNU si è storicamente diffuso congiuntamente ad altri kernel, come il kernel Linux.

Nome[modifica | modifica wikitesto]

Hurd è un acronimo doppiamente ricorsivo che significa Hird of Unix-Replacing Daemons (Hird di demoni che sostituiscono Unix). E poi Hird sta per Hurd of Interfaces Representing Depth (Hurd di interfacce che rappresentano la profondità).[3] Le parole hurd e hird non hanno alcun significato in lingua inglese, ma si pronunciano come la parola inglese herd, che significa branco, quindi GNU Hurd può significare "mandria di gnu".[4]

Storia[modifica | modifica wikitesto]

Nel 1991 il Progetto GNU era già stato ampiamente sviluppato, ma gli sviluppatori necessitavano di un kernel libero per poter ottenere un sistema completo. All'epoca non esisteva un kernel Unix-like libero e nessun progetto di sviluppo era noto, così decisero di svilupparlo autonomamente. Lo stesso Richard Stallman affermò che se Linux fosse stato disponibile in quel periodo non avrebbero mai iniziato a sviluppare Hurd, ma continuarono successivamente a lavorarci data la sua superiorità architetturale.[5]

Il primo annuncio dello sviluppo di Hurd risale al 7 Maggio 1991, con un messaggio nel newsgroup del progetto GNU. Tale messaggio riportava i tre obiettivi principali del progetto:[6]

  • Compatibilità Binaria con BSD 4.4 e altri sistemi U*x o U*xish
  • Compatibilità Posix
  • Facilità d'uso e introduzione di nuove caratteristiche e funzionalità

Circa due anni dopo il primo messaggio, nel Novembre 1993, alcune funzionalità erano state correttamente implementate (come il filesystem e i server auth e proc), ma il sistema non era ancora avviabile e veniva richiesto l'aiuto di persone che volessero attivamente contribuire allo sviluppo.[7] Fu reso avviabile nell'Aprile dell'anno seguente.[8]

La prima versione di test, la versione 0.0, fu rilasciata pubblicamente nell'Agosto 1996 e conteneva il codice completo di molti server, librerie e programmi di utilità.[9] La versione 0.1 fu rilasciata il mese seguente e la 0.2 un anno dopo, nel 1997.[10]

Negli anni successivi lo sviluppo fu piuttosto lento e gli aggiornamenti riguardarono principalmente GNU Mach, il microkernel, e GNU MIG, il generatore di interfacce di memoria. Tant'è che la versione successiva di Hurd (si passò direttamente alla 0.5) fu rilasciata nel Settembre 2013, ben 16 anni dopo la versione 0.2.[11]

I successivi rilasci furono più rapidi e la versione 0.6, orientata principalmente al miglioramento del codice e delle prestazioni, venne annunciata nell'Aprile del 2015[12], seguita solo sei mesi dopo dalla 0.7[13].

Nel 2016 sono state rilasciate le versioni 0.8, a Maggio[14], e 0.9 a Dicembre.

Risulta ad oggi disponibile esclusivamente per l'architettura i386, sebbene tra il 2011 e il 2013 si sia lavorato per il porting a 64 bit che è stato completato per quanto riguarda la parte del kernel, ma senza che venisse mai concluso quello di GNU MIG.[15]

Caratteristiche[modifica | modifica wikitesto]

Una delle caratteristiche uniche di un sistema operativo GNU/Hurd è la possibilità di tradurre vari file system in modo totalmente trasparente per l'utente.[16][17]

Ad esempio, è possibile tradurre il protocollo FTP come se fosse una qualsiasi directory locale:[17]

   ls /ftp://ftp.gnu.org/

La possibilità di effettuare punti di mount di qualsiasi tipo senza necessariamente essere l'utente root è compatibile con l'esempio precedente. È ad esempio possibile montare un'immagine disco .iso non realmente presente sul file system locale:[17]

   settrans -c immagine /hurd/iso9660fs /ftp://ftp.gnu.org/old-gnu/gnu-f2/hurd-F2-main.iso
   ls immagine/

L'utente riesce ad elencare i file contenuti nell'immagine disco istantaneamente (nonostante quello specifico file .iso pesi circa di 600MB) grazie al fatto che il traduttore riesce a sfruttare l'efficienza del formato .iso (ISO 9660) per scaricare via FTP soltanto la frazione del file .iso interessata.[17]

Distribuzioni basate su GNU Hurd[modifica | modifica wikitesto]

Non esiste una versione ufficiale di GNU distribuita congiuntamente ad Hurd, ma esistono alcune distribuzioni note che forniscono, o stanno lavorando per fornire, una versione basata su GNU Hurd:[18]

  • Debian GNU/Hurd: è attualmente l'unica distribuzione considerata "funzionante", sebbene non sia ancora pronta per un uso quotidiano poiché alcuni problemi nel port dei pacchetti Debian non sono ancora stati risolti[19] . L'ultima versione di Debian GNU/Hurd è la Debian GNU/Hurd 2015, distribuita il 25 aprile del 2015. La distribuzione Debian segue strettamente lo sviluppo ufficiale di Hurd aggiungendo nuove caratteristiche.[20]
  • ArchHurd: distribuzione che punta a creare una versione di Arch non più basata sul kernel Linux, ma su GNU Hurd. L'ultima versione disponibile risale al 17 Agosto 2011 ed è disponibile come LiveCD.[21]
  • NixOS: distribuzione alternativa basata sul gestore di pacchetti Nix, prevede anche una versione basata su GNU Hurd.[22]

Note[modifica | modifica wikitesto]

  1. ^ (EN) Free as in Freedom (2.0) Sam e Richard Stallman, Williams, Boston, Free Software Foundation, 2010, ISBN 9780983159216.
  2. ^ CD di Hurd, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
  3. ^ (EN) The Hurd: GNU's quest for the perfect kernel, lwn.net, 7 luglio 2010. URL consultato il 12 maggio 2016.
  4. ^ Stallman Richard, Il progetto GNU, gnu.org. URL consultato il 19 maggio 2016.
  5. ^ The Hurd and Linux, su www.gnu.org. URL consultato il 27 dicembre 2016.
  6. ^ GNU Hurd announcement, Maggio 1991, gnu.org.
  7. ^ GNU Hurd announcement, Novembre 1993, gnu.org.
  8. ^ Annuncio del 05 Aprile 1994, gnu.org.
  9. ^ Test release announcement Agosto 1996, gnu.org.
  10. ^ history, su www.gnu.org. URL consultato il 27 dicembre 2016.
  11. ^ 2013-09-27, su www.gnu.org. URL consultato il 27 dicembre 2016.
  12. ^ 2015-04-10-releases, su www.gnu.org. URL consultato il 27 dicembre 2016.
  13. ^ 2015-10-31-releases, su www.gnu.org. URL consultato il 27 dicembre 2016.
  14. ^ 2016-05-18-releases, su www.gnu.org. URL consultato il 27 dicembre 2016.
  15. ^ 64-bit port, su www.gnu.org. URL consultato il 27 dicembre 2016.
  16. ^ (EN) Translator, gnu.org. URL consultato il 27 settembre 2016.
  17. ^ a b c d (EN) README.txt (TXT), ftp.ports.debian.org. URL consultato il 27 settembre 2016.
  18. ^ distrib, su www.gnu.org. URL consultato il 27 dicembre 2016.
  19. ^ Sviluppo della distribuzione, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
  20. ^ (EN) Hurd status, su The GNU Hurd. URL consultato il 12 maggio 2009.
  21. ^ Arch Hurd - Downloads, su www.archhurd.org. URL consultato il 27 dicembre 2016.
  22. ^ Hydra - Jobset gnu:hurd-master, su hydra.nixos.org. URL consultato il 27 dicembre 2016.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  • (EN) GNU/Hurd, gnu.org. URL consultato il 19 maggio 2016.
  • (EN) News, gnu.org. URL consultato il 19 maggio 2016.
  • Debian GNU/Hurd, debian.org. URL consultato il 19 maggio 2016.
  • GNU/Hurd Italia, hurd-it.sf.net. URL consultato il 19 maggio 2016.