Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
CK6: Compilare il kernel monolitico o con i moduli?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30887
Location: here

PostPosted: Sun Oct 17, 2004 12:31 pm    Post subject: CK6: Compilare il kernel monolitico o con i moduli? Reply with quote

Navigazione: [ back CK5: Tra i vari kernel disponibili, quale scegliere? ] [ next CK7: Come posso installare un nuovo kernel mentre tengo ancora il vecchio in modo da poterlo utilizzare se necessario? ] [ Compilazione Kernel ] [ Indice ]


Compilare il kernel monolitico o con i moduli?


Ci sono due modi per aggiungere funzionalità al kernel: mettere funzioni nel kernel (facendo un kernel monolitico) o aggiungerle come moduli.

Kernel monolitici:
Compilare una funzione direttamente nel kernel assicura che la tua funzione sarà sempre disponibile. Il rovescio della medaglia è che fa il kernel più grande, aumentando il tempo di boot, e occupando molta più memoria. Se stai compilando il kernel per metterlo in un floppy per fare un dischetto di ripristino di emergenza lo spazio diventa una necessità.

Moduli:
Compilare una funzione come modulo permette a quella funzione di essere caricata nella memoria quando serve, e essere rimossa quando non serve più. Questo aiuta il kernel a rimanere piccolo. E' molto utile se, mettiamo, cambi molto spesso hardware sul tuo sistema. Puoi compilare il supporto per una grande varietà di schede audio, per esempio, come modulo; e Linux teoricamente caricherà solo il driver appropriato per l'hardware montato al momento.

Un altro beneficio di compilare funzioni come moduli è che puoi passare parametri ai moduli, che possono essere molto utili per fare il debug del sistema se si verificano problemi.

Ci sono delle considerazioni da fare quando si decide se una funzione del kernel dovrà essere modularizzata o meno. Bisogna rinunciare a un po di performance perchè si impiega tempo a caricare e rimuovere moduli. Ci sono delle funzioni che servono per il processo di boot e non possono essere compilate come moduli, c'è bisogno che siano presenti affinchè il sistema possa venire caricato. Per esempio il supporto al ext2/ext3/reiserfs deve essere compilato nel kernel, cosi le partizioni posso essere lette, visto che devi essere in grado di leggere il filesystem per caricare moduli. Nel mio caso, se ho il supporto PCMCIA compilato nel kernel, il networking funziona, se lo metto come modulo no; probabilmente perchè il supporto PCMCIA deve essere disponibile molto presto nel processo di boot per far funzionare il networking.

Approccio generale
Il modo con cui ho affrontato la compilazione del kernel è stata di vedere quali sono le funzioni di cui ho bisogno sempre e quali uso non spesso. Se era una funzione che uso molto, la compilo direttamente nel kernel. Altrimenti la compilo come modulo. Man mano che son diventato più esperto nel compilare il kernel, ho iniziato a mettere più funzioni come modulo, e, onestamente, non ho visto molta differenza nelle performance del sistema. D'altronde la mia configurazione hardware è abbastanza statica, la mia macchina è un laptop, e l'unica opzione hardware che ho è se il mouse usb è connesso oppure no.



Autore: wilburpan (testo originale)
Traduttore: =DvD=
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum