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

· BPB Publications
eBook
462
페이지

eBook 정보

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.

이 eBook 평가

의견을 알려주세요.

읽기 정보

스마트폰 및 태블릿
AndroidiPad/iPhoneGoogle Play 북 앱을 설치하세요. 계정과 자동으로 동기화되어 어디서나 온라인 또는 오프라인으로 책을 읽을 수 있습니다.
노트북 및 컴퓨터
컴퓨터의 웹브라우저를 사용하여 Google Play에서 구매한 오디오북을 들을 수 있습니다.
eReader 및 기타 기기
Kobo eReader 등의 eBook 리더기에서 읽으려면 파일을 다운로드하여 기기로 전송해야 합니다. 지원되는 eBook 리더기로 파일을 전송하려면 고객센터에서 자세한 안내를 따르세요.