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

· BPB Publications
电子书
462

关于此电子书

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



探索更多

作者简介

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.


He holds a DEST (postgraduate diploma) in computer science, specializing in artificial intelligence, which he obtained in the late 1990s from CNAM (University of Le Mans).


With over 30 years of experience in Linux development, he has extensively explored software development. His expertise has also extended to fields such as artificial intelligence, cybersecurity, and quantum physics.

Dynamic and dedicated to Linux and system hacking, he participates in repair cafés and continues to design systems based on embedded Linux or IoT.


In the 1990s, when the internet had not yet taken off as much as it does today, he created a Linux user association or group with the aim of helping to better understand and popularize the use of Linux.


Author of numerous articles in Linux Magazine and Misc, he has also presented numerous professional training sessions, conferences, and lectures in various topical areas. In this book, he shares his knowledge and insights to help you better understand the Linux kernel and develop your own drivers.

为此电子书评分

欢迎向我们提供反馈意见。

如何阅读

智能手机和平板电脑
只要安装 AndroidiPad/iPhone 版的 Google Play 图书应用,不仅应用内容会自动与您的账号同步,还能让您随时随地在线或离线阅览图书。
笔记本电脑和台式机
您可以使用计算机的网络浏览器聆听您在 Google Play 购买的有声读物。
电子阅读器和其他设备
如果要在 Kobo 电子阅读器等电子墨水屏设备上阅读,您需要下载一个文件,并将其传输到相应设备上。若要将文件传输到受支持的电子阅读器上,请按帮助中心内的详细说明操作。