Operating Systems
Programming Languages
Computer H/W
Device Drivers
Logic & HW Design
Microsoft Technologies
Computer Science
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

Device Drivers

Book Title : Linux Device Drivers, 2nd Edition
eBook download format(s) : HTM HTM ZIP RAR XML 
ISBN-10 : 0596000081 
ISBN-13 : 978-0-596000-08-0 
Author(s) : Alessandro Rubini Jonathan Corbet 
Publisher : O'Reilly (Jun 2001)
Section : Device Drivers
Book Review:
Updated to cover version 2.4.x of the Linux kernel, the second edition of Linux Device Drivers remains the best general-purpose, paper-bound guide for programmers wishing to make hardware devices work under the world's most popular open-source operating system. The authors take care to show how to write drivers that are portable--that is, that compile and run under all popular Linux platforms. That, along with the fact that they're careful to explain and illustrate concepts, makes this book very well suited to any programmer familiar with C but not with the hardware-software interface. It's worth noting that the emphasis in the title is on "device drivers" as much as "Linux." This book will make sense to you if you've never written a driver for any platform before. It helps if you have some Linux or Unix background, but even that is secondary as a prerequisite to C skill.

For a programming text--and one concerned with low-level instructions and data structures, at that--this book is remarkably rich in prose. You'll typically want to read this book straight through, more or less skipping the code samples, before sketching out your plan for the driver you need to write. Then, go back and pay closer attention to the sections on specific details you need to implement, like custom task queues. For coding-time details about specific system calls and programming techniques, count on the index to point you to the right passages. --David Wall

Topics covered: Techniques for writing hardware device drivers that run under Linux kernels 2.0.x through 2.2.x. Sections show how to manage memory, time, interrupts, ports, and other details of the hardware-software interface.

Book Description
This book is for anyone who wants to support computer peripherals under the Linux operating system or who wants to develop new hardware and run it under Linux. Linux is the fastest-growing segment of the Unix market, is winning over enthusiastic adherents in many application areas, and is being viewed more and more as a good platform for embedded systems. Linux Device Drivers, already a classic in its second edition, reveals information that heretofore has been shared by word of mouth or in cryptic source code comments, on how to write drivers for a wide range of devices.

Version 2.4 of the Linux kernel includes significant changes to device drivers, simplifying many activities, but providing subtle new features that can make a driver both more efficient and more flexible. The second edition of this book thoroughly covers these changes, as well as new processors and buses.

You don't have to be a kernel hacker to understand and enjoy this book; all you need is an understanding of C and some background in Unix system calls. You'll learn how to write drivers for character devices, block devices, and network interfaces, guided by full-featured examples that you can compile and run without special hardware. Major changes in the second edition include discussions of symmetric multiprocessing (SMP) and locking, new CPUs, and recently supported buses. For those who are curious about how an operating system does its job, this book provides insights into address spaces, asynchronous events, and I/O.

Portability is a major concern in the text. The book is centered on version 2.4, but includes information for kernels back to 2.0 where feasible. Linux Device Driver also shows how to maximize portability among hardware platforms; examples were tested on IA32 (PC) and IA64, PowerPC, SPARC and SPARC64, Alpha, ARM, and MIPS.

Contents include:

  • Building a driver and loading modules
  • Complete character, block, and network drivers
  • Debugging a driver
  • Timing
  • Handling symmetric multiprocessing (SMP) systems
  • Memory management and DMA
  • Interrupts
  • Portability issues
  • Peripheral Component Interconnect (PCI)

add to                 Digg!

You may use anyone of the download options

eBook VersionBuy this book from Amazon
Front Cover

Missing Link?, Report It and try these 5 + 1 alternates...

Tell a Friend!

Similar Book titles in Device Drivers section:
An I/O Device Driver Model and Framework for Embedded Systems
Device Driver Hardening Design Specification
The Mobius Operating System: Documentation: Device Driver Book
Writing a Linux device driver
Writing Device Drivers Book for the Solaris 8 OS
Writing Device Drivers Book for the Solaris 9 OS
Writing PCMCIA Device Drivers
Writing Solaris PCI Device Drivers for Sun SPARC Platforms
Writing Windows NT Device Drivers
Writing Device Drivers: Advanced Topics
Writing Device Drivers: Reference
Writing Device Drivers: Tutorial

Similar Book titles in Other sections:

Section: Applications
Inside Autocad 14 (Limited Edition)

Section: Bio-Chemistry
The Cell - A Molecular Approach 2nd edition
Developmental Biology, 6th Edition
Medical Microbiology 4th Edition
Pharmaceutical Biotechnology Second Edition
CRC Handbook Chemistry and Physics, 85th Edition
Show all..

Section: CS -> Compilers and Languages
Programming from Specifications, Second Edition
Logic, Programming and Prolog, 2nd Edition

Section: Data Structures and Algorithms
Problems on Algorithms, 2nd Edition
The Algorithm Design Manual: Hypertext Edition
Structure and Interpretation of Computer Programs - 2nd Edition

Section: Formal Methods
The Z Notation: A Reference Manual, Second Edition

Section: CS -> Hardware
PCI Bus Demystified, Second Edition

Section: CS -> Theory
Lecture Notes on Algorithm Analysis and Computational Complexity (4th Edition)
The Secret Guide to Computers, 29th Edition

Section: DB -> DB / 2
DB2 Connect Enterprise Edition Quick Beginnings
SAMS DB2 Developer's Guide Fourth Edition

Section: DB -> Oracle
Special Edition Using Oracle Web Application Server 3
Oracle PL/SQL Programming, 2nd Edition
Oreilly Oracle Essentials Oracle Database 10g 3rd Edition

Section: DB -> Others
Special Edition Using Visual FoxPro 6
Database System Concepts, Fifth Edition

Section: DB -> SQL
Teach Yourself SQL in 21 Days, Second Edition
Sams Teach Yourself Transact-SQL in 21 Days (2nd Edition)

Section: DB -> SQL Server
Special Edition Using Microsoft SQL Server 6.5 (2nd Edition)

Section: Computer Hardware
Hardware Guide to Linux: A Collection of Linux HOW-TO
Upgrading and Repairing PCs, Linux Edition (Upgrading & Repairing)

Section: Logic Design and Architecture
Computer Aids for VLSI Design, Second Edition
The VHDL Cookbook, First Edition
Verification Methodology Manual, 3rd Edition

Section: Microprocessor
M68000 8-/16-/32-Bit Microprocessors User's Manual Ninth Edition

Section: Peripherals
EISA System Architecture Second Edition
MultiRead Specification for CD-ROM, CD-R, CD-R/RW and DVD-ROM Devices
Plug and Play External COM Device Specification Version 1.00
Plug and Play Parallel Port Devices Version 1.0b
SCSI Object Based Storage Device Commands (OSD)
Show all..

Section: Internet
Connected: An Internet Encyclopedia, Third Edition
UNIX Unleashed, Internet Edition
Special Edition Using the Internet, 4th Edition
Computer Security Basics 2nd Edition

Section: Advanced Java
Java Au Naturel - Guide to Object Oriented Design, 4th Edition
Java Virtual Machine Specification, Second Edition
Inside the Java Virtual Machine, 2nd Edition
Java Data Structures, 2nd Edition
Java Virtual Machine Specification, First Edition
Show all..

Section: Java Enterprise Edition
Mastering Enterprise JavaBeans, 2nd Edition
Programming Jakarta Struts, 2nd Edition
JBoss Administration and Development 2nd Ed
JBoss Administration and Development 2nd Ed
JBoss 3.2 Workbook for Enterprise JavaBeans 3rd Edition
Show all..

Section: Java Language
Thinking in Java, 1st Edition
Java in a Nutshell, 2nd Edition
Teach Yourself Java in 21 Days: Professional Reference Edition
Special Edition Using Java 1.1, 3rd Edition
Special Edition Using Java, 2nd Edition
Show all..

Section: Java Micro Edition
Using WebSphere Studio Device Developer to Build Embedded Java Applications

Section: Mathematics
Elementary Algebra with Applications, 3rd Edition
Advanced Calculus, Revised Edition
Algorithms for Modular Elliptic Curves, Second Edition
Introduction to Probability, 2nd Rev edition
Combinatorial Algorithms for Computers and Calculators, Second Edition
Show all..

Section: Medical
Nutrition Almanac, 5th Edition

Section: Miscellaneous
Software Project Management, 2nd Ed.
MH & xmh: Email for Users & Programmers, 3rd Edition
Fundamentals of Piano Practice, 2nd Edition
Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd Edition
Physics of Semiconductor Devices
Show all..

Section: Microsoft Certifications
Networking Essentials Plus, Third Edition
Sybex - MCSA/MCSE Windows XP Professional Study Guide (70-270), 3rd Edition
Microsoft A+ Certification Training Kit Second Edition

Section: Microsoft C Sharp (C#)
A Programmer's Introduction to C# (Second Edition)
Programming C# (2nd Edition)

Section: Microsoft .(dot) net
Introducing Microsoft .NET Second Edition
Building Dot Net Applications For Mobile Devices
MCAD/MCSD Self-Paced Training Kit: Developing Windows-Based Applications with Microsoft Visual Basic.NET and Microsoft Visual C#.NET, Second Edition

Section: Microsoft Windows Servers
Special Edition Using Microsoft Internet Information Server
Special Edition Using Microsoft Commercial Internet System

Section: Microsoft Visual Basic
How to Program Visual Basic 5.0: Control Creation Edition
Special Edition Using Visual Basic 4

Section: Microsoft Visual C++
Programming Visual C++, 5th Edition
Database Developer's Guide with Visual C++ 4, Second Edition
Special Edition Using Visual C++ 4.2
Special Edition Using Visual C++ 6

Section: Windows Development
Inside Microsoft Windows 2000 Third edition
Programming the Microsoft Windows Driver Model, Second Edition
Tricks of the Windows Game Programming Gurus (2nd Edition)

Section: Networking
Connected: An Internet Encyclopedia, 3rd Edition
DNS and BIND, 3rd Edition
TCP/IP Network Administration, 2nd Edition
Linux Network Administrator's Guide (2nd Edition)
Internetworking Technologies Handbook, Fourth Edition
Show all..

Section: Novels
The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary

Section: Other Engineering
Modern Antenna Design 2nd Edition

Section: GNU/Linux OS
The Linux Cookbook - Tips and Techniques for Everyday Use
Linux IP Networking
The Linux Programmer's Guide
Introduction to Linux
Linux Professional Institute Certification (LPIC) Level 2 Examination Preparation
Show all..

Section: Mac OS X
Mac OS X Power Hound Panther Edition
Special Edition Using Mac OS X v10.3 Panther
Using Mac OS X v10.2, Special Edition
Mac OS X Power Tools, Second Edition

Section: Embedded and RTOS
Building Embedded Linux Systems
VxWorks Device Driver Guide

Section: Solaris OS
Writing Device Drivers

Section: OS Theory
Operating Systems: Internals and Design Principles, Fourth Edition
The Mobius Operating System: Documentation: Device Driver Book
An Operating Systems Vade Mecum, Second Edition
Modern Operating Systems 2nd Edition Andrew Tanenbaum

Section: Unix OS
UNIX Unleashed, System Admin's Edition
FreeBSD Handbook (2nd Edition)
The Complete FreeBSD, Fourth Edition

Section: Windows OS
Inside Windows 2000, Third Edition
Using Windows 98 Preview Edition

Section: Physics
Fundamentals of Physical Geography, 2nd Edition
CRC Handbook of Chemistry and Physics, 87th Edition

Section: Assembly Language
Linux Assembly HOW-TO
Linux Assembly
Linux System Calls for Assembly Language Programmers
Linux Device Drivers in Assembly Language

Section: C Language
The C Programming Language (2nd Edition)
The C Answer Book (2nd Edition)
The C Book, Second Edition

Section: COBOL Programming
Teach Yourself COBOL in 21 days, Second Edition

Section: C++ Language
C++?? : A Critique of C++, 3rd Edition
Tom Swan's GNU C++ for Linux (Professional Dev. Guide)
The C++ Programming Language (3rd Edition)
Thinking in C++, 2nd Edition (Beta)
Thinking in C++, Volume 1: Introduction to Standard C++ (2nd Edition)
Show all..

Section: Other Programming
Common Lisp the Language, 2nd Edition
Object Oriented Software in Ada 95, Second Edition
Special Edition Using Microsoft Visual Studio
The Big Online Book of Linux Ada Programming
Linear Programming, Second Edition - Foundations and Extensions
Show all..

Section: Perl Scripting
Learning Perl, Second Edition
Perl Cookbook, First Edition
Perl Pocket Reference, 4th Edition
Programming Perl, 3rd Edition
Perl Cookbook, Second Edition
Show all..

Section: Scripting
The Scheme Programming Language, Second Edition
Mastering Regular Expressions, Second Edition
Python Imaging Library Handbook (2003 Edition)
The Linux Tcl and Tk HOWTO
The Scheme Programming Language, Third Edition
Show all..

Section: Redbooks Draft
IBM Workplace Managed Client 2.6 on Linux
Using DCSS/XIP with Oracle 10g on Linux for System z
Using DCSS/XIP with Orace 10g on Linux for System z
z/VM and Linux on IBM System z: The Virtualization Cookbook for Red Hat Enterprise Linux 4
Linux Client Migration Cookbook, Version 2 A Practical Planning and Implementation Guide for Migrating to Desktop Linux
Show all..

Section: Redbooks
Aix and Linux Interoperabilty
IBM eServer pSeries Systems Handbook 2003 Edition
Security for Linux on System z
IBM Communication Controller for Linux on System z V1.2.1 Implementation Guide
Using Discontiguous Shared Segments and XIP2 Filesystems With Oracle Database 10g on Linux for IBM System z
Show all..

Section: IBM Technotes
VIOS Network Install from Linux Server

Section: Redpapers
Remodeling a Standard Store into the Extended Sites Model With WebSphere Commerce Business Edition V5.6.1
Installing and Using MPICH, MPICH-GM, and MPICH-MX on Linux Systems
WebSphere Portal Server for Linux on zSeries and z9
IBM DB2 UDB Enterprise Server Edition V8 for UNIX Backup and Recovery Using a N Series Storage System
Techniques to Build a Diskless Boot Linux Cluster of JS21 Blades
Show all..

Section: Redpapers Draft
Techniques to Build a Diskless Boot Linux Cluster of JS21 Blades
Domino 7 on Linux for IBM System z: Capacity Planning and Performance Updates
Managing Linux Guests using IBM Director and z/VM Center
PCI and PCI-X Placement Rules for IBM System i5, eServer i5, and iSeries servers with i5/OS V5R4 and V5R3 (Fourth edition)
PCI and PCI-X Placement Rules for IBM System i models: i5/OS V5R3 and V5R4 (Fourth edition)
Show all..

Section: Software Engineering
Open Source Development with CVS, 3rd Edition
Technical Concepts of Component-Based SE, 2nd Edition
Software Architecture in Practice, 2nd Edition
Free For All: How Linux and the Free Software Movement Undercut the High-Tech Titans
A Guide to the Project Management Body of Knowledge, Third Edition
Show all..

Section: Web Programming
JavaScript: The Definitive Guide, 2nd Edition
JavaScript Bible, 3rd Edition
Special Edition Using CGI
Special Edition Using Perl 5 for Web Programming
Teach Yourself CGI with PERL 5 in a Week, 2nd Edition
Show all..

Section: Web Technology
HTML: The Definitive Guide, 2nd Edition
Special Edition Using HTML 4
Special Edition Using HTML, 2nd Edition
HTML Unleashed, Professional Reference Edition

Section: XML, XSL & UML
Learning XML, 2nd Edition
Special Edition Using SGML
XML in a Nutshell, 2nd Edition
Java & XML, 2nd Edition: Solutions to Real-World Problems

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions