Cosa sono le estensioni del kernel?
Un'estensione del kernel è un pezzo di software che viene caricato nel componente centrale di un sistema operativo. Le estensioni del kernel potrebbero essere utilizzate per fornire funzionalità o supporto hardware che altrimenti non farebbero parte del kernel. Un'estensione del kernel spesso è consentita di eseguire attività o accedere a parti del sistema operativo che il normale software non può. In alcuni sistemi operativi, le estensioni del kernel sono indicate come moduli del kernel o semplicemente moduli.
Nella maggior parte dei sistemi operativi, l'accesso a networking, i file system e le chiamate di sistema sono limitate per mantenere un sistema stabile e sicuro. Le estensioni del kernel sono in grado di accedere a queste funzioni e sistemi perché funzionano come parte del kernel. Un kernel senza estensioni è noto come kernel di base. Le estensioni possono essere aggiunte o rimosse dal kernel di base.
Le estensioni consentono una maggiore flessibilità nelle capacità di un kernel senza aumentare la complessità del kernel di base. Ad esempio, un'estensione del kernel potrebbe essere LOADed per abilitare le funzionalità di risparmio di potenza appropriate per i computer portatili. Queste funzionalità in genere non sono incluse nel kernel di base perché il sistema operativo potrebbe non essere utilizzato su un laptop.
Anche le estensioni o i moduli del kernel possono essere caricati e scaricati dinamicamente, il che significa che vengono aggiunti e rimossi dal kernel secondo necessità. Ciò consente al computer di salvare la memoria e altre risorse quando l'estensione non è in uso. Un adattatore di rete USB (Universal Serial Bus) potrebbe caricare i suoi driver richiesti come estensioni del kernel quando è collegato, quindi scaricare le estensioni quando il dispositivo viene rimosso.
Hanno più autorità rispetto ad altri programmi, quindi le estensioni e i moduli del kernel possono causare problemi unici. Un driver di dispositivo scarsamente codificato in esecuzione come estensione del kernel potrebbe causare l'arresto anomalo dell'intero sistema. Per questo motivo, gli sviluppatori di software sono spesso incoraggiati a utilizzare le estensioni del kernel solo quandoNon c'è alternativa.
Per la maggior parte degli utenti, la configurazione delle estensioni avviene automaticamente. Alcuni utenti, in particolare quelli che utilizzano particolari sistemi operativi, gestiscono l'estensione del kernel o i moduli stessi. Ci sono variazioni nelle versioni dei kernel, quindi l'estensione e i moduli potrebbero non essere compatibili con tutti i kernel o tutti i sistemi operativi.