Linux kernel, an operating system kernel, was first released in 1991 by Linus Torvalds. The kernel manages all communication between the external world and the CPU, and specifies the order and method by which programmes utilise processor time, ensuring its efficient sharing across the hundreds of processes that make demands on processor time. It is also an expert organiser of data transfers ensuring that the CPU does not wait for too long for relatively slower disks. This edition of Understanding The Linux Kernel provides insight into the most important algorithms, data structures, and programming secrets used in the kernel. The authors discussions are extensive, including discussions on individual bits of code and important Intel-related features. Significantly, they lay out the theory behind the how and why of Linux functions. This third edition of Understanding The Linux Kernel deals with Version 2.6, released in December 2003, and features discussions on the topics of memory management. The book also enumerates the changes made to the kernel subsystem, especially in the areas of block devices and memory management. In addition, the book highlights program execution, synchronization that happens inside a kernel, and Interprocess Communication. The book helps programmers and enthusiasts understand how to tease out Linux s best capabilities, meet the problem of producing the right system response during file access, process scheduling, and managing memory in a wide array of situations. Understanding The Linux Kernel is more than just an academic exercise, it provides details of the inner workings of Linux, helping Linux users to make the most out of their systems.