Mastering Linux Kernel Development
內容描述
Key Features
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
Book Description
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