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

· BPB Publications
Libër elektronik
462
Faqe

Rreth këtij libri elektronik

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



Zbulo më shumë

Rreth autorit

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.

Vlerëso këtë libër elektronik

Na trego se çfarë mendon.

Informacione për leximin

Telefona inteligjentë dhe tabletë
Instalo aplikacionin "Librat e Google Play" për Android dhe iPad/iPhone. Ai sinkronizohet automatikisht me llogarinë tënde dhe të lejon të lexosh online dhe offline kudo që të ndodhesh.
Laptopë dhe kompjuterë
Mund të dëgjosh librat me audio të blerë në Google Play duke përdorur shfletuesin e uebit të kompjuterit.
Lexuesit elektronikë dhe pajisjet e tjera
Për të lexuar në pajisjet me bojë elektronike si p.sh. lexuesit e librave elektronikë Kobo, do të të duhet të shkarkosh një skedar dhe ta transferosh atë te pajisja jote. Ndiq udhëzimet e detajuara në Qendrën e ndihmës për të transferuar skedarët te lexuesit e mbështetur të librave elektronikë.