
Linux System Development: Programming with the Kernel and C APIs (eBook, ePUB)
PAYBACK Punkte
0 °P sammeln!
Master the Linux Kernel Interface and Build Professional System Software from ScratchMost programming books teach you how to use frameworks and libraries. This book teaches you how to build them.Linux System Development takes you beneath the abstractions to the powerful C-based system call interface that controls the operating system itself. You will learn to create processes, manage memory, handle concurrency, and build networked applications using the same APIs that power web servers, databases, compilers, and the core utilities of every Linux system.What You Will LearnThis comprehensive gui...
Master the Linux Kernel Interface and Build Professional System Software from Scratch
Most programming books teach you how to use frameworks and libraries. This book teaches you how to build them.
Linux System Development takes you beneath the abstractions to the powerful C-based system call interface that controls the operating system itself. You will learn to create processes, manage memory, handle concurrency, and build networked applications using the same APIs that power web servers, databases, compilers, and the core utilities of every Linux system.
What You Will Learn
This comprehensive guide walks you through five essential domains of system programming, from fundamental concepts to production-grade techniques.
You will master file I/O and the file descriptor model, understanding how everything from disk files to network sockets follows the same elegant interface. You will learn process management through the fork-exec-wait model, enabling you to create complex multi-process applications like shells and servers. You will explore interprocess communication using pipes, shared memory, message queues, and POSIX threads for concurrent programming.
Advanced chapters cover socket programming for building TCP and UDP servers, event-driven I/O with select, poll, and epoll for handling thousands of simultaneous connections, and memory management including virtual address spaces, the heap, and memory-mapped files.
Professional Development Skills
Beyond core APIs, you will build a complete debugging toolkit using GDB, strace, valgrind, and performance profiling tools. Security chapters cover privilege management, buffer overflow prevention, and defensive programming practices. Every concept is reinforced with practical, working code examples and hands-on exercises.
Who This Book Is For
This book is written for intermediate C programmers who want to transition from application development to systems programming. Whether you are a computer science student connecting theory to practice, a Python or Java developer seeking to understand what happens beneath high-level abstractions, or an engineer building performance-critical software, this guide provides the knowledge foundation you need.
The book assumes comfort with C pointers, basic command-line usage, and fundamental programming concepts. No prior knowledge of operating systems, networking, or Linux internals is required.
Build Real Systems
By the end of this journey, you will have built a functioning shell, a multi-threaded web server, and mastered the 20+ essential system calls that form the foundation of all software on Linux and UNIX-like systems including macOS and the BSDs.
Most programming books teach you how to use frameworks and libraries. This book teaches you how to build them.
Linux System Development takes you beneath the abstractions to the powerful C-based system call interface that controls the operating system itself. You will learn to create processes, manage memory, handle concurrency, and build networked applications using the same APIs that power web servers, databases, compilers, and the core utilities of every Linux system.
What You Will Learn
This comprehensive guide walks you through five essential domains of system programming, from fundamental concepts to production-grade techniques.
You will master file I/O and the file descriptor model, understanding how everything from disk files to network sockets follows the same elegant interface. You will learn process management through the fork-exec-wait model, enabling you to create complex multi-process applications like shells and servers. You will explore interprocess communication using pipes, shared memory, message queues, and POSIX threads for concurrent programming.
Advanced chapters cover socket programming for building TCP and UDP servers, event-driven I/O with select, poll, and epoll for handling thousands of simultaneous connections, and memory management including virtual address spaces, the heap, and memory-mapped files.
Professional Development Skills
Beyond core APIs, you will build a complete debugging toolkit using GDB, strace, valgrind, and performance profiling tools. Security chapters cover privilege management, buffer overflow prevention, and defensive programming practices. Every concept is reinforced with practical, working code examples and hands-on exercises.
Who This Book Is For
This book is written for intermediate C programmers who want to transition from application development to systems programming. Whether you are a computer science student connecting theory to practice, a Python or Java developer seeking to understand what happens beneath high-level abstractions, or an engineer building performance-critical software, this guide provides the knowledge foundation you need.
The book assumes comfort with C pointers, basic command-line usage, and fundamental programming concepts. No prior knowledge of operating systems, networking, or Linux internals is required.
Build Real Systems
By the end of this journey, you will have built a functioning shell, a multi-threaded web server, and mastered the 20+ essential system calls that form the foundation of all software on Linux and UNIX-like systems including macOS and the BSDs.
Dieser Download kann aus rechtlichen Gründen nur mit Rechnungsadresse in A, B, CY, CZ, D, DK, EW, E, FIN, F, GR, H, IRL, I, LT, L, LR, M, NL, PL, P, R, S, SLO, SK ausgeliefert werden.