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.

Ацаніце гэту электронную кнігу

Падзяліцеся сваімі меркаваннямі.

Чытанне інфармацыb

Смартфоны і планшэты
Усталюйце праграму "Кнігі Google Play" для Android і iPad/iPhone. Яна аўтаматычна сінхранізуецца з вашым уліковым запісам і дазваляе чытаць у інтэрнэце або па-за сеткай, дзе б вы ні былі.
Ноўтбукі і камп’ютары
У вэб-браўзеры камп’ютара можна слухаць аўдыякнігі, купленыя ў Google Play.
Электронныя кнiгi i iншыя прылады
Каб чытаць на такіх прыладах для электронных кніг, як, напрыклад, Kobo, трэба спампаваць файл і перанесці яго на сваю прыладу. Выканайце падрабязныя інструкцыі, прыведзеныя ў Даведачным цэнтры, каб перанесці файлы на прылады, якія падтрымліваюцца.