- Linux System Programming
- Linux Commands & Shell Programming
- Linux Kernel, Device Drivers & Systems Programming
- Embedded C and Linux
1. Linux System Programming
|1."Linux System Programming" by Love Robert|
“Linux System Programming” Book Review: This book is a comprehensive guide to the essentials of system programming for Linux. Topics covered include the Linux file system, input/output, system calls, signals, processes, threads, and memory management. The book also covers debugging techniques and inter-process communication. The text is organized in a logical and accessible manner, with clear explanations and numerous examples. The book is suitable for both beginners and experienced programmers.
|2."The Linux Programming Interface – A Linux and UNIX System Programming Handbook" by Michael Kerrisk|
“The Linux Programming Interface – A Linux and UNIX System Programming Handbook” Book Review: This book is a comprehensive guide to Linux system programming, covering both Linux-specific features and UNIX standards. It delves into the details of system calls and library functions, offering valuable insights for Linux system programmers. The book includes detailed discussions on various topics such as efficient file I/O, process creation and execution, multithreaded programming, shared libraries, and network applications. It is also a useful resource for programmers working on platforms other than Unix.
|3."Beginning Linux Programming" by Neil Matthew and Richard Stones|
“Beginning Linux Programming” Book Review: This book is an introductory guide to Linux programming. It covers topics like the command-line interface, file handling, process management, memory management, signal handling, threads, and inter-process communication. The book also includes an introduction to GUI programming using GTK+ toolkit. It is ideal for beginners who have basic programming knowledge and want to learn Linux programming. The book also includes practical examples and exercises to help readers apply their knowledge.
|4."Linux Command Line and Shell Scripting Bible" by Richard Blum and Christine Bresnahan|
“Linux Command Line and Shell Scripting Bible” Book Review: This is a comprehensive guide to mastering the Linux command line and shell scripting. It covers the basics of Linux commands and command-line syntax, advanced shell scripting, regular expressions, and more. The book also includes chapters on basic and advanced shell programming, file manipulation, and system administration tasks. Additionally, it covers essential Linux utilities and tools, and includes numerous practical examples to help readers develop their skills.
|5."LINUX: 2nd Edition! Beginner's Crash Course - Linux for Beginners Guide to: Linux Command Line, Linux System" by Quick Start Guides|
|6."Easy Linux Device Driver, Second Edition: First Step Towards Device Driver Programming" by Mahesh S Jadhav|
“Easy Linux Device Driver, Second Edition: First Step Towards Device Driver Programming” Book Review: This book is a beginner-friendly guide for learning device driver programming. The book covers essential concepts such as kernel modules, file operations, character drivers, and device files. The second edition includes new content on platform drivers, kernel debugging, and interrupt handling. Each chapter includes exercises and examples for hands-on learning. The book also includes a CD with source code and tools for building and debugging drivers.
|7."Assembly Language Step by Step: Programming with Linux" by Jeff Duntemann|
“Assembly Language Step by Step: Programming with Linux” Book Review: This book is a comprehensive guide to learning assembly language programming using Linux as the development environment. The book covers topics such as the x86 architecture, the GNU/Linux operating system, data movement, arithmetic operations, string manipulation, and flow control. It also includes chapters on macros and the assembly process. The book features clear explanations and step-by-step examples, making it a great resource for beginners and experienced programmers alike.
|8."Linux for Beginners and Command Line Kung Fu (Bundle): An Introduction to the Linux Operating System and Command Line" by Jason Cannon|
“Linux for Beginners and Command Line Kung Fu (Bundle): An Introduction to the Linux Operating System and Command Line” Book Review: This book is designed for undergraduate students seeking to learn Linux Operating System. It emphasizes fundamental concepts, such as commands, file and directory handling, programs, and documentation. It elucidates the use of SSH and SSH keys, Linux permissions, editors, Linux servers, and distribution. The book includes details on customizing the shell prompt, scheduling jobs using cron, and configurations. Each topic has numerous examples and program implementations.
|9."GNU/Linux Rapid Embedded Programming" by Rodolfo Giometti|
“GNU/Linux Rapid Embedded Programming” Book Review: This book is a comprehensive guide to embedded systems programming with a focus on the GNU/Linux operating system. The book covers topics such as cross-compiling and debugging, working with embedded hardware, system boot process, device drivers, and real-time programming. It also explores programming languages and tools for embedded systems, including C, Python, and Bash scripting. With detailed examples and practical exercises, this book is an excellent resource for embedded systems developers and students.
|10."Mastering Linux Network Administration" by Jay LaCroix|
“Mastering Linux Network Administration” Book Review: This book covers both CentOS and Debian systems, highlighting the differences in networking concepts between them. It teaches how to install and configure Debian and CentOS systems, set up and configure file servers, understand how Linux networks function, and manage them effectively using essential tips and tricks. The book contains all the necessary details to manage a real Linux-based network, with practical activities and instructions based on real-world scenarios. It provides a comprehensive guide to the core concepts required for managing actual Linux-based networks.
|11."Linux Storage Networking: Konzeption und Implementierung moderner Speichersystem-Technologien" by Christoph Biardzki|
|12."GNU/Linux Rapid Embedded Programming" by Rodolfo Giometti|
“GNU/Linux Rapid Embedded Programming” Book Review: The target audience of this book is Embedded System developers and GNU/Linux programmers. The book aims to guide readers in fast and efficient prototype development. It is presumed that the readers already possess knowledge on hardware, Embedded Systems, and GNU/Linux scripting.
2. Linux Commands & Shell Programming
|1."Linux: The Complete Reference" by Richard Petersen|
“Linux: The Complete Reference” Book Review: This comprehensive book is ideal for those studying computer science and anyone with an interest in learning about Linux OS and commands. It delves into all of Linux’s features, tools, and utilities, providing detailed explanations of installation, configuration, and administration chapters. The book also covers Ubuntu and Red Hat/Fedora software installations, as well as deploying FTP, web, mail, proxy, print, news, and database servers. It’s an all-encompassing resource for Linux users at any level.
|2."A Practical Guide to Linux Commands, Editors, and Shell Programming" by Mark G Sobell|
“A Practical Guide to Linux Commands, Editors, and Shell Programming” Book Review: This book provides a comprehensive guide to Linux operating system and commands for computer science students and anyone interested in learning about it. The book covers a range of topics, including filesystems, shells, editors, utilities, programming tools, regular expressions, and an introduction to the MySQL relational database management system. Real-world examples are provided for better understanding, and the book also includes an expert introduction to Python programming language.
|3."Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix" by Arnold Robbins|
|4."Linux in a nutshell" by Ellen Siever|
“Linux in a nutshell” Book Review: This book is a valuable resource for computer science students and individuals interested in learning about the Linux operating system. It includes a vast array of essential shell commands, each accompanied by detailed explanations. The book also features chapters dedicated to the bash shell command-line interpreter, regular expressions, and subversion. In addition, readers can learn about managing servers through virtualization with Xen and VMware, making this a comprehensive guide to Linux for both beginners and experienced users.
|5."Introduction to Linux – A Hands on Guide" by Machtelt Garrels|
|6."Shell Programming: Bash Scripting from First Steps to Confident User" by Sean Johnson|
“Shell Programming: Bash Scripting from First Steps to Confident User” Book Review: The target audience of this book is computer science students and individuals interested in learning about Linux OS and Bash scripting. The fundamentals of Bash scripting are thoroughly explained, along with repetitive tasks, decision-making, and shell functions. Additionally, this book covers network communication, shell substitution, and quoting mechanisms. Common programming errors are also discussed, providing insights on how to avoid them.
|7."Shell Programming and Bash Scripting: Ultimate Beginners Guide Book" by Robert Collins|
“Shell Programming and Bash Scripting: Ultimate Beginners Guide Book” Book Review: This comprehensive book is designed for computer science students and those interested in learning about Linux OS, shell programming, and bash scripting. It contains valuable information on automating various tasks in UNIX through the use of shell scripts. Chapters covering the creation of shell scripts, management of file systems and software packages, and keyboard inputs are also included. Additionally, the book delves into essential topics such as structured command, text manipulation, and regular expressions, providing readers with a comprehensive understanding of shell programming and bash scripting.
|8."The Linux Command Line: A Complete Introduction" by William E Shotts Jr|
|9."Linux Command Line: FAST and EASY!: Linux Commands, Bash Scripting Tricks" by Matthew Gimson|
“Linux Command Line: FAST and EASY!: Linux Commands, Bash Scripting Tricks” Book Review: This book is targeted towards computer science students and individuals with an interest in learning Linux commands and Bash scripting. It provides a comprehensive understanding of Linux commands, Bash scripting tricks, and Bash one-liners. The book covers both basic and advanced Linux commands, including grep for searching in Linux, tail, brace expansion, command substitution, command history, and loops. The chapters also include examples to enhance the readers’ understanding of each topic.
|10."Kali Linux Revealed: Mastering the Penetration Testing Distribution" by Raphaël Hertzog|
“Kali Linux Revealed: Mastering the Penetration Testing Distribution” Book Review: The book is focussed on the Kali Linux platform, its basics, features, configuration, and troubleshooting. It covers Debian package managers, creating custom packages, kernel compilation, custom ISO creation, and industrial-strength encryption. The book provides numerous real-life applications and solved examples, making it useful for both beginners and professionals in the field.
3. Linux Kernel, Device Drivers & Systems Programming
|1."Linux Kernel Development" by Robert Love|
Book Review: This book offers a comprehensive guide to Linux Kernel design and implementation, covering both theoretical and practical aspects to meet the diverse needs of its readers. It covers topics such as process synchronization and management, memory addressing and management, scheduling, system call interfaces, Linux Kernel debugging techniques, interrupt handling, and different properties of Linux 2.6 Kernel. It caters to those dealing with Kernel code development and programmers seeking a deeper understanding of operating system concepts, including design, implementation, and interfacing of the Linux Kernel.
|2."Understanding the Linux Kernel" by Daniel P. Bovet, Marco Cesati Ph.D.|
Book Review: The book focuses on the crucial role of the Kernel in an Operating system, serving as the bridge between the CPU and external devices and managing memory. The book provides an in-depth understanding of the algorithms and data structures used in Linux Kernel Development. Topics covered include Memory Management, Virtual Memory, Interrupt Handling, Kernel Synchronization, Inter Process Communication and other key areas. The book offers a detailed insight into the internal workings of the machine and line-by-line tracing of many program segments to help readers gain a comprehensive understanding of the Kernel.
|3."Professional Linux Kernel Architecture" by Wolfgang Mauerer|
Book Review: This book covers the concepts, structure, and implementation details of the Kernel, including file system types and various components and subsystems of the kernel with the help of source code. It is an excellent resource for those interested in the Linux environment, as well as for programmers, developers, and IT professionals seeking practical solutions and expert comments for various problems they face in their everyday work.
|4."Linux Device Drivers" by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman|
Book Review: The book focuses on device drivers that enable various computer components like CD-ROMs, disks, printers, and displays to function from computer memory. It provides updates on Linux Kernel version 2.6 and its latest features which improve driver efficiency and flexibility. The book covers supporting different computer components, writing new codes for various hardware, and includes programs that can be compiled and run without special hardware. The book also explains Linux kernel internals and how to implement device driver writing.
|5."Essential Linux Device Drivers" by Sreekrishnan Venkateswaran|
Book Review: This book is a useful resource for developers seeking to develop Linux Drivers for any device. It contains information about Linux 2.6 kernel, including drivers for audio and video, network devices, different types of buses, and flash memory. It covers the driver development cycles, debugging, maintenance, different protocols, and support for wireless technologies like Bluetooth and Wi-Fi.
4. Embedded C and Linux
|1."Linux: Linux Command Line, Cover all essential Linux commands. A complete introduction to Linux Operating System, Linux Kernel, For Beginners, Learn Linux in easy steps, Fast!: A Beginners Guide!" by Ray Yao and Ruby C Perl|
“Linux: Linux Command Line, Cover all essential Linux commands. A complete introduction to Linux Operating System, Linux Kernel, For Beginners, Learn Linux in easy steps, Fast!: A Beginners Guide!” Book Review: This book covers essential Linux commands and operations and is designed for B.Tech/M.Tech and PhD students in hardware programming or using Linux, as well as professionals who need a reference on commands. Teachers and guides can also use this book to help students with Linux. It includes basic commands like opening folders and advanced commands like installation, along with concepts such as SSH commands, server management, permissions, and network communication. Examples are provided for each topic covered in the book, and it also explains dual booting and installing other kernels. Additionally, it includes references to Linux creators for further usage.
|2."More to C - Advanced Programming with C in Linux and on Raspberry Pi" by Andrew Johnson|
“More to C – Advanced Programming with C in Linux and on Raspberry Pi” Book Review: This book is aimed at B.Tech/M.Tech and PhD students in hardware programming or using Linux for architecture development, as well as professionals who need a reference on basic low-level programming in Linux and Raspberry Pi. It also covers code IPC, device drivers in kernels, and networking commands in C for TCP/UDP communication. The book explains structures and unions, binary file I/O, dynamic memory allocation, linked lists, and access to bits and bytes. The book concludes with elementary aspects of system programming and important aspects like logic operations, modules, and makefiles.
|3."Languages, Compilers, and Tools for Embedded Systems: ACM SIGPLAN Workshop LCTES '98, Montreal, Canada, June 19-20, 1998, Proceedings (Lecture Notes in Computer Science)" by Frank Mueller and Azer Bestavros|
“Languages, Compilers and Tools for Embedded Systems: ACM SIGPLAN Workshop LCTES ’98, Montreal, Canada, June 19-20, 1998, Proceedings (Lecture Notes in Computer Science)” Book Review: The book is useful for M.Tech, researchers, or PhD students interested in studying reliable software technologies, as well as faculty for research purposes. The book focuses on the software technologies that are reliable, specifically in Canada’s embedded systems. It covers lexical analysis, syntax analysis, and designing compilers using LR(1), LALR, SLR, and LL(1) methods, along with context-free grammar, DFA, and other automata. The book also covers church-turing thesis, rice’s theorem, cook’s theorem, and computational complexity, along with examples, MCQs, and a quick overview at the end of each chapter for testing understanding.
|4."Linux Command Line" by Ray Yao and Ruby C Perl|
“Linux Command Line” Book Review: This book covers essential Linux commands and operations, including helping commands, shortcut keys, symbols, and run levels, and is useful for students interested in learning Linux commands as well as Linux administrators. It also includes moving, copying, comparing, manipulating, and deleting files and directories, transferring files, sending network messages, SSH commands, server management, permissions, controlling access, and network communication. The book provides detailed explanations and examples for each topic covered.
|5."Building Embedded Linux Systems" by Karim Yaghmour|
“Building Embedded Linux Systems” Book Review: This book is designed for B.Tech/M.Tech and PhD students in hardware programming or using Linux, as well as professionals who need a reference on building embedded Linux systems. It covers the configuration and setup of embedded Linux systems, licensing issues, and real-time options for Linux, along with efficient embedded development frameworks and GNU. The book also covers setting up, manipulating, and using solid-state storage devices, debugging embedded systems using various tools and techniques, and the usage of uClibc, BusyBox, U-Boot, and gdb packages.
|6."Mastering Embedded Linux Programming" by Chris Simmonds|
“Mastering Embedded Linux Programming” Book Review: This book is designed for MCA/B.Tech/M.Tech and PhD students in hardware programming or using Linux, as well as professionals who need a reference on the Linux kernel and its appropriate role for device applications. The book explains the functions split between processes, the usage of POSIX threads, Buildroot and Yocto, and bootloaders using U-Boot. It also covers applications interacting with Linux device drivers, designing and writing multi-threaded applications using POSIX threads, measuring real-time latencies, and tuning the Linux kernel to minimize them.