Software libero pensiero libero/Volume I/Parte prima/GNU Hurd
Questo testo è completo. |
Traduzione dall'inglese di Bernardo Parrella (2003)
◄ | Parte prima - Sviluppi inattesi | Parte prima - Alix | ► |
GNU Hurd
Nel 1990 il sistema GNU era quasi completo, l’unica parte significativa ancora mancante era il kernel. Avevamo deciso di implementare il nostro kernel come un gruppo di processi server che girassero sul sistema Mach. Mach è un micro-kernel sviluppato alla Carnegie Mellon University e successivamente all’Università dello Utah; GNU Hurd è un gruppo di server (o “herd of gnus”: mandria di gnu) che gira su Mach svolgendo le funzioni del kernel Unix. L’inizio dello sviluppo fu ritardato nell’attesa che Mach fosse reso disponibile come software libero, come era stato promesso.
Una ragione di questa scelta progettuale fu di evitare quella che sembrava la parte più complessa del lavoro: effettuare il debugging del kernel senza un debugger a livello sorgente. Questo lavoro era già stato fatto, appunto in Mach, e avevamo previsto di effettuare il debugging dei server Hurd come programmi utente con GDB. Ma questa fase si rivelò molto lunga, e il debugging dei server multithread che si scambiano messaggi si è rivelato estremamente complesso. Per rendere Hurd robusto furono così necessari molti anni.