I moduli del kernel | ALTRI capitoli | |||
Il Linux kernel è un kernel monolitico, affiancato da un certo numero di moduli che possono essere caricati con il kernel. I moduli, una volta caricati in memoria, diventano parte integrante del kernel. Sono utilizzati come driver, gestori dei file system e gestori dei protocolli di rete. Se i moduli non esistessero e non fossero attivabili su richiesta del kernel, il sistema operativo dovrebbe già includere, direttamente nel codice sorgente di base, tutte le funzionalità che si presume potrebbero servire durante la sessione di lavoro. In questo modo, tutte le funzionalità verrebbero caricate, ad ogni boot del sistema, in memoria, insieme al kernel, anche se poi non venissero effettivamente utilizzate, disperdendo, così, risorse di sistema. Inoltre, qualora l'utente avesse bisogno di nuove funzionalità, dovrebbe ricompilare il kernel. I moduli in Linux vengono caricati con il comando:
I file dei moduli hanno estensione:
o "kernel object", e vengono salvati in:
La versione del kernel viene restituita dal comando:
Lo pseudo file:
contiene tutti i moduli caricati dal kernel. Da questo pseudo file, il comando:
estrae le informazioni per elencare i moduli caricati in memoria. Per avere informazioni su uno specifico modulo:
Per verificare le impostazioni di un modulo caricato in memoria:
Per verificare la configurazione di tutti i moduli o di un modulo specifico:
Alcuni moduli dipendono da altri. Nell'esempio seguente, estratto dall'output del comando
Per conoscere le dipendenze di uno specifico modulo:
Il comando
Il comando
restituisce, per ciascun modulo, la dimensione, il numero ed il nome dei moduli che vi fanno riferimento:
I comandi
Quindi,
dove:
che non ci siano altri moduli ( dipendenze ) da caricare, prima di poter utilizzare il nuovo modulo. Per esempio, il modulo:
può essere caricato, solo se nel kernel è già caricato un altro modulo:
A questo punto,
Il file:
viene generato ed aggiornato dal comando:
che, normalmente, viene lanciato ad ogni inizializzazione del sistema operativo. I programmi
Con questo comando,
e così via, e ne caricherà uno in kernel ( il primo che riuscirà a caricare ). Per far sì, invece, che
Il comando:
invece, installa il modulo
In questo esempio,
Per avere una lista di tutti i moduli disponibili, il cui percorso contenga un determinato pattern:
oppure:
Per avere una lista di tutti i moduli disponibili, il cui percorso contenga un determinato pattern e che appartenga ad una determinata categoria:
Per vedere cosa verrebbe fatto, senza, però, che venga eseguito nulla:
|
||||
I moduli del kernel | Le guide di .bit: contenuto originale |