Avanti Indietro Indice

2. Domande importanti e relative risposte

2.1 Ad ogni modo, il kernel cosa fa?

Il kernel Unix funge da mediatore tra i programmi e l'hardware. Per prima cosa si occupa della (o organizza le cose per la) gestione della memoria per tutti i programmi in esecuzione (processi), e assicura che tutti abbiano una giusta (o ingiusta, a seconda dei gusti) porzione dei cicli del processore. Inoltre fornisce una buona interfaccia abbastanza portabile per far dialogare i programmi con l'hardware.

Ci sono certamente molte altre operazioni del kernel oltre a queste, ma queste funzioni basilari sono le più importanti da conoscere.

2.2 Perché dovrei voler aggiornare il mio kernel?

I kernel più nuovi generalmente offrono la possibilità di dialogare con un maggior numero di tipi di hardware (ovvero, hanno più device driver), possono avere una gestione migliore dei processi, possono girare più velocemente delle versioni più vecchie, possono essere più stabili delle versioni precedenti e possono correggere alcuni sciocchi bug delle vecchie versioni. La maggior parte della gente aggiorna il suo kernel perché vuole i device driver e le correzioni dei bug.

2.3 Che tipo di hardware supportano i nuovi kernel?

Si veda l'Hardware-HOWTO. In alternativa si può dare una scorsa al file `config.in' nei sorgenti di linux o scoprirlo quando si fa `make config'. Quest'ultimo mostra tutto l'hardware supportato dalla distribuzione standard del kernel, ma non tutto quello che linux supporta; molti device driver comuni (come i driver PCMCIA e alcuni driver di dispositivi a nastro) sono moduli caricabili mantenuti e distribuiti a parte.

2.4 Di che versione di gcc e libc ho bisogno?

Linus consiglia nel file README incluso con i sorgenti del kernel una versione di gcc. Se non si ha questa versione, la documentazione nella versione raccomandata di gcc dovrebbe dire se è necessario aggiornare la propria libc. Questa non è una procedura difficile, ma è importante seguire le istruzioni.

2.5 Cos'è un modulo caricabile?

Sono pezzi del codice del kernel non inclusi direttamente nel kernel. Si possono compilare separatamente ed inserirli e toglierli da un kernel in esecuzione praticamente in qualsiasi momento. Grazie a questa flessibilità, questo è ora il modo preferito per programmare certe caratteristiche del kernel. Molti device driver popolari, come i driver PCMCIA e il driver per il dispositivo a nastro QIC-80/40, sono moduli caricabili.

2.6 Di quanto spazio ho bisogno sul disco?

Dipende dalla particolare configurazione del proprio sistema. Per prima cosa, i sorgenti compressi di linux 2.2.9 sono quasi 14 megabyte. Molti li conservano anche dopo averli decompressi. La decompressione e la compilazione con una configurazione normale, occupano fino ad altri 67 MB.

2.7 Quanto tempo ci mette?

Con le macchine più nuove la compilazione dura decisamente meno tempo che con quelle vecchie; un AMD K6-2/300 con un disco veloce può creare un kernel 2.2.x in circa 4 minuti. Se si ha intenzione di compilarne uno con i vecchi Pentium, 486 e 386 ci si prepari ad aspettare anche ore, giorni..

Se ciò crea problemi, e capita di poter compilare su una macchina più veloce in giro per la rete, è possibile compilare il kernel nella macchina più veloce (assumendo che si siano specificati i parametri giusti, che le proprie utility siano aggiornate e così via) e poi trasferire l'immagine del kernel nella macchina più lenta.


Avanti Indietro Indice