Having already helped two generations of programmers explore Linux and write devices, the fourth edition of this classic book delves into tty, USB, and HCI devices such as keyboards, in addition to basic character devices. Linux Device Drivers includes numerous full-featured examples that you can compile and run without special hardware. Written by well-known leaders in Linux development and programming, this book covers significant changes to Version 3.2 of the Linux kernel, the basis of the Precise Pangolin release of Ubuntu. All you need to get started is an understanding of the C programming language and some background in Unix system calls.