Cover of Understanding the Linux Kernel

Understanding the Linux Kernel

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.

The third edition of Understanding the Linux Kerneltakes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.

Read more

This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:

Memory management, including file buffering, process swapping, and Direct memory Access (DMA)

The Virtual Filesystem layer and the Second and Third Extended Filesystems

Process creation and scheduling

Signals, interrupts, and the essential interfaces to device drivers

Timing

Synchronization within the kernel

Interprocess Communication (IPC)

Program execution

Understanding the Linux Kernelwill acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.

Subject
science
Themes
technology
Audience
adult
Length
epic · 923 pages

Click a tag to see books like this one that share it.

Read it? Sign in to help tag it.

Liked Understanding the Linux Kernel? Here’s where I’d start.

These suit anyone who liked Understanding the Linux Kernel. Sign in and mark a few books for picks shaped around your own taste.

  1. Linux Kernel Development Shares linux, programming, computer science
  2. Linux Device Drivers Shares linux, programming, computer science
  3. The Linux Programming Interface: A Linux and UNIX System Programming Handbook Shares linux, programming, computer science
  4. Linux in a Nutshell Shares linux, programming, technical

“People who read Understanding the Linux Kernel tend to reach for these next.”

  1. sed & awk
  2. The Design of the UNIX Operating System
  3. Advanced Programming in the UNIX Environment
  4. Learning the vi and Vim Editors

“If you want more of the same (science about technology), start with these.”

  1. Scala for the Impatient
  2. Node.Js the Right Way: Practical, Server-Side JavaScript That Scales
  3. Linux Command Line and Shell Scripting Bible
  4. Java 8 in Action

“If it was the linux that hooked you, try one of these.”

  1. The Linux Command Line
  2. How Linux Works: What Every Superuser Should Know
  3. Linux System Programming: Talking Directly to the Kernel and C Library
  4. Beginning Linux Programming

“These start from a similar idea, even if they go somewhere else with it.”

  1. Systems Performance: Enterprise and the Cloud
  2. The Design and Implementation of the FreeBSD Operating System
  3. Windows® Internals
  4. Operating Systems: Three Easy Pieces