Hands-On System Programming with Linux: Deep dive into fundamentals of core Linux system programming and interface
內容描述
Learn the theory behind,and use the powerful Linux System Programming APIs with this comprehensive guide for current and aspiring Linux systems developersKey FeaturesAcquire deep insight into Linux system architecture and it's programming interfacesGet hands-on with core concepts like process management, signalling, pthreads, scheduling, and morePacked with industry best practices and advice, with dozens of code examplesBook DescriptionThe Linux OS and it's embedded and server applications are a critical component of today's key software infrastructure in a decentralized, networked universe. The industry demand for proficient Linux developers is only rising. This book aims to give the reader two things: a solid theoretical base and practical industry-relevant descriptions and code covering the Linux system programming domain. It delves into the art and science of Linux application programming - system architecture, process memory and management, signalling, timers, pthreads, file IO, shared libraries, and more.This book attempts to go beyond the "use API X to do Y" approach; it takes pains to explain the concepts and theory required to understand the programming interfaces, the design decisions and tradeoffs made by experienced developers when using them and the rationale behind them. Troubleshooting tips and techniques round out the book's coverage.By the end of this book, you will have both the essential conceptual design knowledge and hands-on experience working with Linux system programming interfaces.What you will learnA solid grasp on the key theoretical underpinnings of the UNIX and Linux system architectureThe what and why of modern OS's using Virtual Memory, dynamic memory APIsProcess Management: concepts and APIs on process credentials, execution, creation, signallingHow to effectively perform file IO, and use timersMultithreading: concepts and APIs on pthreads creation, management, cancellation, synchronization in detailLinux's CPU scheduling policies and how to exploit them via their API setBuild and work with daemon processesHow to effectively troubleshoot.Who This Book Is ForThis book is targeted towards Linux system engineers, programmers or any stakeholders; for those who want to go beyond just using an API set to also understanding the theoretical underpinnings and concepts behind the powerful Linux system programming APIs. To get the most out of this book, the reader should be familiar with Linux at the user-level - logging in, using the shell via the command line interface, the ability to use tools like find, grep, sort, etc. A working knowledge of the 'C' programming language is required. No prior experience with Linux systems programming is assumed.