43
contributi
Nessun oggetto della modifica |
|||
Riga 5: | Riga 5: | ||
E così vuoi scrivere un modulo del kernel. Conosci il C, hai scritto un po' di programmi normali che girano come processi, e adesso vuoi mettere le mani laddove c'è la vera azione, dove un singolo wild pointer può annientare il tuo file system e un core dump significa riavviare. | E così vuoi scrivere un modulo del kernel. Conosci il C, hai scritto un po' di programmi normali che girano come processi, e adesso vuoi mettere le mani laddove c'è la vera azione, dove un singolo wild pointer può annientare il tuo file system e un core dump significa riavviare. | ||
Cos'è esattamente un modulo del kernel? I moduli sono pezzi di codice che possono essere caricati e rimossi a richiesta. Estendono la funzionalità del kernel senza la necessità di riavviare il sistema. Per esempio, un tipo di modulo è il device driver, il quale permette al kernel l'accesso all'hardware connesso con il sistema. Senza i moduli, dovremmo costruire un kernel monolitico e aggiungere nuove funzionalità direttamente all'interno dell'immagine del kernel. Oltre ad avere kernel molto più grandi, ciò ha lo svantaggio di richiederci di ricompilare e | Cos'è esattamente un modulo del kernel? I moduli sono pezzi di codice che possono essere caricati e rimossi a richiesta. Estendono la funzionalità del kernel senza la necessità di riavviare il sistema. Per esempio, un tipo di modulo è il device driver, il quale permette al kernel l'accesso all'hardware connesso con il sistema. Senza i moduli, dovremmo costruire un kernel monolitico e aggiungere nuove funzionalità direttamente all'interno dell'immagine del kernel. Oltre ad avere kernel molto più grandi, ciò ha lo svantaggio di richiederci di ricompilare e riavviare il kernel ogni volta che abbiamo bisogno di nuove funzionalità. | ||
==Come fanno i moduli a essere caricati nel kernel?== | ==Come fanno i moduli a essere caricati nel kernel?== |
contributi