>
MENU
tetris.gif

Giocare a Tetris con Firefox

secondlife-ubuntu.png

Ubuntu su Second Life

10 luglio 2007 Visualizzazioni: 471 Software

Introduzione ai Linux device driver

Esattamente come per ogni altro aspetto della programmazione, anche per i device driver del SO Linux esiste una sorta di Hello World, ossia un punto di partenza dal quale sviluppare le proprie conoscenze e competenze.

header_linux_devcenter.gif

Per chi fosse interessato, volevo segnalare un articolo apparso su O’Reilly Linux Dev Center, intitolato appunto /dev/hello_world: A Simple Introduction to Device Drivers under Linux. In esso viene trattato l’argomento della scrittura di un modulo per il kernel Linux, esaminando gli aspetti più basilari ed importanti.

L’obiettivo è quello di visualizzare il tipico messaggio tramite del codice inserito come modulo. I metodi presentati sono tre, e consistono rispettivamente nello stampare la stringa Hello World tramite printk() nel buffer del kernel, tramite un file posto nel file system virtuale proc o tramite un file posto in /dev.

La stesura di un modulo per il kernel viene trattata in dettaglio, a partire dal download dei sorgenti del kernel (o almeno dell’ambiente minimo necessario alla compilazione di moduli) sino ad arrivare ai commenti sul codice presentato come esempio dall’autore dell’articolo, con tanto di descrizioni (vedi le varie macro, come module_init() o module_exit()). Anche il processo di compilazione non è lasciato al caso, e così, utilizzando i sorgenti a corredo, è possibile infine dare un bel cat/dev/hello e vedere la fatidica frase nel terminale.

Vale senz’altro la pena dare un’occhiata all’originale, specie se l’argomento vi è nuovo e volete approcciarvi ad esso in maniera molto pratica. In conclusione, vorrei segnalare anche un’altra risorsa, ossia LinuxChix Kernel Hacking Lessons. Happy Coding!

di Francesco di Salvo - Programmazione.it

twittergoogle_pluslinkedinmail
  • http://www.delian.it Delian

    Ottima segnalazione! :)
    E' un argomento che mi ha sempre affascinato e, appena avro' tempo, mi ci dedichero' con enorme piacere. :)