The Linux Kernel Primer

The Linux Kernel Primer : A Top-Down Approach for x86 and PowerPC Architectures

2.87 (8 ratings by Goodreads)
By (author)  , By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 3 business days
When will my order arrive?


Top Reasons people will buy this book:

-Covers Linux on PPC

-Top-down approach traces functionality from user space into the kernel

-Lots of code commentary and examples. It walks you through the actual

source code implementation.

-Side by side comparison of x86 and PPC

-Hands on Examples and Projects

-Covers the kernel build system.

The "Linux Kernel Primer" offers a comprehensive view of the underpinnings

of the Linux kernel. This book starts with a guide of the necessary tools a

developer needs to be able to understand and manipulate the source code

including cryptic programming fundamentals found throughout the kernel

code. It then follows up with an in depth analysis of the major subsystems

including process management, memory management, scheduling, I/O, and

filesystems. This book also provides information necessary to get started

developing on the Linux kernel. The specifics of Intel and PowerPC

architecture implementations are covered side by side providing perspective on

architecture specific features and how Linux make use of them.

Similar in approach to Kernighan's "Practice of Programming" 020161586X
show more

Product details

  • Paperback | 648 pages
  • 177.8 x 228.6 x 22.9mm | 907.2g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • Annotated
  • 0131181637
  • 9780131181632

Back cover copy

Learn Linux kernel programming, hands-on a uniquely effective top-down approach

The Linux(R) Kernel Primer is the definitive guide to Linux kernel programming. The authors' unique top-down approach makes kernel programming easier to understand by systematically tracing functionality from user space into the kernel and carefully associating kernel internals with user-level programming fundamentals. Their approach helps you build on what you already know about Linux, gaining a deep understanding of how the kernel works and how its elements fit together.

One step at a time, the authors introduce all the tools and assembly language programming techniques required to understand kernel code and control its behavior. They compare x86 and PowerPC implementations side-by-side, illuminating cryptic functionality through carefully-annotated source code examples and realistic projects. The Linux(R) Kernel Primer is the first book to offer in-depth coverage of the rapidly growing PowerPC Linux development platform, and the only book to thoroughly discuss kernel configuration with the Linux build system. Coverage includes

Data structures

x86 and PPC assembly language

Viewing kernel internals

Linux process model

User and kernel space

Interrupts and exceptions

Memory allocation and tracking

Tracing subsystem behavior

I/O interactions

Filesystems and file operations

Scheduling and synchronization

Kernel boot process

Kernel build system

Configuration options

Device drivers

And more...

If you know C, this book teaches you all the skills and techniques you need to succeed with Linux kernel programming. Whether you're a systems programmer, software engineer, systems analyst, test professional, open source project contributor, or simply a Linux enthusiast, you'll find it indispensable.

(c) Copyright Pearson Education. All rights reserved.
show more

Table of contents


About the Authors.



1. Overview.

2. Exploration Toolkit.

3. Processes: The Principal Model of Execution.

4. Memory Management.

5. Input/Output.

6. Filesystems.

7. Scheduling and Kernel Synchronization.

8. Booting the Kernel.

9. Building the Linux Kernel.

10. Adding Your Code to the Kernel.


show more

Review quote


Full Text:

I've been less than happy with other kernel books I've read. Admittedly,it's a difficult subject: there's a lot to cover, and you really need quite a bit of programming and general Unix knowledge before you could even consider jumping into this area. But I have the background,have even written simple Unix drivers, and yet every other kernel programming book has disappointed me.

It's all so overwhelming: there are conventions and quirks that have developed over time and surely are second nature to the people who have been doing Linux kernels for years, but these things are baffling to the newcomer.

This book tries to get you past that. The authors specifically say that they have tried to cover the things that confused them when they first started looking at the kernel. I'm sure their efforts aren't perfect, but the effort does definitely show.

The authors present several programming projects to help explore the kernel concepts, and every chapter has review questions to help firm up your understanding. The approach is from user space when possible: the assumption is that you are comfortable with application programming and that is used as the base to lead you down into the work done by the kernel for your programs. There's plenty of annotated source code here, both for x86 and PowerPC architectures. The inclusion of PowerPC information was an unexpected bonus; other books I've read have usually ignored that entirely or glossed it over quickly.

Of course you need a background in C, and while this does try to cover general kernel subjects, it wouldn't hurt to have at least some prior reading there. A little familiarity with hardware and light assembly language will help also, although the authors do give some coverage there.

I'm looking forward to spending more time exploring this book.
show more

About Steven Smolski

Claudia Salzberg Rodriguez has been a Linux systems programmer for over 5 years and has worked with Linux on a wide variety of platforms ranging from embedded to High Performance systems on both Intel and PPC. She received a Bachelor of Science from Brown University in 1997 and a Master of Science in Computer Science from the University of Pennsylvania in 1999. She currently works in IBM's Linux Technology Center developing the kernel and associated programming tools.

Gordon Fischer has been using Linux and other Unices since 1996. He has written device drivers for RF tuners, modulators and other low-level devices. He has used both the 2.2 and 2.4 Linux kernels in enterprise settings ranging from servers to embedded devices across both i386 and PPC chipsets. He believes all code should be written in either C or LISP.

Steve Smolski has been in the semiconductor business for 26 years and has always been interested in the line between hardware and software. He has worked in manufacturing, test, and development of memory, processors, and ASICS. He has written applications and device drivers for Windows, AIX, Linux, and several embedded operating systems. His favorite jobs have been in robotics and multimedia.

(c) Copyright Pearson Education. All rights reserved.
show more

Rating details

8 ratings
2.87 out of 5 stars
5 0% (0)
4 12% (1)
3 62% (5)
2 25% (2)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X