Curiosità kernel

4 risposte [Ultimo messaggio]
Ritratto di Il_Cjargnel
Il_Cjargnel
(Guru)
Offline
Guru
Iscritto: 04/08/2005
Messaggi: 1886

buon giorno,
cosi solo per la mia morbosa curiosità, volevo sapere come funzionano gli aggiornamneti tipo alsa-kmp... nvidia-gfxG01-kmp-default ecc ecc

ovvero viene "solo" aggiunto un modulo al kernel? o cosa fa di preciso...proprio non riesco a capire!!!

Grazie e scusate per la domanda stupidina

MAndi mandi

OpenSuse 11.0+ OpenSuse 11.2

Ritratto di Moreno
Moreno
(Monster)
Offline
Monster
Iscritto: 03/10/2005
Messaggi: 364

Ciao

Sì viene aggiunto un modulo kernel ma dire 'solo' è un po' troppo riduttivo.

A parte il Core del kernel tutto il resto sono moduli che possono essere:

1) Non compilati per cui e come se non esistesse
2) Precompilati e Precaricati per cui è come se diventassero parte integrante del kernel
3) Precompilati come moduli che vengono caricati in kernel space solo in caso di bisogno cioè se definiti nel file di configurazione modprobe.preload o caricati manualmente con modprobe.

I moduli kernel, come già detto, vengono caricati in Kernel Space per cui hanno tutta una serie di privilegi che i normali programmi non hanno ed è questo il motivo per cui se questi moduli sono scritti male possono mandare in Tilt la macchina.

Cosa fa di preciso il modulo di NVidia è difficile da spiegare diciamo che accede direttamente alla scheda video senza i pesanti limiti imposti dal kernel per comunicare con l'hardware

Ciao Ciao Moreno

Ebbene sì confesso sono un infiltrato di http://www.mandrakeitalia.org ma mi piace girare il Mondo.
Profilo

Ritratto di Il_Cjargnel
Il_Cjargnel
(Guru)
Offline
Guru
Iscritto: 04/08/2005
Messaggi: 1886

infatti avevo messo solo tra virgolette perche immaginavo che la storia fosse assai più complessa!!
quindi se ho capito bene, se io oggi creo un dispositivo hardware (non presente nel kernel perchè ancora non esisteva a suo tempo) in teoria con questo sistema potrei aggiungerlo tra i driver del kernel stesso???

(non devo fare cose strana è semplie curiosita :-P )

OpenSuse 11.0+ OpenSuse 11.2

Ritratto di Moreno
Moreno
(Monster)
Offline
Monster
Iscritto: 03/10/2005
Messaggi: 364

Ciao

Sì in teoria basta sviluppare un driver nuovo che rispetti le specifiche del kernel e poi compilarlo come modulo.
Questo non riguarda solo periferiche hardware ma anche moduli software puri, un esempio sono i filesystem fuse, unionfs, aufs etc.

Chiaramente, come già detto, i moduli devono appoggiarsi su API del kernel core esistenti quindi per esempio nel passato quando il kernel non supportava il bus USB non si potevano fare driver per periferiche USB.

Ciao Ciao, Moreno

Ebbene sì confesso sono un infiltrato di http://www.mandrakeitalia.org ma mi piace girare il Mondo.
Profilo

Ritratto di Il_Cjargnel
Il_Cjargnel
(Guru)
Offline
Guru
Iscritto: 04/08/2005
Messaggi: 1886

grazie, ora è molto, molto più chiara la cosa!
Laughing

OpenSuse 11.0+ OpenSuse 11.2