Linux Kernel and Drivers Development

Recommended readings
=Linux Device Drivers (Google eBook)= Jonathan Corbet, Alessandro Rubini, Greg Kroah-HartmanO'Reilly Media, Inc., 7 Feb 2005 - Computers - 640 pages Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices.

Over the years the book has helped countless programmers learn: The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more.Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware.
 * how to support computer peripherals under the Linux operating system
 * how to develop and write software for new hardware under Linux
 * the basics of Linux operation even if they are not expecting to write a driver

Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it. More »

Understanding the Linux Kernel
Daniel Pierre Bovet, Marco Cesatí O'Reilly Media, Inc., 2006 - Computers - 923 pages

The third edition of Understanding the Linux Kernel takes 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.

Linux kernel development
Robert LoveAddison-Wesley, 2009 - Computers - 440 pages

Details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding. The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs. The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel.

Professional Linux Kernel Architecture
Wolfgang MauererJohn Wiley and Sons, 2008 - Computers - 1368 pages

The book provides an introduction to architecture, concepts and algorithms of the Linux kernel. The chapters are conceptually divided into three parts: An overview summarizes relevant structures and functions exported by the kernel to userland, especially if they tend to be unknown to the average programmer (for instance memory mappings, how system call tracing is implemented, etc.). A short, informal treatment of theoretical and conceptual aspects helps to put the problems into context within the Linux kernel as well as within different Unix derivatives and other operating systems. A description of the data structures employed in the particular subsystem follows the introduction. Connections between different subsystems are illuminated, to assist the reader in gaining all skills necessary to understand the sources on his or her own.

The Linux kernel primer: a top-down approach for x86 and PowerPC architectures
Claudia Salzberg Rodriguez, Gordon Fischer, Steven Smolski Prentice Hall Professional Technical Reference, 2005 - Computers - 616 pages

Offers a comprehensive view of the underpinnings of the Linux kernel on the Intel x86 and the Power PC.=

Linux kernel in a nutshell
Greg Kroah-Hartman O'Reilly Media, Inc., 2007 - Computers - 182 pages

Written by a leading developer and maintainer of the Linux kernel, Linux Kernel in a Nutshellis a comprehensive overview of kernel configuration and building, a critical task for Linux users and administrators. Whether you are trying to get sound, wireless support, and power management working on a laptop or incorporating enterprise features such as logical volume management on a large server, you can benefit from the insights in this book.

The Linux Kernel book
Rémy Card, Éric Dumas, Franck MévelWiley, 1998 - 518 pages

The book you hold in your hand will hopefully help you understand the Linux operating system kernel better. it really is a strange and wonderful world, full of subtle details ranging from how to control the physical hardware to how to manage multiple different users at the same time with limited resources. Each chapter deals in detail with Process management, Memory management, IPC Systems V, Signals, Pipes, POSIX tty, File systems, Loadable modules, Administration

Linux kernel programming: algorithms and structures of version 2.4, Volume 1
Michael BeckAddison-Wesley, 2002 - Computers - 471 pages

Brand-new edition of comprehensive Linux kernel reference-40% of material revised!-- Now updated throughout to cover Linux 2.4.

-- Explains how the Linux operating system actually works and shows how to program the Linux kernel.

-- Introduces the kernel sources and describes basic algorithms and data structures, such as scheduling and task structure.

Understanding the Linux Virtual Memory Manager
Mel Gorman Prentice Hall, 2004 - 727 pages

Described as the only book available that provides a comprehensive description of the Linux Virtual Memory Manager, this title includes a tutorial that describes each VM algorithm and subcomponent, plus a separate VM Source Code commentary section. The CD-ROM is a VM "learning lab" with tools developed specifically for VM study plus all of the 2.6 kernel source code.

IA-64 Linux Kernel: design and implementation
David Mosberger, Stéphane EranianPrentice Hall PTR, 2002 - 522 pages

The IA-64 Linux kernel makes extraordinary power available to every Linux developer. InIA-64 Linux Kernel: Design and Implementation, the kernel project's leaders systematically present every major subsystem, introducing interfaces used by Linux to abstract platform differences, showing how these interfaces are used in IA-64, and illuminating key issues associated with Linux kernel operation on any platform. Covers processes, tasks, threads, virtual memory, I/O, symmetric multiprocessing, bootstrapping, and more.

{| cellpadding="0" cellspacing="0" id="viewport_table" style="clear:both"
 * id="viewport_td"|
 * id="bookinfo"|

The Linux Kernel Module Programming Guide
Peter Jay Salzman, Michael Burian, Ori PomerantzCreatespace, 2009 - 88 pages

Linux Kernel Module Programming Guide is for people who want to write kernel modules. It takes a hands-on approach starting with writing a small "hello, world" program, and quickly moves from there. Far from a boring text on programming, Linux Kernel Module Programming Guide has a lively style that entertains while it educates. An excellent guide for anyone wishing to get started on kernel module programming.More »
 * }

Linux kernel internals
Michael BeckAddison-Wesley, 1998 - Computers - 480 pages