next up previous contents
Next: Modificare il sistema operativo Up: Soluzioni proposte Previous: Soluzioni proposte   Indice

Sistema operativo basato su un microkernel

I sistemi operativi possono basarsi su una struttura a kernel monolitico, come Linux, oppure a microkernel. Ciò significa che all'interno del nucleo di Linux sono contenuti tutti i sottosistemi demandati a gestire processi, memoria, device driver, protocolli di rete, ed ovviamente file system. Essi vengono eseguiti nello spazio di memoria del kernel e perciò un funzionamento erroneo può portare al crollo dell'intero sistema.

A partire dagli anni 1980, si afferma una nuova concezione di sistema operativo che trova tra i suoi promotori più convinti il professore Andrew Tanenbaum: essa propone un kernel minimale che si occupa esclusivamente di gestire i processi e le risorse da assegnare loro, e di consegnare i messaggi fra i vari sottosistemi. Questi ultimi sono implementati da processi demoni eseguiti in spazio utente che provvedono a fornire i servizi e a completare così l'interfaccia POSIX3.2 del sistema. Anche il supporto alla gestione dei file system quindi, viene caricato nello spazio di memoria non privilegiato. Questa soluzione è senza dubbio la più idonea a raggiungere lo scopo.

Un esempio di sistema operativo dotato di microkernel è il sistema GNU. Il progetto che ne costituisce la base è lo stesso che si propone di sostituire il kernel Unix ed è chiamato the Hurd3.3. Esso è composto da un insieme di server eseguiti sul microkernel Mach che implementano i file system, i protocolli di rete, il controllo di accesso ai file ed altre funzionalità.


next up previous contents
Next: Modificare il sistema operativo Up: Soluzioni proposte Previous: Soluzioni proposte   Indice
2004-11-19