The Linux Kernel Module Programming Guide.pdf

In Programming, Technology Ebooks » Operating System » Tags: , » Comments Off » July 13, 2010


Taken from What Is A Kernel Module?: So, you want to write a kernel module. You know C, you’ve written a few normal programs to run as processes, and now you want to get to where the real action is, to where a single wild pointer can wipe out your file system and a core dump means a reboot.

What exactly is a kernel module? Modules are pieces of code that can be loaded and unloaded into the kernel upon demand. They extend the functionality of the kernel without the need to reboot the system. For example, one type of module is the device driver, which allows the kernel to access hardware connected to the system. Without modules, we would have to build monolithic kernels and add new functionality directly into the kernel image. Besides having larger kernels, this has the disadvantage of requiring us to rebuild and reboot the kernel every time we want new functionality.

Contents:

  • Foreword [ Authorship ~ Versioning and Notes ~ Acknowledgements ]
  • Chapter 1. Introduction [ What Is A Kernel Module? ~ How Do Modules Get Into The Kernel? ]
  • Chapter 2. Hello World [ Hello, World (part 1): The Simplest Module ~ Compiling Kernel Modules ~ Hello World (part 2) ~ Hello World (part 3): The __init and __exit Macros ~ Hello World (part 4): Licensing and Module Documentation ~ Passing Command Line Arguments to a Module ~ Modules Spanning Multiple Files ~ Building modules for a precompiled kernel ]
  • Chapter 3. Preliminaries [ Modules vs Programs ]
  • Chapter 4. Character Device Files [ Character Device Drivers ]
  • Chapter 5. The /proc File System [ The /proc File System ~ Read and Write a /proc File ~ Manage /proc file with standard filesystem ~ Manage /proc file with seq_file ]
  • Chapter 6. Using /proc For Input [ TODO: Write a chapter about sysfs ]
  • Chapter 7. Talking To Device Files [ Talking to Device Files (writes and IOCTLs) ]
  • Chapter 8. System Calls [ System Calls ]
  • Chapter 9. Blocking Processes [ Blocking Processes ]
  • Chapter 10. Replacing Printks [ Replacing printk ~ Flashing keyboard LEDs ]
  • Chapter 11. Scheduling Tasks [ Scheduling Tasks ]
  • Chapter 12. Interrupt Handlers [ Interrupt Handlers ]
  • Chapter 13. Symmetric Multi Processing [ Symmetrical Multi-Processing ]
  • Chapter 14. Common Pitfalls [ Common Pitfalls ]
  • Appendix A. Changes: 2.0 To 2.2 [ Changes between 2.4 and 2.6 ]
  • Appendix B. Where To Go From Here [ Where From Here? ]

PLEASE FILL RECAPTCHA BELOW TO GET THE LINK(S)TO DOWNLOAD/READ ONLINE THE CURRENT MATERIAL

 

Comments

Comments are closed.