Register · · Password forgotten? · |
Weiss Stewart / Вейс Стюарт - System Programming in Linux: A Hands-On Introduction
|
![]() |
Home » Books and magazines » Computer literature » Mac OS; Linux, FreeBSD and others *NIX |
DL-List and Torrent activity | |
Size: 42 MB | Registered: 29 days | Completed: 1 time | |
|
Author | Message | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
iPhone ® Gender: Longevity: 10 years Posts: 2238 |
System Programming in Linux: A Hands-On Introduction / Системное программирование в Linux: Практическое введение
Год издания: 2026 Автор: Weiss Stewart / Вейс Стюарт Издательство: No Starch Press, Inc. ISBN: 978-1-7185-0357-1 Язык: Английский Формат: PDF Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 1050 Описание: Learn to write real Linux software—not just run it. Most programmers never learn how Linux really works. Why? Because system programming is rarely taught, and the tools can be intimidating without the right guidance. As a result, many developers stick to high-level languages and frameworks—writing code that runs on Linux without understanding how it interacts with Linux. In today’s world, that’s not enough to stand out. Especially as more companies turn to AI to write their software, the question becomes: How do you stay relevant in an AI-driven world? You learn how things really work. If you’ve ever wondered how processes are created, how memory and files are managed, or how programs communicate in a Unix environment, System Programming in Linux will make it all make sense. This is a hands-on guide to writing software that interfaces directly with the Linux operating system. You’ll go beyond shell commands and abstractions to understand what the kernel is doing—and how to leverage it through your own code. Rather than telling you how to solve each problem, Professor Stewart N. Weiss guides you through the process of discovering the solution yourself. Start with the core concepts of Unix and Linux, then work your way up to advanced topics like process control, signals, interprocess communication, threading, and non-blocking I/O. Each chapter includes conceptual diagrams, annotated source code, and practical projects to help you immediately apply what you’ve learned. You’ll explore topics such as: The structure of Unix and Linux operating systems—and why it matters Using system calls to create and manage processes The mechanics of signals, timers, and interprocess communication Using synchronization tools to write multithreaded programs Interacting with filesystems, devices, and terminals Building text-based user interfaces using ncurses Developing programs that are robust, efficient, and portable At Hunter College, Professor Weiss built the course this book is based on, and he has helped thousands of students go from confusion to confidence in his over 40 years of teaching programming. His clear, conversational style; technical depth; and focus on real-world application make this one of the most approachable and powerful system programming books available. As Linux continues to dominate development, server, and embedded environments, understanding the system behind your software isn’t just helpful; it’s essential. Whether you’re a student, developer, or sysadmin, this book gives you the tools to work directly with Linux and the insight to understand what’s really happening under the hood. Научитесь писать настоящее программное обеспечение для Linux, а не просто запускать его. Большинство программистов никогда не узнают, как на самом деле работает Linux. Почему? Потому что системному программированию редко обучают, а инструменты могут быть пугающими без правильного руководства. В результате многие разработчики придерживаются языков высокого уровня и фреймворков - пишут код, который работает в Linux, не понимая, как он взаимодействует с Linux. В современном мире этого недостаточно, чтобы выделиться. Особенно по мере того, как все больше компаний обращаются к ИИ для написания своего программного обеспечения, возникает вопрос: как оставаться актуальным в мире, управляемом ИИ? Вы узнаете, как все работает на самом деле. Если вы когда-нибудь задумывались о том, как создаются процессы, как управляются память и файлы или как программы взаимодействуют между собой в среде Unix, системное программирование в Linux поможет вам разобраться во всем этом. Это практическое руководство по написанию программного обеспечения, которое напрямую взаимодействует с операционной системой Linux. Вы выйдете за рамки командной оболочки и абстракций, чтобы понять, что делает ядро, и как использовать это с помощью вашего собственного кода. Вместо того, чтобы рассказывать вам, как решить каждую проблему, профессор Стюарт Н. Вайсс проведет вас по процессу самостоятельного поиска решения. Начните с основных концепций Unix и Linux, затем переходите к более сложным темам, таким как управление процессами, сигналы, межпроцессное взаимодействие, многопоточность и неблокирующий ввод-вывод. Каждая глава содержит концептуальные схемы, аннотированный исходный код и практические проекты, которые помогут вам сразу же применить полученные знания. Вы познакомитесь с такими темами, как: Структура операционных систем Unix и Linux и почему это важно Использование системных вызовов для создания процессов и управления ими Механика сигналов, таймеров и межпроцессного взаимодействия Использование инструментов синхронизации для написания многопоточных программ Взаимодействие с файловыми системами, устройствами и терминалами Создание текстовых пользовательских интерфейсов с использованием ncurses Разработка надежных, эффективных и переносимых программ Профессор Вайсс из Хантер-колледжа разработал курс, на основе которого написана эта книга, и за более чем 40 лет преподавания программирования он помог тысячам студентов преодолеть замешательство и обрести уверенность. Его четкий разговорный стиль, техническая глубина и сосредоточенность на реальных приложениях делают эту книгу одной из самых доступных и мощных книг по системному программированию. Поскольку Linux продолжает доминировать в среде разработки, серверных и встраиваемых средах, понимание системы, лежащей в основе вашего программного обеспечения, не просто полезно, но и крайне важно. Независимо от того, являетесь ли вы студентом, разработчиком или системным администратором, эта книга предоставит вам инструменты для непосредственной работы с Linux и поможет понять, что на самом деле происходит под капотом. ОглавлениеAcknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix Chapter 1: Core Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 2: Fundamentals of System Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Chapter 3: Time, Dates, and Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Chapter 4: Basic Concepts of File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Chapter 5: File I/O and Login Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Chapter 6: Overview of Filesystems and Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Chapter 7: The Directory Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Chapter 8: Introduction to Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Chapter 9: Timers and Sleep Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Chapter 10: Process Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 Chapter 11: Process Creation and Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Chapter 12: Introduction to Interprocess Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 Chapter 13: Pipes and FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 Chapter 14: Client-Server Applications and Daemons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679 Chapter 15: Introduction to Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 Chapter 16: Thread Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739 Chapter 17: Alternative Methods of I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791 Chapter 18: Terminals and Terminal I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 Chapter 19: Interactive Programming and the ncurses Library . . . . . . . . . . . . . . . . . . . . . . . . . . . 877 Appendix A: Creating Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943 Appendix B: Unicode and UTF-8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 Appendix C: Date and Time Format Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969
|
|||||||||||||||||||||
![]() |
Home » Books and magazines » Computer literature » Mac OS; Linux, FreeBSD and others *NIX |
Current time is: 20-Aug 13:36
All times are UTC + 2
You cannot post new topics in this forum
You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum |