Che cos’è il kernel Linux?

4.9
(367)

I kernel agiscono come poliziotti del traffico tra hardware e software

Per gli utenti occasionali e i fan meno che hardcore, Linux è un sistema operativo. Ai puristi, invece, il titolo Linux è riservato al kernel che alimenta il sistema operativo.

modalità

Prima di spiegare cos’è un kernel, è importante comprendere i termini modalità utente e modalità kernel . 

La modalità utente è quando l’esecuzione del codice non ha la possibilità di accedere direttamente all’hardware o alla memoria di riferimento. Per accedere all’hardware e alla memoria, il codice in esecuzione in modalità utente deve delegare le istruzioni alle interfacce di programmazione delle applicazioni del sistema. La modalità kernel è quando l’esecuzione del codice ha accesso illimitato a tutto l’hardware: è riservata alle funzioni più affidabili di un sistema operativo.

Che cos’è un kernel?

Ogni sistema operativo ha un kernel. 

Windows, macOS , iOS , Android , Chrome OS e Linux hanno ciascuno un sistema di basso livello responsabile dell’interfaccia di tutte le applicazioni con l’hardware fisico del computer. 

Senza il kernel, nessuna delle tue applicazioni sarebbe in grado di utilizzare il computer fisico; app come Firefox, Chrome, LibreOffice o Outlook non funzionerebbero. Il kernel è anche responsabile di consentire ai processi di scambiare informazioni utilizzando la cosiddetta comunicazione tra processi.

Esistono (in generale) tre tipi di kernel:

Linux utilizza un kernel monolitico open source, mentre macOS e Windows utilizzano entrambi i kernel ibridi. Il kernel Linux è stato concepito nel 1991 da Linus Torvalds. Fino ad oggi, Torvalds continua ad essere lo sviluppatore principale del kernel Linux, mentre gli sviluppatori di tutto il mondo contribuiscono al kernel Linux. In effetti, si stima che quasi 10.000 sviluppatori, provenienti da più di 1.000 aziende, abbiano contribuito al kernel Linux da quando è iniziato il monitoraggio nel 2005.

Dov’è il kernel?

Se apri una finestra di terminale e dai il comando ls /boot , vedrai un file chiamato vmlinuz-VERSION(dove VERSION è il nome o il numero della versione). Il file vmlinuz è il vero kernel Linux avviabile e la z indica che il kernel è compresso, quindi invece di vmlinux abbiamo vmlinuz .

All’interno di quella directory /boot ci sono altri importanti file del kernel, come initrd.img-VERSION, system.map-VERSION e config-VERSION (dove VERSION è un nome o un numero di rilascio). Questi altri file servono ai seguenti scopi:

Moduli

Senza moduli, il kernel non sarebbe molto utile. I moduli attivano efficacemente i driver necessari per comunicare con l’hardware senza consumare tutta la memoria del sistema. I moduli aggiungono anche funzionalità al kernel, come la comunicazione con le periferiche, la gestione dei file system, la sicurezza, ecc. Elenca, aggiungi e rimuovi moduli al kernel con i seguenti comandi:

Con l’aiuto di alcuni semplici comandi, il kernel Linux può essere abbastanza flessibile.

Il kernel attuale

kernel.org

Il kernel Linux si aggiorna frequentemente, ma non tutte le distribuzioni Linux includeranno il kernel più recente.

Sei libero di scaricare diverse versioni del kernel Linux da kernel.org e compilarlo tu stesso. La compilazione del kernel Linux è un compito che è meglio lasciare a coloro che sanno davvero cosa stanno facendo. 

Un kernel compilato in modo errato può rendere un sistema non avviabile. Quindi, a meno che tu non sia pronto per tuffarti nell’impegnativo compito di compilare codice a questo livello, usa il kernel predefinito che viene fornito e aggiornato sulla tua distribuzione preferita.

/ 5
Grazie per aver votato!
Vuoi abilitare le notifiche?
Desiderate avere la possibilita’ di ricevere delle notifiche? Se si avrete la possibilita’ di essere sempre aggiornati con le nostre ultime proposte o notizie . Consigliamo l’adesione Grazie !
Attiva

How useful was this post?

Click on a star to rate it!

Average rating 4.9 / 5. Vote count: 367

No votes so far! Be the first to rate this post.

Vai alla barra degli strumenti