Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
FreeBSD Device Drivers: A Guide for the Intrepid 1st Edition
Purchase options and add-ons
You'll learn:
–All about Newbus, the infrastructure used by FreeBSD to manage the hardware devices on your system
–How to work with ISA, PCI, USB, and other buses
–The best ways to control and communicate with the hardware devices from user space
–How to use Direct Memory Access (DMA) for maximum system performance
–The inner workings of the virtual null modem terminal driver, the USB printer driver, the Intel PCI Gigabit Ethernet adapter driver, and other important drivers
–How to use Common Access Method (CAM) to manage host bus adapters (HBAs)
Concise descriptions and extensive annotations walk you through the many code examples. Don't waste time searching man pages or digging through the kernel sources to figure out how to make that arcane bit of hardware work with your system. FreeBSD Device Drivers gives you the framework that you need to write any driver you want, now.
- ISBN-109781593272043
- ISBN-13978-1593272043
- Edition1st
- PublisherNo Starch Press
- Publication dateMay 12, 2012
- LanguageEnglish
- Dimensions7 x 0.82 x 9.25 inches
- Print length352 pages
Frequently bought together

Customers who viewed this item also viewed
Design and Implementation of the FreeBSD Operating System, TheHardcover$19.29 shippingOnly 17 left in stock - order soon.
Absolute FreeBSD, 3rd Edition: The Complete Guide to FreeBSDPaperback$18.74 shippingOnly 17 left in stock - order soon.
The Complete FreeBSD: Documentation from the SourcePaperback$17.75 shippingOnly 1 left in stock (more on the way).
The Design of the UNIX Operating SystemPaperback$16.55 shippingGet it as soon as Monday, Jun 16Only 1 left in stock - order soon.
Mastering FreeBSD and OpenBSD Security: Building, Securing, and Maintaining BSD SystemsPaperback$15.57 shippingOnly 1 left in stock (more on the way).
Editorial Reviews
Review
—Michael Lucas, FreeBSD committer and author of Absolute FreeBSD
"FreeBSD Device Drivers is an excellent guide to the APIs used to write a device driver for FreeBSD."
—John Baldwin, Kernel Developer, FreeBSD
"I'd recommend the book for anybody that needs an introduction to drivers. The walk throughs will get people up to speed, as well as introduce many of the uniquely FreeBSD quirks one needs to know to integrate with FreeBSD."
—Warner Losh, FreeBSD core team
"I am pleased to see No Starch provide a forum for books like this. They continue to produce high-quality works that read well and address subjects seldom found elsewhere."
—Richard Bejtlich, CSO of Mandiant & Founder of TaoSecurity
"I like this book. It fills a definite need, and does it well."
—Warren Block, FreeBSD committer
"This book is definitely a must have for anybody interested in how FreeBSD device drivers are designed, not to mention those who are interested in writing their very own ones for the FreeBSD operating system!"
—Romain Tartière, FreeBSD ports committer
"This book is a no nonsense, straight to the point document that helps you get to the content quickly."
—BeginLinux.com
"Definitely an excellent book with all the information you’ll need to start developing your own FreeBSD device drivers."
—xorl
"Strikes a pretty good balance for its stated purpose. Its mostly 'just the facts ma’am' style works well, but it provides plenty of references for those wanting more detail or background. This is definitely worth a read if device drivers in FreeBSD are something you need or want to know about."
—Simon Gerraty, FreeBSD Journal
About the Author
Product details
- ASIN : 1593272049
- Publisher : No Starch Press
- Publication date : May 12, 2012
- Edition : 1st
- Language : English
- Print length : 352 pages
- ISBN-10 : 9781593272043
- ISBN-13 : 978-1593272043
- Item Weight : 1.5 pounds
- Dimensions : 7 x 0.82 x 9.25 inches
- Best Sellers Rank: #1,305,437 in Books (See Top 100 in Books)
- #20 in BSD Operating System
- #175 in Linux & UNIX Administration (Books)
- #246 in Linux Networking & System Administration
- Customer Reviews:
About the author

Joseph Kong is from Toronto, Ontario, Canada. He's worked as a system administrator. His interests include computer (in)security, reverse code engineering, and system programming.
You can find his website at http://thestackframe.org and on Twitter as @JosephJKong.
Customer reviews
- 5 star4 star3 star2 star1 star5 star77%16%0%7%0%77%
- 5 star4 star3 star2 star1 star4 star77%16%0%7%0%16%
- 5 star4 star3 star2 star1 star3 star77%16%0%7%0%0%
- 5 star4 star3 star2 star1 star2 star77%16%0%7%0%7%
- 5 star4 star3 star2 star1 star1 star77%16%0%7%0%0%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book to be a wonderful read and resource, with clear explanations of device drivers for FreeBSD.
AI-generated from the text of customer reviews
Select to learn more
Customers find the book to be a wonderful read and resource, with one customer specifically praising it as a great guide for writing device drivers for FreeBSD.
"This is a really helpful book, I have read and searched forth and back the Freebsd documentation for clues for starting driver development, well..." Read more
"It's a great book on writing device drivers for FreeBSD. Very well explanation on FreeBSD device driver architecture...." Read more
"Good book with working examples and easy to follow. Use it to study the BSD driver basics...." Read more
"...this book would get updated, but none-the-less, this is an excellent resource and a wonderful read. It truly is a good book...." Read more
Customers find the book's explanations well-written and easy to follow, with one customer noting it serves as a good introduction to the topic.
"It's a great book on writing device drivers for FreeBSD. Very well explanation on FreeBSD device driver architecture...." Read more
"Good book with working examples and easy to follow. Use it to study the BSD driver basics...." Read more
"...However I found it to be a good introduction to the topic. It is very PC-centric, and not that useful if you are doing embedded work...." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on September 2, 2013This is a really helpful book, I have read and searched forth and back the Freebsd documentation for clues for starting driver development, well you could read the source code of the drivers as well, but is it better to read this book first as it will make things clear or you will be more familiar with the current infrastructure, this book is really is a must if you want to start digging on FBSD driver coding, I really recommend it.
- Reviewed in the United States on November 2, 2016It's a great book on writing device drivers for FreeBSD. Very well explanation on
FreeBSD device driver architecture.
The study of the book is also a good academic practice on how to use
synchronisation and concurrency primitives.
I'm strongly recommend the book along with the classic
"The Design and Implementation of the FreeBSD operating system"
for anyone delving in depth with operating system kernels,
using the superb FreeBSD as a case study.
- Reviewed in the United States on May 28, 2013Good book with working examples and easy to follow.
Use it to study the BSD driver basics.
Bit more details about the PCIe devices might be useful.
- Reviewed in the United States on June 24, 2019I wish to high heaven this book would get updated, but none-the-less, this is an excellent resource and a wonderful read.
It truly is a good book.
I bought the ebook, but want the print book.
- Reviewed in the United States on December 12, 2018Great price and excellent condition.
- Reviewed in the United States on January 18, 2015What a fun story!!
Bring together a very recently divorced Sadie with her Aunt Dody, brothers Jasper and Fontaine, and Des, a real hunky emergency room doctor in Bell Harbor, Michigan and you have the makings of a good romance story. Add that Sadie brings her 4 and 6 year old children as she escapes into her aunt's dotty attitude and malapropisms and the fact that Fontaine is gay and it begins to look even more interesting. Sadie's whole family seems dedicated to double-entendres, smart remarks and stories of misspent youth, while her daughter Paige's misunderstanding of adult humor leaves you rolling on the floor laughing.
Aunt Dody and Fontaine are dedicated to matchmaking with Sadie and Des. That is greatly complicated by Sadie's emphatic decision to never fall in love or marry again and Des' role as a temporary fill-in for the regular emergency room doctor. Sadie and Fontaine both find Des tremendously attractive. Since Sadie's ex-husband Richard has successfully torn apart Sadie's self esteem, she enters into a friendship with Des afraid of her own shadow. She second-guesses both her own and Des's actions and words, always putting the worst possible spin on them.
This is a well-written light-hearted romp with a truly dysfunctional cast of characters. I loved it!
- Reviewed in the United States on March 17, 2017It's a nice overview, but it only scratches the surface. However I found it to be a good introduction to the topic. It is very PC-centric, and not that useful if you are doing embedded work.
Also I feel like the author doesn't really explain the concepts that well, like for example what the various structures actually represent, like which ones are associated with the driver as a whole, which ones are specific to each instance, etc.
- Reviewed in the United States on May 4, 2012Most programmers consider device drivers the darkest of the dark computer arts, but to write a good device driver what's needed is a decent template and some good documentation. The FreeBSD Operating Systems has plenty of templates, in the form of already working drivers, and with the publication of Joseph Kong's latest book, _FreeBSD Device Drivers_, now there is good documentation as well.
The book takes the reader from the simplest types of drivers, such as those used to do serial communication, up through disk, usb and network drivers, which are far more complex and require the programmer to have a greater understanding about the operating system in which they're working. The introductory chapters give enough of the required background information for writing a driver, covering areas such as memory allocation, and synchronization primitives, without preventing the reader from, very quickly, getting down to working on real code.
One of the beauties of this book is that it covers running code in a real world operating system, making it far more relevant for both students and working programmers. Many books on programming create neat and easy problems that the authors think will take the reader through the necessary steps to understanding a concept, but this book doesn't shy away from the nitty gritty details of low level code.
The book has an easy to read, narrative style which makes reading it an enjoyable experience, a seeming rarity in technical books.
I'd recommend this book to anyone who wants to truly understand what goes on, under the hood, in an operating system.
Top reviews from other countries
-
Elmout TartanpionReviewed in France on July 2, 20135.0 out of 5 stars Le coeur de FreeBSD
Que dire de ce livre, à part que c'est une perle! Toute personne qui s'intéresse au développement système de près - ou de loin - devrait le lire! Un ouvrage pointu qui à le mérite d'être clair, bien écrit, et incroyablement précis!
Lars AndersenReviewed in Canada on April 3, 20195.0 out of 5 stars How to create drivers for hardware.
No dislike, I received the book earlier than expected. The book is for creating drivers for hardware written in c++. Lars Andersen
B. W.Reviewed in Germany on May 9, 20135.0 out of 5 stars Good book, but not for the faint of heart
This book gives interesting insights into the development of drivers for FreeBSD (or for any unix-like system). But it should be noted that knowing C is absolutely necessary to understand it. It is no book for beginners therefore. The writing style is enjoyable but very precise and sometimes a bit dry.
-
Luca FerrariReviewed in Italy on December 5, 20174.0 out of 5 stars Clear, reabled, concise
A must read to understand better how the FreeBSD kernel and module system works. It is short and complete of full examples, and it is a must read for a FreeBSD developer.
-
Pierre Paul JacquesReviewed in France on May 6, 20155.0 out of 5 stars Une référence dans le domaine FreeBSD
Très bon livre que je recommende à tous.
Permet de se mettre dans la création de devices pour divers usages.






