Mastering System Programming with C: Files, Processes, and IPC
Эта книга представляет собой углублённое руководство по системному программированию на языке C, сфокусированное на трёх ключевых областях: работа с файлами, управление процессами и механизмы межпроцессного взаимодействия (IPC). Она предназначена для опытных программистов, стремящихся освоить низкоуровневое взаимодействие с операционной системой и аппаратным обеспечением.
Книга начинается с введения в системное программирование, особенностей языка C для этих задач, стандартов POSIX и основ системных вызовов. Далее подробно рассматриваются операции с файлами: от базовых операций чтения/записи до управления разрешениями, каталогами, метаданными и продвинутых техник, таких как отображение файлов в память и асинхронный ввод-вывод.
Значительная часть посвящена созданию и управлению процессами с помощью вызовов fork и exec, их иерархиям, синхронизации и завершению. Отдельные главы детально разбирают различные механизмы IPC: каналы (pipes), именованные каналы (FIFO), очереди сообщений, разделяемую память, семафоры и сокеты. Также затрагиваются управление памятью, техники синхронизации (мьютексы, условные переменные), обработка сигналов, основы сетевого программирования и инструменты отладки (gdb, Valgrind).
Издание структурировано как практическое руководство, позволяющее читателю не только понять теоретические основы, но и научиться писать эффективные, надёжные и производительные системные программы, взаимодействующие напрямую с ядром ОС.









