Features
- Cover Type: Paperback with 336 pages
- Published by: Addison-Wesley Professional
- Edition: 1st Edition November 25, 1991
- Written in: English
- ISBN 10 Number: 0201523744
- ISBN 13 Number: 978-0201523744
-
Book Dimensions:
9.1 x 7.4 x 0.8 inches
- Weighs: 1.3 pounds
Book Description
"Writing UNIX Device Drivers" provides application programmers with definitive information on writing device drivers for the UNIX operating system. It explains, through working examples, the issues related to the design and implementation of these important components of application programs.
Written by an acknowledged expert, the book uses full source code listings of real devices to explain the underlying concepts. Complete source code is provided for 12 drivers, including:
block drivers for a SCSI disk and a line printer
a character driver for an intelligent serial I/O device
a streams driver for a token-ring card
Covering System V Releases 3 and 4, "Writing UNIX Device Drivers" provides essential practical advice for all UNIX applications programmers.
Back Cover Copy
Writing UNIX Device Drivers provides application programmers with definitive information on writing device drivers for the UNIX operating system. It explains, through, working examples, the issues related to the design and implementation of these important components of application programs.
Written by an acknowledged expert, the book uses full source code listings of real devices to explain the underlying concepts. Complete source code is provided for 12 drivers, including:
- block drivers for a SCSI disk and a line printer
- a character driver for an intelligent I/O device
- a streams driver for a token-ring card
Covering System V Releases 3 and 4,
Writing UNIX Device Drivers provides essential practical advice for all UNIX applications programmers.
0201523744B04062001
Reader Reviews
This book is written in a very approachable style that starts off with a very simple software-only character driver and builds up to more complicated hardware combinations. The code fragments are C code of course, but are preceded where necessary by pseudocode to give a better idea of the underlying algorithm. Complete code is given for the drivers, but this book is not really about programming as such. It probably tells you more about hardware than most programmers ever wanted to know, unless they were asked to write a device driver- which this book presumes you are. The book is biased towards IBM PC interfacing (8250 UART, LPT1, etc) but not exclusively. More importantly the principles remain the same and the author always seeks to explain things and make you think about what is happening. Furthermore the book is based on Unix version 3 (SVR3) with particular reference to SCO Unix, with only the last chapter introducing the principles of SVR4. However streams are treated more thoroughly with separate chapters on a loop-back driver and a rewrite of the terminal driver for COM1. After a general explanation, the book is divided into chapters covering individual drivers in increasing levels of complexity. There are character drivers for a test data generator, an A/D converter, a line printer, a more complicated test data generator, a raw disk driver, and a tape driver. Block drivers cover a test data generator, RAM disk, and SCSI disk. There is a terminal driver for COM1 and streams drivers for a loop-back driver and COM1. Finally, there is a chapter on installation and one on Zen and Driver Writing. The installation chapter refers you to your system manual for specific details, but explains how device installation is meant to work. The Zen chapter is general philosophy on when to write a driver and problems in debugging. Of particular note is the assertion that it is easy to write drivers provided that you have "..a mind unbound to conventional hang-ups about determinism, causal theory, logic, and the expectation that any piece of hardware will work the way its designers described." There have been more recent books on writing device drivers for various flavors of Unix, but none is as instructive and detailed as this book. You may need an additional text on device drivers for the particular flavor of Unix you are working with, but this book is still essential.
Comment | |
(Report this)