Linux/ GNU Hurd, l'alternativa micro

di G. D'Angelo. Hurd, il kernel ufficiale di GNU, è rimasto per lungo tempo in uno stato letargico, all'ombra di Linux. Ma il pargoletto di Stallman sembra volersi risvegliare. Si preannuncia una lotta in famiglia?
di G. D'Angelo. Hurd, il kernel ufficiale di GNU, è rimasto per lungo tempo in uno stato letargico, all'ombra di Linux. Ma il pargoletto di Stallman sembra volersi risvegliare. Si preannuncia una lotta in famiglia?


Roma – Alcuni considerano il presidente di GNU un estremista, altri un visionario della lotta per le libertà. Probabilmente l’idealista Richard Stallman, fondatore e presidente della Free Software Foundation e del GNU Project , ha sempre considerato il sistema operativo GNU/Linux, ovvero il kernel, un po’ eretico.

È dalla fine degli anni 80 che Stallman accarezza l’idea di un sistema operativo completamente GNU e i progressi più recenti fanno supporre che l’ obiettivo possa essere raggiunto entro la fine dell’anno con il rilascio di una versione “di produzione” di Hurd , quello che Stallman considera il kernel ufficiale di GNU.

Le differenze tra Linux e Hurd non sono solamente di facciata ma si trovano soprattutto a livello architetturale. Hurd è basato su un microkernel Mach , un approccio radicalmente diverso da quello monolitico ma modulare scelto da Linus Torvalds per il suo sistema. Non è la prima volta che Linux ha a che fare con il concetto di microkernel: al momento della sua nascita è rimasta famosa la diatriba fra Linus Torvalds, il “padre” di Linux, e Andrew S. Tanenbaum, grande divulgatore informatico, docente e ricercatore oltre che fermo sostenitore dei sistemi a microkernel come il suo Minix, un piccolo sistema UNIX-like realizzato a scopo didattico.

La licenza di Minix non dava agli sviluppatori lo stesso grado di libertà della GPL e, proprio per questo motivo, il giovane Torvalds decise di iniziare a lavorare ad un proprio sistema Unix, partendo da zero e senza basarsi su altro codice già esistente. Probabilmente se Minix fosse stato GPL o anche solo con meno vincoli, Linux non sarebbe mai esistito.

Ben presto, sul newsgroup di Minix la polemica con Tanenbaum si fece rovente ma, invece che limitarsi ad uno scontro personale, diventò un confronto tra visioni architetturali diametralmente opposte. A differenza di un sistema monolitico, l’approccio microkernel propone di creare uno scheletro di kernel assolutamente minimale (la parte di comunicazione), con tutte le altre funzionalità delegate ad un insieme di server che si occupano di implementare aspetti come la gestione del file system, l’autenticazione, la gestione dei processi ecc. Un struttura di questo tipo, basata su interfacce e una netta suddivisione in sistemi distinti è senza dubbio affascinante, e permette politiche raffinate in termini di sicurezza: potrebbe ad esempio essere possibile sostituire parti del sistema operativo senza nemmeno la necessità di riavviare il computer. La scalabilità del sistema, poi, sarebbe, almeno in teoria, notevolmente superiore. Gli aspetti negativi e i dubbi si concentrano sul fatto che l’approccio microkernel, secondo molti, porterebbe al rischio di sacrificare le prestazioni in conseguenza di un sistema eccessivamente strutturato.

Dal punto di vista dell’utente finale, l’avere a disposizione un kernel al posto di un altro non sarebbe un cambiamento così rivoluzionario: il resto del sistema rimarrebbe costituito da tutte le applicazioni GNU che conosciamo già. La visione di Stallman sembra avere poco di tecnico e molto di personale: GNU/Linux è un sistema operativo OpenSource, affidabile, funzionante e vitale, ma ancora carente in alcuni settori: c’è proprio tutta questa fretta per tirar su un concorrente in casa?

Non credo che la comunità GNU/Linux abbia “paura” di Hurd, così come credo che lo stesso concetto di lotta, confronto o guerra interna sia in parte forzato ed estraneo al mondo OpenSource. Questo movimento è basato sulla libertà delle informazioni e allo stesso tempo su una vitalità che porta molti progetti a nascere e morire: soltanto alcuni di essi, superata una certa massa critica, hanno la possibilità di evolversi e continuare a crescere.

In questo momento il kernel Linux è maturo e particolarmente affidabile e le debolezze del sistema risiedono, in larga parte, in settori esterni al kernel. Quest’ultimo non è perfetto, ma funziona molto meglio di altri, e se col tempo Hurd si dimostrerà più adatto di Linux in alcuni settori, non vedo perché non possa essere adottato: si tratta comunque di codice GPL e di un’ulteriore prova della grande libertà di scelta data dal mondo OpenSource.

Gabriele D’Angelo
Responsabile sezione Linux del portale sulla sicurezza PortaZero

Link copiato negli appunti

Ti potrebbe interessare

08 04 2002
Link copiato negli appunti