how to program a driver?

Bruce M. Simpson bms at FreeBSD.org
Tue Dec 9 01:20:05 PST 2008


[Resend to list for everyone]

Espartano wrote:
> Actually i know how to program with C language in a basic level but i
> don't know nothing about hardware or computer organization, what
> topics i should study for gain knowledges about net-drivers ? or if
> someone can recommend me books about this topic  i will be very
> thankful.
>   

    The seminal work is TCP/IP Illustrated Volume 2 (Gary Wright and W. 
Richard Stevens, Addison-Wesley). Whilst dated it will give you an 
overview of how all the parts in the BSD networking stack fit together.
    It really needs to be updated, however enough things are in flux 
right now that summarising all the changes would be difficult until say 
after FreeBSD 8.0 dust is settled.

    For computer architecture, probably best to learn PC architecture 
these days -- x86 is here to stay, kids, and Netbooks are something of a 
reactionary response triggered by the One-Laptop-Per-Child (OLPC) 
project. In my day, I learned 68000 assembly and C on the Amiga.

    Hans-Peter Messmer's "The Indispensable PC Hardware Book" is a huge 
book which cost me about 50 GBP new when I first bought it -- I was 
working in a reasonably well paid job at the time, but it can be found 
second hand no doubt around the world.
    Cover to cover it will tell you what you need to know about how the 
PC architecture fits together, but if you need more detail e.g. on stuff 
like FreeBSD network drivers, again, it's best to refer back to the 
source code itself.

Hope this helps.

cheers
BMS


More information about the freebsd-net mailing list