- Master the design, components, and structures of core kernel subsystems
- Explore kernel programming interfaces and related algorithms under the hood
- Completely updated material for the 4.12.10 kernel
Mastering Linux Kernel Development looks at the Linux kernel, its internal arrangement and design, and various core subsystems, helping you to gain significant understanding of this open source marvel. You will look at how the Linux kernel, which possesses a kind of collective intelligence thanks to its scores of contributors, remains so elegant owing to its great design.
This book also looks at all the key kernel code, core data structures, functions, and macros, giving you a comprehensive foundation of the implementation details of the kernel’s core services and mechanisms. You will also look at the Linux kernel as well-designed software, which gives us insights into software design in general that are easily scalable yet fundamentally strong and safe.
By the end of this book, you will have considerable understanding of and appreciation for the Linux kernel.
What you will learn
- Comprehend processes and fles—the core abstraction mechanisms of the Linux kernel that promote effective simplification and dynamism
- Decipher process scheduling and understand effective capacity utilization under general and real-time dispositions
- Simplify and learn more about process communication techniques through signals and IPC mechanisms
- Capture the rudiments of memory by grasping the key concepts and principles of physical and virtual memory management
- Take a sharp and precise look at all the key aspects of interrupt management and the clock subsystem
- Understand concurrent execution on SMP platforms through kernel synchronization and locking techniques
About the Author
Raghu Bharadwaj is a leading consultant, contributor, and corporate trainer on the Linux kernel with experience spanning close to two decades. He is an ardent kernel enthusiast and expert, and has been closely following the Linux kernel since the late 90s. He is the founder of TECH VEDA, which specializes in engineering and skilling services on the Linux kernel, through technical support, kernel contributions, and advanced training. His precise understanding and articulation of the kernel has been a hallmark, and his penchant for software designs and OS architectures has garnered him special mention from his clients. Raghu is also an expert in delivering solution-oriented, customized training programs for engineering teams working on the Linux kernel, Linux drivers, and Embedded Linux. Some of his clients include major technology companies such as Xilinx, GE, Canon, Fujitsu, UTC, TCS, Broadcom, Sasken, Qualcomm, Cognizant, STMicroelectronics, Stryker, and Lattice Semiconductors.
Table of Contents
- Comprehending Processes, Address Space, and Threads
- Deciphering the Process Scheduler
- Signal Management
- Memory Management and Allocators
- File I/O and File Systems
- Interprocess Communication
- Virtual Memory Management
- Kernel Synchronization and Locking
- Interrupts and Deferred Work
- Clock & Time Management
- Module Management