1 option
Linux device drivers / Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.
- Format:
- Book
- Author/Creator:
- Corbet, Jonathan.
- Language:
- English
- Subjects (All):
- Device drivers (Computer programs).
- Linux device drivers (Computer programs).
- Physical Description:
- 1 online resource (678 p.)
- Edition:
- 3rd ed.
- Place of Publication:
- Sebastopol : O'Reilly & Associates, 2005.
- Language Note:
- English
- System Details:
- text file
- Summary:
- Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices. Over the years the bo
- Contents:
- Linux Device Drivers, 3rd Edition; Alessandro&s Introduction; Greg&s Introduction; Audience for This Book; Organization of the Material; Background Information; Online Version and License; Conventions Used in This Book; Using Code Examples; We&d Like to Hear from You; Safari Enabled; Acknowledgments; Alessandro; Greg; 1. An Introduction to Device Drivers; 1.2. Splitting the Kernel; 1.3. Classes of Devices and Modules; 1.4. Security Issues; 1.5. Version Numbering; 1.6. License Terms; 1.7. Joining the Kernel Development Community; 1.8. Overview of the Book; 2. Building and Running Modules
- 2.2. The Hello World Module2.3. Kernel Modules Versus Applications; 2.3.2. Concurrency in the Kernel; 2.3.3. The Current Process; 2.3.4. A Few Other Details; 2.4. Compiling and Loading; 2.4.2. Loading and Unloading Modules; 2.4.3. Version Dependency; 2.4.4. Platform Dependency; 2.5. The Kernel Symbol Table; 2.6. Preliminaries; 2.7. Initialization and Shutdown; 2.7.2. Error Handling During Initialization; 2.7.3. Module-Loading Races; 2.8. Module Parameters; 2.9. Doing It in User Space; 2.10. Quick Reference; 3. Char Drivers; 3.2. Major and Minor Numbers
- 3.2.2. Allocating and Freeing Device Numbers3.2.3. Dynamic Allocation of Major Numbers; 3.3. Some Important Data Structures; 3.3.2. The file Structure; 3.3.3. The inode Structure; 3.4. Char Device Registration; 3.4.2. The Older Way; 3.5. open and release; 3.5.2. The release Method; 3.6. scull&s Memory Usage; 3.7. read and write; 3.7.2. The write Method; 3.7.3. readv and writev; 3.8. Playing with the New Devices; 3.9. Quick Reference; 4. Debugging Techniques; 4.2. Debugging by Printing; 4.2.2. Redirecting Console Messages; 4.2.3. How Messages Get Logged; 4.2.4. Turning the Messages On and Off
- 4.2.5. Rate Limiting4.2.6. Printing Device Numbers; 4.3. Debugging by Querying; 4.3.1.2. An older interface; 4.3.1.3. Creating your /proc file; 4.3.1.4. The seq_file interface; 4.3.2. The ioctl Method; 4.4. Debugging by Watching; 4.5. Debugging System Faults; 4.5.2. System Hangs; 4.6. Debuggers and Related Tools; 4.6.2. The kdb Kernel Debugger; 4.6.3. The kgdb Patches; 4.6.4. The User-Mode Linux Port; 4.6.5. The Linux Trace Toolkit; 4.6.6. Dynamic Probes; 5. Concurrency and Race Conditions; 5.2. Concurrency and Its Management; 5.3. Semaphores and Mutexes; 5.3.2. Using Semaphores in scull
- 5.3.3. Reader/Writer Semaphores5.4. Completions; 5.5. Spinlocks; 5.5.2. Spinlocks and Atomic Context; 5.5.3. The Spinlock Functions; 5.5.4. Reader/Writer Spinlocks; 5.6. Locking Traps; 5.6.2. Lock Ordering Rules; 5.6.3. Fine- Versus Coarse-Grained Locking; 5.7. Alternatives to Locking; 5.7.2. Atomic Variables; 5.7.3. Bit Operations; 5.7.4. seqlocks; 5.7.5. Read-Copy-Update; 5.8. Quick Reference; 6. Advanced Char Driver Operations; 6.1.2. The Return Value; 6.1.3. The Predefined Commands; 6.1.4. Using the ioctl Argument; 6.1.5. Capabilities and Restricted Operations
- 6.1.6. The Implementation of the ioctl Commands
- Notes:
- Description based upon print version of record.
- Includes bibliographical references and index.
- Description based on print version record.
- ISBN:
- 9780596517434
- 0596517432
- 9780596555382
- 0596555385
- OCLC:
- 609840721
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.