Linux API исчерпывающее руководство. М. Керриск
В этой книге представлено практически полное описание API системного программирования под управлением Linux. Ее одержимое применимо к широкому диапазону Linux-платформ, начиная с обычных серверов, универсальных компьютеров и настоль систем и заканчивая большим разнообразием встроенных устройств (в том числе работающих под управлением операционной системы Android), на которых в настоящее время запускается ОС Linux.
Англоязычное издание этой книги вышло в конце 2010 года. С того времени было вы пущено несколько обновлений ядра Linux (их было примерно по пять за год). Несмотря на это, содержимое оригинала книги, а следовательно, и данного перевода, не утратило актуальности и сохранит ее еще на долгие годы. Тому есть две причины.
Во-первых, несмотря на стремительность разработки ядра Linux, API, связанный с пользовательским пространством ядра, изменяется гораздо медленнее. Такая консервативность — естественное следствие того факта, что ядро разработано с целью обеспечить стабильную основу для приложений, выполняемых в пространстве пользователя. Скоротечность развития API пространства пользователя неприемлема для тех программ, которым следует запускаться на нескольких версиях ядра.
Во-вторых, изменения вносятся в виде дополнений к интерфейсам, рассматриваемым в книге, а не модификаций уже существующих функциональных свойств, описанных в ней же. (Хочу еще раз отметить, что это вполне естественный ход разработки ядра Linux: специалисты прилагают большие усилия к тому, чтобы ничего не нарушить в уже существующем API пользовательского пространства.) Со дня выхода оригинала книги в данный API были внесены изменения.
Kerrisk Michael. The Linux Programming Interface
The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface — the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. You’ll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams.
This book is aimed primarily at the following audience:
programmers and software designers building applications for Linux, other UNIX systems, or other POSIX-conformant systems;
programmers porting applications between Linux and other UNIX implementations or between Linux and other operating systems;
instructors and advanced students teaching or learning Linux or UNIX system programming; and
system managers and “power users” wishing to gain a greater understanding of the Linux/UNIX programming interface and of how various pieces of system software are implemented.
Read and write files efficiently
Use signals, clocks, and timers
Create processes and execute programs
Write secure programs
Write multithreaded programs using POSIX threads
Build and use shared libraries
Perform interprocess communication using pipes, message queues, shared memory, and semaphores
Write network applications with the sockets API
While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.
The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that’s destined to become a new classic.
Kerrisk Michael. The Linux Programming Interface
The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface — the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. You’ll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams.
This book is aimed primarily at the following audience:
programmers and software designers building applications for Linux, other UNIX systems, or other POSIX-conformant systems;
programmers porting applications between Linux and other UNIX implementations or between Linux and other operating systems;
instructors and advanced students teaching or learning Linux or UNIX system programming; and
system managers and “power users” wishing to gain a greater understanding of the Linux/UNIX programming interface and of how various pieces of system software are implemented.
Read and write files efficiently
Use signals, clocks, and timers
Create processes and execute programs
Write secure programs
Write multithreaded programs using POSIX threads
Build and use shared libraries
Perform interprocess communication using pipes, message queues, shared memory, and semaphores
Write network applications with the sockets API
While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.
The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that’s destined to become a new classic.
Linux API, Исчерпывающее руководство, Керриск М., 2019
К сожалению, на данный момент у нас невозможно бесплатно скачать полный вариант книги.
Но вы можете попробовать скачать полный вариант, купив у наших партнеров электронную книгу здесь, если она у них есть наличии в данный момент.
Также можно купить бумажную версию книги здесь.
Linux API, Исчерпывающее руководство, Керриск М., 2019.
Linux Programming Interface — исчерпывающее руководство по программированию приложений для Linux и UNIX. Описанный здесь интерфейс применяется практически с любыми приложениями, работающими в операционных системах Linux или UNIX.
В этой авторитетной книге эксперт по Linux Майкл Керриск подробно описывает библиотечные вызовы и библиотечные функции, которые понадобятся вам при системном программировании. Вся теория сопровождается объяснениями на примерах четких и понятных полнофункциональных программ.
Язык программирования С.
К началу 1980-х годов язык С существовал уже в течение 10 лет и был реализован во множестве разнообразных UNIX-систем, а также в других операционных системах. В некоторых реализациях отмечались незначительные различия. В частности, это произошло из-за того, что определенные аспекты требуемого функционионала языка не были подробно описаны в существующем де-факто стандарте С. Этот стандарт приводился в вышедшей в 1978 году книге Кернигана (Kernighan) и Ритчи (Ritchie) «Язык программирования Си». (Синтаксис языка С, описанный в этой книге, иногда называют традиционным С, или KERС.) Кроме того, с появлением в 1985 году языка C++ проявились конкретные улучшения и дополнения, которые могли быть привнесены в С без нарушения совместимости с существующими программами. В частности, сюда можно отнести прототипы функций, присваивание структур, спецификаторы типов (const и volatile), перечисляемые типы и ключевое слово void.
Эти факторы побудили к стандартизации С. Ее кульминацией в 1989 году стало утверждение Американским институтом национальных стандартов (ANSI) стандарта языка С (Х3. 159-1989), который в 1990 году был принят в качестве стандарта (ISO/IEC 9899:1990) Международной организацией по стандартизации (ISO). Наряду с определением синтаксиса и семантики языка С в этом стандарте давалось описание стандартной библиотеки С, включающей возможности stdio, функции обработки строк, математические функции, различные файлы заголовков и т. д. Эту версию С обычно называют С89 или (значительно реже) ISO С90, и она полностью рассмотрена во втором издании (1988 года) книги Кернигана и Ритчи «Язык программирования Си».
ОГЛАВЛЕНИЕ.
Предисловие.
Глава 1. История и стандарты.
Глава 2. Основные понятия.
Глава 3. Общее представление о системном программировании.
Глава 4. Файловый ввод-вывод: универсальная модель ввода-вывода.
Глава 5. Файловый ввод-вывод: дополнительные сведения.
Глава 6. Процессы.
Глава 7. Выделение памяти.
Глава 8. Пользователи и группы.
Глава 9. Идентификаторы процессов.
Глава 10. Время.
Глава 11. Системные ограничения и возможности.
Глава 12. Информация о системе и процессе.
Глава 13. Буферизация файлового ввода-вывода.
Глава 14. Файловые системы.
Глава 15. Атрибуты файла.
Глава 16. Расширенные атрибуты.
Глава 17. Списки контроля доступа.
Глава 18. Каталоги и ссылки.
Глава 19. Мониторинг событий файлов.
Глава 20. Сигналы: фундаментальные концепции.
Глава 21. Сигналы: обработчики сигналов.
Глава 22. Сигналы: дополнительные возможности.
Глава 23. Таймеры и переход в режим сна.
Глава 24. Создание процессов.
Глава 25. Завершение работы процесса.
Глава 26. Мониторинг дочерних процессов.
Глава 27. Выполнение программы.
Глава 28. Подробнее о создании процесса и выполнении программы.
Глава 29. Потоки выполнения: введение.
Глава 30. Потоки выполнения: синхронизация.
Глава 31. Потоки выполнения: потоковая безопасность и локальное хранилище.
Глава 32. Потоки выполнения: отмена потока.
Глава 33. Потоки выполнения: дальнейшие подробности.
Глава 34. Группы процессов, сессии и управление заданиями.
Глава 35. Приоритеты процессов и их планирование.
Глава 36. Ресурсы процессов.
Глава 37. Демоны.
Глава 38. Написание безопасных программ с повышенными привилегиями.
Глава 39. Система возможностей.
Глава 40. Учет входа в систему.
Глава 41. Основы разделяемых библиотек.
Глава 42. Продвинутые возможности разделяемых библиотек.
Глава 43. Краткий обзор межпроцессного взаимодействия.
Глава 44. Каналы и очереди FIFO.
Глава 45. Отображение в память.
Глава 46. Операции с виртуальной памятью.
Глава 47. Введение в межпроцессное взаимодействие стандарта POSIX.
Глава 48. Очереди сообщений стандарта POSIX.
Глава 49. Семафоры стандарта POSIX.
Глава 50. Разделяемая память POSIX.
Глава 51. Блокировка файлов.
Глава 52. Сокеты: введение.
Глава 53. Сокеты: домен UNIX.
Глава 54. Сокеты: основы сетей TCP/IP.
Глава 55. Сокеты: домены сети Интернет.
Глава 56. Сокеты: архитектура сервера.
Глава 57. Сокеты: углубленный материал.
Глава 58. Терминалы.
Глава 59. Альтернативные модели ввода/вывода.
Глава 60. Псевдотерминалы.
Список используемых источников.
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес» , и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.