[LatinaLUG] Info

Giandomenico Napolitano giandomenico.napolitano@poste.it
Lun 30 Gen 2006 15:43:16 CET


On 29/gen/06, at 04:39, black.skorpion wrote:

> Ciao a tutti!!!
>
> Vi rigiro un'email che mi è arrivata su un paio di INFO:
>
> GNU Hurd sostituisce, all'interno del progetto GNU, il kernel Unix.
> Hurd è un insieme di server che vengono eseguiti sul microkernel
> Mach per implementare file system, protocolli di rete, controlli di  
> accesso ai file, e altre caratteristiche che sono implementate nel  
> kernel Unix o in altri kernel simili (come Linux).
>
> http://www.gnu.org/software/hurd/hurd.it.html

Si`, e` gia` diversi anni che se ne parla e che ne vengono  
distribuite versioni alpha. Debian ha avviato un progetto di  
distribuzione basata su Hurd (disponibile qui: http://www.debian.org/ 
ports/hurd/) che gli interessati possono usare per crearsi una "Hurd  
box".

Il problema di Hurd su microkernel Mach (Hurd/Mach) e` che  
l'architettura a microkernel, sebbene per molti aspetti innovativa ed  
interessante (ad es. possibilita` di rimuovere/inserire/riavviare  
parti del sistema operativo a caldo), ha dimostrato i suoi limiti  
ancor prima di uscire dai laboratori di ricerca. Il problema  
principale e` quello dell'efficienza: il fatto che il SO sia  
distribuito su piu` demoni comunicanti introduce un serio overhead  
ogni volta che una primitiva di sistema debba coinvolgere piu`  
demoni. In pratica il demone oltre ad "eseguire operazioni" deve  
spendere tempo per le comunicazioni e le commutazioni di contesto,  
che invece non sono necessarie nei kernels monolitici come Linux. La  
distribuzione dei componenti di SO puo` aumentare inoltre la  
frequenza e la complessita` dei deadlocks.

Dopo i primi grossi fallimenti del paradigma microkernel nei primi  
anni '90, l'idea si e` evoluta verso la  ulteriore riduzione della  
complessita`del kernel con un approccio denominato "nanokernel" o  
"zero kernel". Si e` lavorato da un lato implementando parte del  
kernel in assembler (e quindi riducendone la portabilita`),  
dall'altro semplificando le API di sistema, ad esempio eliminando le  
chiamate IPC in favore di approcci memory-mapping (in cui i demoni  
comunichino condividendo una parte dello spazio di indirizzamento).

Va in questa direzione l'attuale proposito di porting di Hurd per  
adattarlo al microkernel di nuova generazione L4Ka (http:// 
www.gnu.org/software/hurd/hurd-l4.html).

Purtroppo l'unico SO "mainstream" basato su microkernel, Mac OS X (ed  
il suo fratello minore open source Darwin), utilizza ancora il  
"vecchio" Mach, e cio` si nota soprattutto nelle sue limitate  
prestazioni in ambito server.


Maggiori informazioni sulla lista latina