Linux Kernel Programming: Developing kernel architecture and device drivers for character, block, USB, and network interfaces

Linux Kernel Programming: Developing kernel architecture and device drivers for character, block, USB, and network interfaces book cover

Linux Kernel Programming: Developing kernel architecture and device drivers for character, block, USB, and network interfaces

Author(s): THIERRY GAYET (Author)

  • Publisher: BPB Publications
  • Publication Date: 11 Jun. 2025
  • Language: English
  • Print length: 462 pages
  • ISBN-10: 936589736X
  • ISBN-13: 9789365897364

Book Description

Linus Torvald released the first version of a kernel in 1991, inspired at the time by both proprietary Unix and the Minix system. Thirty-four years later, this system has evolved with stability and robustness, making it almost indispensable for the DevSecOps community. The Linux kernel forms the robust core of countless systems, from embedded devices to vast data centers, driving unparalleled power and flexibility. This book is your essential guide to deeply understanding this fundamental component and mastering the art of developing high-performance kernel-level code

This book meticulously details the kernel's history, architectural evolution, and custom build processes. You will master device driver fundamentals, distinguishing user from kernel space, and understanding the Linux Device Model (LDM). It explores Linux Security Modules, intricate kernel memory management, and various vital communication interfaces like I2C, SPI, SERIAL, PCI, and RTC. The guide concludes with task/process management, real-time concepts, and essential kernel debugging and profiling.

By the end of this book, you will be well-equipped to confidently develop, optimize, and debug kernel-level code. This empowers you to build custom Linux systems, craft efficient device drivers, and troubleshoot complex issues, ready to tackle advanced Linux system programming challenges. You will also be able to better understand this system and develop your own drivers or low-level developments for it.

What you will learn

● GNU/Linux kernel history, feature evolution, and licensing.

● Understand and develop your character and block drivers.

● Develop new file systems.

● Manage your systems by communicating with the USB protocol.

● Debug your drivers, your kernel, or any other module in the kernel space.

● Understand the layout of the Linux device model.

● Memory management in the kernel, as well as via DMA or NUMA.

● Implement Linux Security Modules (LSM) and Netfilter stack hooks.

Who this book is for

This book is for software engineers looking to understand the Linux kernel’s architecture, modify it, and develop custom modules. It also supports project managers, team leaders, and technical managers seeking a clear view of kernel development and capabilities. CISOs and IT managers will benefit from insights into kernel limitations, vulnerabilities, and security measures, such as Linux Security Modules (LSMs).

Table of Contents

1. History of the GNU/Linux Kernel

2. Introduction to the Linux Kernel

3. Introduction to Device Drivers

4. Linux Device Model

5. Character Device Drivers

6. Block Drivers and Virtual Filesystem

7. USB Drivers and libusb

8. Network Drivers

9. Linux Security Modules

10. Kernel Memory and DMA

11. Navigating Linux Communication Interfaces

12. Process Management

13. Debugging GNU/Linux Kernel and Drivers

Editorial Reviews

About the Author

Thierry Gayet currently works as a senior developer for TIXEO, a company that has developed an ultra-secure French video conferencing system validated by the country's security authority.

View on Amazon

未经允许不得转载:电子书百科大全 » Linux Kernel Programming: Developing kernel architecture and device drivers for character, block, USB, and network interfaces

评论 抢沙发

评论前必须登录!

立即登录   注册