Sommario:
Definizione - Cosa significa Kernel monolitico?
Un kernel monolitico è un framework software del sistema operativo che detiene tutti i privilegi per accedere a dispositivi di input / output (I / O), memoria, interruzioni hardware e stack della CPU. I kernel monolitici tendono ad essere più grandi di altri kernel perché trattano così tanti aspetti dell'elaborazione del computer al livello più basso e quindi devono incorporare codice che si interfaccia con molti dispositivi, I / O e canali di interruzione e altri operatori hardware.
Questa forma di kernel è la base per Linux, Unix, MS-DOS e Mac OS. I sistemi operativi più recenti utilizzano in genere un kernel ibrido per facilitare la manutenzione e i miglioramenti del sistema operativo.
Techopedia spiega il kernel monolitico
I kernel monolitici mantengono il pieno accesso ai privilegi sui vari componenti sotto il loro controllo. Questi includono:
- File system
- Comunicazione tra processi
- I / O e gestione dei dispositivi
- Gestione dei processi fondamentali
- Hardware
Il motivo per cui sono preferite nuove architetture del kernel come microkernel o progettazione ibrida del kernel è perché più grande diventa il kernel, più funzioni deve assumere. Ciò rende il codice ingombrante e più lento da caricare. Un altro svantaggio della progettazione monolitica del kernel è che il codice del kernel deve essere modificato per aggiungere funzionalità o correggere bug. Questo di solito richiede la ricompilazione del codice del kernel e dei driver hardware; può anche significare un aggiornamento completo del sistema operativo, che è costoso e riduce la fiducia degli utenti.
Le architetture del kernel più recenti mantengono l'accesso a privilegi limitati e passano i privilegi fino allo spazio utente attraverso i server, che forniscono la gestione delle risorse in modo indipendente con privilegi propri. Questi server funzionano al di fuori dello spazio di memoria del kernel, consentendo dimensioni del kernel molto inferiori e una route di aggiornamento molto più efficiente.
L'architettura del kernel monolitico è ancora utilizzata per sistemi come i sistemi basati su Linux, in cui un kernel in evoluzione che viene costantemente aggiornato e sostituito fa parte della cultura del sistema operativo. La natura ottimizzata di Linux ha mantenuto il kernel monolitico di dimensioni accettabili, rendendo più semplice l'aggiunta di funzionalità.