Читаем Linux API. Исчерпывающее руководство полностью

6. Межпроцессное взаимодействие (IPC). Обзор IPC (глава 43); каналы и очереди FIFO (глава 44); отображение в память (глава 45); операции с виртуальной памятью (глава 46); IPC в стандарте POSIX: очереди сообщений, семафоры и совместно используемая память (главы 47–50); блокировка файлов (глава 51).

7. Сокеты и сетевое программирование. IPC и сетевое программирование с помощью сокетов (главы 52–57).

8. Углубленное рассмотрение вопросов ввода-вывода. Терминалы (глава 58); альтернативные модели ввода-вывода (глава 59); псевдотерминалы (глава 60).

Примеры программ

Как использовать большинство интерфейсов, описанных в этой книге, я поясняю с помощью коротких готовых программ. Многие из них позволят вам с легкостью поэкспериментировать с командной строкой, чтобы увидеть, как работают различные системные вызовы и библиотечные функции. Таким образом, книга содержит довольно много программного кода с примерами — около 15 000 строк на языке C — а также фрагменты сессий работы в оболочке.

Для начала неплохо разобрать примеры программ и поэкспериментировать с ними, но усвоить понятия, изложенные в этой книге, эффективнее всего можно, написав код. Либо изменяя предложенные примеры для реализации ваших идей, либо создавая новые программы.

Весь исходный код доступен для загрузки с сайта англоязычного издания этой книги: http://www.man7.org/tlpi.

В архив включены также дополнительные программы, которых нет в издании. Назначение и подробности работы этих программ описаны в комментариях к программному коду. Для сборки программ приложены файлы makefiles, а в сопроводительных файлах README приводятся дополнительные подробности о программах.

Предоставляемый исходный код является свободно распространяемым, и его можно изменять при условии соблюдения лицензии GNU Affero General Public License (Affero GPL) version 3 («Общедоступная лицензия GNU Affero, 3-я версия»), текст которой присутствует в архиве с исходным кодом.

На указанном сайте вы также найдете дополнительную информацию об этой книге.

Упражнения

Большинство глав завершаются набором упражнений. В одних из них мы предлагаем вам поэкспериментировать с приведенными примерами программ. Другие упражнения — это вопросы по темам, рассматриваемым в главе. Среди них также есть указания по написанию программ, которые могли бы помочь вам в усвоении материала.

Стандарты и портируемость

В этой книге особое внимание я уделил вопросам портируемости. Вы обнаружите немало ссылок на соответствующие стандарты, в особенности на объединенный стандарт POSIX.1-2001 и Single UNIX Specification version 3 (SUSv3). Кроме того, я привожу подробные сведения об изменениях в недавней версии — объединенном стандарте POSIX.1-2008 и SUSv4. (Поскольку стандарт SUSv3 гораздо обширнее и является стандартом UNIX с наибольшим влиянием (на момент написания книги), в этом руководстве при рассмотрении стандартов я, как правило, опираюсь на SUSv3, добавляя примечания об отличиях в SUSv4. Тем не менее можно рассчитывать на то, что, за исключением указанных случаев, утверждения о спецификациях в стандарте SUSv3 действуют и в SUSv4.)

Рассказывая о функциях, которые не стандартизированы, я привожу перечень отличий для других реализаций UNIX. Я также особо отмечаю те главные функции Linux, которые характерны именно для этой ОС, а заодно выделяю небольшие различия в реализации системных вызовов и библиотечных функций Linux и других UNIX-систем. В тех случаях, когда о какой-либо функции не говорится как о специфичной для Linux, можете считать, что она является стандартной и присутствует в большинстве или во всех реализациях UNIX.

Я протестировал работу большинства программ, приведенных в этой книге (за исключением тех, что используют функции, отмеченные как специфичные для Linux), в некоторых или во всех этих системах: Solaris, FreeBSD, Mac OS X, Tru64 UNIX и HP-UX. Для улучшения портируемости программ в некоторые из этих систем на сайте http://www.man7.org/tlpi приводятся альтернативные версии большинства примеров с дополнительным кодом, которого нет в этой книге.

Ядро Linux и версии библиотеки C

Основной акцент этой книги сделан на версии Linux 2.6.x, ядро которой было наиболее популярно на момент написания книги. Подробности версии 2.4 также описаны, причем отмечено, чем различаются функции в версиях Linux 2.4 и 2.6. В тех случаях, когда новые функции введены в серии релизов Linux 2.6.x, указана точная версия ядра, в которой они появились (например, 2.6.34).

Что касается библиотеки C, основное внимание уделено GNU-библиотеке C (glibc) 2-й версии. Там, где это важно, приведены различия между версиями glibc 2.x.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных