GNU 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 sistema operativo | |
---|---|
HURD Live CD | |
Sviluppatore | Thomas Bushnell Roland McGrath Marcus Brinkmann Neal Walfield |
Famiglia | Unix-like |
Release corrente | 0.9 (18 dicembre 2016) |
Tipo di kernel | Microkernel |
Tipo licenza | Software libero |
Licenza | GNU General Public License |
Stadio di sviluppo | Alpha |
Sito web | www.gnu.org/software/hurd/ |
GNU Hurd consiste in una suite di server per microkernel sviluppati attorno al kernel GNU Mach, l'implementazione di GNU del kernel Mach.
Storia
modificaNel 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
modificaCi 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
modificaHurd è 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
modificaUna 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 600 MB) 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
modificaNon 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- ^ (EN) Free as in Freedom (2.0) Sam e Richard Stallman, Williams, Boston, Free Software Foundation, 2010, ISBN 9780983159216.
- ^ The Hurd and Linux, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ GNU Hurd announcement, Maggio 1991, su gnu.org.
- ^ GNU Hurd announcement, Novembre 1993, su gnu.org.
- ^ Annuncio del 05 Aprile 1994, su gnu.org.
- ^ Test release announcement Agosto 1996, su gnu.org.
- ^ history, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ 2013-09-27, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ 2015-04-10-releases, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ 2015-10-31-releases, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ 2016-05-18-releases, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ 64-bit port, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ CD di Hurd, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
- ^ (EN) The Hurd: GNU's quest for the perfect kernel, su lwn.net, 7 luglio 2010. URL consultato il 12 maggio 2016.
- ^ Stallman Richard, Il progetto GNU, su gnu.org. URL consultato il 19 maggio 2016.
- ^ (EN) Translator, su gnu.org. URL consultato il 27 settembre 2016.
- ^ a b c d (EN) README.txt (TXT), su ftp.ports.debian.org. URL consultato il 27 settembre 2016.
- ^ distrib, su gnu.org. URL consultato il 27 dicembre 2016.
- ^ Sviluppo della distribuzione, su Debian GNU/Hurd. URL consultato il 12 maggio 2009.
- ^ (EN) Debian GNU/Hurd 2023 released!, su lists.gnu.org. URL consultato il 13 giugno 2023.
- ^ (EN) Hurd status, su The GNU Hurd. URL consultato il 12 maggio 2009.
- ^ Arch Hurd - Downloads, su archhurd.org. URL consultato il 27 dicembre 2016.
Bibliografia
modifica- (EN) Sam Williams e Richard Stallman, Free as in Freedom (2.0), Boston, Free Software Foundation, 2010, ISBN 9780983159216.
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file su GNU Hurd
Collegamenti esterni
modifica- (EN) Sito ufficiale, su gnu.org.
- (EN) HURD, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.
- Repository sorgenti di GNU Hurd, su git.savannah.gnu.org.
- (EN) GNU Hurd, su Free Software Directory.
- (EN) GNU/Hurd, su gnu.org. URL consultato il 19 maggio 2016.
- (EN) News, su gnu.org. URL consultato il 19 maggio 2016.
- Debian GNU/Hurd, su debian.org. URL consultato il 19 maggio 2016.
- GNU/Hurd Italia, su hurd-it.sf.net. URL consultato il 19 maggio 2016 (archiviato dall'url originale l'8 luglio 2008).