Monolitico vs micro kernel


8

Quali sono le differenze tra un kernel monolitico e un microkernel rispetto alla struttura e alla sicurezza. Il mio amico mi ha detto che i sistemi Linux hanno un kernel monolitico e quindi non sono più facili da hackerare ma non penso che fosse effettivamente corretto.

Qualcuno per favore mi illumini.


Per un po 'di background storico, puoi leggere il dibattito The Tanenbaum-Torvalds del 1992.
Sospeso fino a nuovo avviso.

Risposte:


6

La differenza di base è che un micro kernel (MK) è molto piccolo e fornisce solo un set minimo di servizi. La maggior parte di quelli che sono normalmente considerati servizi del sistema operativo sono forniti da processi separati che vengono eseguiti al di fuori del kernel e in modalità meno privilegiata. Questi processi devono comunicare tramite alcuni da IPC, anziché semplicemente leggere / scrivere a qualsiasi struttura di dati a cui desiderano accedere.

Gli MK tendono ad essere abbastanza facili da portare poiché il kernel è piccolo, lo sforzo di port è basso.

Poiché molti dei servizi forniti sono potenzialmente in esecuzione nello spazio utente anziché nello spazio del kernel, non possono facilmente eliminare altri processi. Questo è un vantaggio di sicurezza.

Ad esempio, dire che la parte dello stack di rete era nello spazio utente ed è stata compromessa potrebbe non essere in grado di interrompere altri processi / attività. Considerando che se quella stessa parte dello stack di rete in un kernel monolitico potesse essere in esecuzione nello spazio del kernel dove se compromessa sarebbe in grado di eliminare altri processi, dal momento che sarebbe privilegiata.


1

Per illustrare il discorso di Jason, ecco un'illustrazione per vedere la differenza tra kernel micro-ibrido e monolitico:

nocciolo

File sorgente immagine leggibile su Wikipedia .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.