View Full Version : Kernel & MiniKernel...
andretta
08-06-2002, 21:05
...ma che differenze ci sono tra i due?
Sapete anche una board ita che parli solo di linux e distro varie?
andretta
09-06-2002, 00:14
scusate ma ho sbagliato forum?? :D
Minikernel non so, se intendi microkernel invece...
la differenza fra un microkernel e un kernel monolitico è più o meno questa:
kernel monolitico: con questo approccio tutto il kernel è scritto come un insieme di procedure e ognuna può richiamare le altre (a grandi linee). Tutto il kernel condivide lo stesso spazio di indirizzamento. Il kernel fornisce molti servizi come gestione dei processi, della memoria, I/O, filesystem e una serie di chiamate di sistema per poter accedere a questo servizi dal livello utente.
microkernel: questo approccio viene anche definito client/server, perchè le funzioni del sistema operativo vengono svolte da processi detti server e sono utilizzate da processi client. Il kernel dovrebbe occuparsi solo dello scambio di messaggi (e non chiamate di procedura) fra processo server e client, che non condividono lo stesso spazio di indirizzamento (nemmeno i vari processi server fra loro). I processi server girano in user space. Verosimilmente alcune funzioni sono impossibili da implementare a livelli utente, quindi il kernel non si limita a gestire lo scambio di messaggi, ma gestisce alche alcune funzioni base di accesso all'hardware.
La maggior parte dei sistemi operativi usa un approccio di tipo monolitico, Windows NT è nato come microkernel ma è stato poi trasformato in un kernel monolitico per motivi di prestazioni.
Le prestazioni in un sistema a microkernel sono inferiori perchè anzichè usare chiamate di procedura per svolgere le tipiche funzioni del kernel usa lo scambio di messaggi. Come pro un approccio microkernel è più gestibile a livello di sviluppo, più stabile perchè i vari processi server sono separati e facilmente utilizzabile per la creazione di sistemi distribuiti perchè lo scambio di messaggi può avvenire in modo trasparente (sempre a grandi linee) fra processi su macchine diverse.
Ciao
andretta
09-06-2002, 11:40
Thx per la risposta molto esauriente :)
Cmq intendi l'indirizzamento in memoria penso..tanto per chiarire..
andretta
09-06-2002, 11:45
Come router penso sia migliore un microkernel a questo punto..
qweasdzxc
09-06-2002, 14:43
Originariamente inviato da andretta
[B]Come router penso sia migliore un microkernel a questo punto..
come router va bene qualsiasi schifezzuola direi, a meno che non sia il router della nsa o robe del genere...
Originariamente inviato da andretta
[B]Thx per la risposta molto esauriente :)
Cmq intendi l'indirizzamento in memoria penso..tanto per chiarire..
si
Originariamente inviato da andretta
[B]Come router penso sia migliore un microkernel a questo punto..
Un microkernel può fare la differenza più su sistemi distribuiti e sistemi realtime che altro, anche se secondo me sarebbe la soluzione migliore anche per qualunque altro sistema, magari cercando di ottimizzare al massimo le prestazioni dove possibile per colmare la diffrenza con un kernel monolitico.
Linux è un kernel monolitico ma va benone come router.
Volendo c'è un microkernel che si chiama L4 su cui è stato fatto un sistema Linux (vengono mappate le chiamate di sistema Linux su processi server che usano il microkernel L4) che si chiama appunto L4/Linux, ma non so quanto sia stabile e utilizzabile, cmq http://os.inf.tu-dresden.de/L4/LinuxOnL4/
ciao
andretta
11-06-2002, 18:01
Si, per es su slack esistono due tipo di kernel, il 2.2.x e il 2.5.x, dove il 2.2.x dovrebbe essere il microkernel se non sbaglio..
No... sono solo versioni diverse del kernel. Un microkernel è un'altra cosa.
HackaB321
12-06-2002, 23:24
Darwin il cuore di macosX è un microkernel. A sua volta ricavato da un microkernel unix (mach).
Originariamente inviato da HackaB321
[B]Darwin il cuore di macosX è un microkernel. A sua volta ricavato da un microkernel unix (mach).
ma darwin è effettivamente rimasto un microkernel o come molte implementazioni di mach è stato tutto spostato in kernel space?
MickMacello
13-06-2002, 08:27
anche HURD è basato su microkernel, così come QNX e se ben ricordo anche BeOS.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.