View Single Post
Old 07-01-2005, 09:19   #1
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Introduzione alla scrittura di driver per linux

Questo thread è destinato esclusivamente ai programmatori che intendono imparare le basi di programmazione in kernel space. Assumo che i dettagli della programmazione in c e di compilazione del kernel siano noti.
Coprirò esclusivamente i kernel della serie 2.6, anche se le differenze con i kernel 2.4 non sono sempre profonde.

Argomenti trattati:
- Documentazione
- Utilizzo di kbuild
- Hello world in kernel space
- Esempio di kernel process
- Passare parametri a un driver
- Esempio di interfaccia con lo userspace: i miscdevice
- Esempio di interfaccia con lo userspace: read e write
- Tecniche di locking: semafori
- Esempio di interfaccia con lo userspace: mmap
- Le tecniche di allocazione della memoria
- Ancora sulle tecniche di locking
- Introduzione ai block device
- Strategie di sincronizzazione
- Demandare una operazione ad un altro contesto: le workqueue
- Demandare una operazione ad un altro contesto: i tasklet
- Esempio: driver di acquisizione video
- Organizzazione degli oggetti nel kernel: kobject e sysfs. Il nuovo Device Model.
- Device Model: revisione del driver di acquisizione video
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12

Ultima modifica di ilsensine : 17-01-2005 alle 10:01.
ilsensine è offline