GNU Hurd

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da GNU/Hurd)
Vai alla navigazione Vai alla ricerca
Disambiguazione – "Hurd" rimanda qui. Se stai cercando altri significati, vedi Hurd (disambigua).
GNU Hurd
sistema operativo
Logo
Logo
HURD Live CD
SviluppatoreThomas Bushnell
Roland McGrath
Marcus Brinkmann
Neal Walfield
FamigliaUnix-like
Release corrente0.9 (18 dicembre 2016)
Tipo di kernelMicrokernel
Tipo licenzaSoftware libero
LicenzaGNU General Public License
Stadio di sviluppoAlpha
Sito webwww.gnu.org/software/hurd/

In informatica GNU Hurd è un software libero del progetto GNU sviluppato a partire dal 1990 per sostituire il kernel di Unix.[1]

GNU Hurd consiste in una suite di server per microkernel sviluppati attorno al kernel GNU Mach, l'implementazione di GNU del kernel Mach.

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 Matthew Stallman affermò che se il Kernel Linux fosse stato disponibile in quel periodo non avrebbero mai iniziato a sviluppare il Kernel Hurd, ma continuarono successivamente a lavorarci data la sua superiorità architetturale.[2]

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:[3]

  • 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.[4] Fu reso avviabile nell'aprile dell'anno seguente.[5]

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

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.[8]

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

Nel 2016 sono state rilasciate due versioni: la 0.8 a maggio[11], e la 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.[12]

Descrizione[modifica | modifica wikitesto]

Ci si riferisce spesso a GNU Hurd come al «kernel del progetto GNU», ma tale definizione è inesatta.[13] 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. 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à).[14] 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".[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 2023 "bookworm", distribuita il 12 giugno del 2023[20]. La distribuzione Debian segue strettamente lo sviluppo ufficiale di Hurd aggiungendo nuove caratteristiche.[21]
  • 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.[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. ^ The Hurd and Linux, su gnu.org. URL consultato il 27 dicembre 2016.
  3. ^ GNU Hurd announcement, Maggio 1991, su gnu.org.
  4. ^ GNU Hurd announcement, Novembre 1993, su gnu.org.
  5. ^ Annuncio del 05 Aprile 1994, su gnu.org.
  6. ^ Test release announcement Agosto 1996, su gnu.org.
  7. ^ history, su gnu.org. URL consultato il 27 dicembre 2016.
  8. ^ 2013-09-27, su gnu.org. URL consultato il 27 dicembre 2016.
  9. ^ 2015-04-10-releases, su gnu.org. URL consultato il 27 dicembre 2016.
  10. ^ 2015-10-31-releases, su gnu.org. URL consultato il 27 dicembre 2016.
  11. ^ 2016-05-18-releases, su gnu.org. URL consultato il 27 dicembre 2016.
  12. ^ 64-bit port, su gnu.org. URL consultato il 27 dicembre 2016.
  13. ^ CD di Hurd, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
  14. ^ (EN) The Hurd: GNU's quest for the perfect kernel, su lwn.net, 7 luglio 2010. URL consultato il 12 maggio 2016.
  15. ^ Stallman Richard, Il progetto GNU, su gnu.org. URL consultato il 19 maggio 2016.
  16. ^ (EN) Translator, su gnu.org. URL consultato il 27 settembre 2016.
  17. ^ a b c d (EN) README.txt (TXT), su ftp.ports.debian.org. URL consultato il 27 settembre 2016.
  18. ^ distrib, su gnu.org. URL consultato il 27 dicembre 2016.
  19. ^ Sviluppo della distribuzione, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
  20. ^ (EN) Debian GNU/Hurd 2023 released!, su lists.gnu.org. URL consultato il 13 giugno 2023.
  21. ^ (EN) Hurd status, su The GNU Hurd. URL consultato il 12 maggio 2009.
  22. ^ Arch Hurd - Downloads, su archhurd.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]