Here is the listing of Best reference books on Linux Programming – Linux Kernel Programming, Device Driver Programming and Linux Systems Programming.
|1. “Linux Kernel Development” by Robert Love
Book Review: This book deals with the major aspects of Linux Kernel which is the design and implementation. The book covers both theoretical and the practical aspects of Linux Kernel Development thereby satisfying the different needs of the user. The topics covered in the book include Process Synchronization and Management, Memory Addressing and Management, Interfaces, Scheduling, Linux Kernel Debugging Techniques, Interrupt Handling and different properties of Linux 2.6 Kernel. The book is useful for people dealing with Kernel code development and the programmers who wish to have a deep insight of the concepts of Operating System.
|2. “Understanding the Linux Kernel” by Daniel P. Bovet, Marco Cesati Ph.D.
Book Review: The Kernel is the central part of the Operating system. It provides communication between the CPU and the outside world, performs memory management so that the system operates efficiently. Kernel is the heart of Linux OS and the above mentioned functions of Kernel are nicely illustrated in the book. The book provides information about the algorithms and data structures used in Linux Kernel Development. The book covers concepts of Memory Management, Virtual Memory, Interrupt Handling, Kernel Synchronization, Inter Process Communication and different aspects of programs. Detailed internal working of the machine and line by line tracing of many program segments is also provided in the book.
|3. “Professional Linux Kernel Architecture” by Wolfgang Mauerer
Book Review: This book covers the concepts, structure and implementation details of the Kernel. The concepts of file system and their types are discussed in detail. The book also provides information about various components and subsystems of the kernel with the help of source code. This book is very useful for people who are enthusiastic about Linux environment. Even programmers, developers and IT professionals benefit to a great extent from this book because it provides practical solutions and expert comments for various problems faced by them in their everyday life.
|4. “Linux Device Drivers” by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
Book Review: Device Drivers drive different types of devices which includes CD-ROM, disks, monitors, printers, displays out of the computer memory. The book provides advancements to Linux Kernel version 2.6 and the new features in the advancements makes the driver more efficient and flexible. The book deals with providing support to different components of a computer, writing new codes for different hardwares and contains different programs which can be compiled and run without the use of any special hardware. The book also provides information about Linux kernel Internals and its implementation there by providing information about the device driver writing.
|5. “Essential Linux Device Drivers” by Sreekrishnan Venkateswaran
Book Review: This book helps the developer to develop Linux Drivers for literally any device. The book contains information about Linux 2.6 kernel which is very useful for driver developers. The book contains drivers for audio and video, network devices, different types of buses and flash memory. The book also covers the concepts of driver development cycles, debugging, maintenance, different protocols and support for wireless technologies like Bluetooth, Wi-Fi.
|6. “Advanced Programming in the UNIX Environment” by W. Richard Stevens, Stephen A. Rago
Book Review: This book provides detailed information about different types of programming interfaces that help in the development of Unix and Linux based kernels. The book contains basic and advanced information about files, directories, processes which are of great help in understanding the concepts of signal handling and terminal I/O. The book also covers the concepts of multithreaded programming and socket based programming. The book contains numerous programs made up of different functions and procedures that demonstrates various system calls.
|7. “Unix Network Programming, Vol1: Sockets” by W. Richard Stevens, Bill Fenner, Andrew M. Rudoff
Book Review: The book contains in-depth information and understanding of sockets which will help the programmers to develop code for web servers, server/client applications and other network related software. The topics in this book include different specifications and protocol like IPv6, UNIX and POSIX specifications, different types of protocols like TCP, UDP and SCTP, networking debugging techniques, Broadcasting, Multicasting, Threads and Design. The book contains a mix of practical understanding, history and in depth analysis which will make the readers well versed with Unix Network Programming.
|8. “Unix Network Programming, Vol2: IPCs” by W. Richard
Book Review: The book contains information about different types of IPC’s which include shared memory, remote procedure calls, message passing and synchronization. The book also contains internal design of Posix and System V IPC, FIFO and locking and unlocking operations of files and records. The implementation of message queues, semaphores provided in the book will highlight special conditions which are handled in applications. These conditions include race condition, memory leaks, error handling and many others. The differences between different types of IPC given in the book will guide the programmers to make a decision on which version is to be used for their applications.
|9. “The Linux Programming Interface” by Michael Kerrisk
Book Review: This book provides in depth information about different system calls and library functions which is very useful for Linux System Programming. The book contains information on efficient file reading and writing, process creation and program execution, Multithreaded programming, shared libraries and many network applications. This book helps the programmers to work on platforms other than Unix.
|10. “Systems Programming” by Srimanta Pal|
Sanfoundry Global Education & Learning Series – Best Reference Books!