Professional Linux® Kernel Architecture
As the Linux kernel constantly evolves, so must your understanding of the central functions of the kernel. Linux expert Wolfgang Mauerer focuses on version 2.6.24 (as well as summarizing changes to versions 2.6.25 and 2.6.26) of the kernel as he walks you through the concepts, underlying structures, and implementation of the Linux kernel. Keeping a close connection with the source code—as well as the components and subsystems of the kernel—this book reviews the VFS layer and discusses virtual filesystems and the Extended filesystem family and examines how the page and buffer cache speed up kernel operations.
You'll take a look at the peculiarities of various architectures supported by the kernel, explore the assorted tools and means of working efficiently with the kernel sources, and investigate the numerous social aspects of kernel development and the Linux kernel community. Ultimately, this insightful book will serve as an indispensable step towards understanding structure and implementation of the Linux kernel.
What you will learn from this book
- Various ways of viewing the kerne—as an enhanced machine, a resource manager, and a library
- How the kernel handles all time-related requirements, both with low and high resolution
- The mechanisms required to ensure proper operation of the kernel on multiprocessor systems
- How modules add new functionality to the kernel
- How the kernel deals with memory management, page reclaim, and swapping
- How the kernel deals with networks and implements TCP/IP
Who this book is for
This book is for system programmers, administrators, developers of Linux-based solutions, and overall Linux enthusiasts. A solid foundation of C programming is required.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.