- Shopping Bag ( 0 items )
Posted April 13, 2008
Writing a device driver in linux is not for the faint hearted. As this book makes clear, it requires the intersection of a set of skills. C programming, for one. Apparently, all serious [ie. practical] driver coding is done in C. There is no need for the higher level object oriented languages like C++ or Java. Plus, drivers often need the utmost in efficiency, and C appears best for this. It should be said that the book does not really argue for the use of any other language. Code snippets are in C, and that's it. But an associated reason is that linux itself [not just its device drivers] is written in C. And if you want to study other device drivers, these are invariably also done in C. An important idea explicated in the book is to use prior drivers as inspiration. See how they work. Often, you can borrow as much of their source code as you wish, if those drivers were released as open source. In fact, you are shown how to find archives of drivers. Very useful. Another skill described in the book is a close acquaintance with various types of hardware that need drivers. The hardware might be a mouse, joystick or trackball. These have fairly low bandwidths. But the book also explains drivers for disks and memories [think flash cards or USB drives], where the bandwidth needs are far greater. The book also explains why linux is so popular for the writing of drivers. Turns out that the kernel abstraction has layers that insulate the upper level operating system and applications from the gritty hardware details. Alas, for those writing drivers, it is these gritty details that you must contend with. One slight puzzle is the continual reference to PCMCIA. The book came out in 2008. I thought that several years before, the computer industry agreed to drop that acronym in favour of the simpler 'PC Card'.Was this review helpful? Yes NoThank you for your feedback. Report this reviewThank you, this review has been flagged.