Разработка приложений в среде Linux. Второе издание [Майкл К Джонсон] (fb2) читать постранично, страница - 3


 [Настройки текста]  [Cбросить фильтры]

рекомендуется новый механизм распределения псевдотерминалов (Pseudo TTY). Также внимание уделяется системным базам данных utmp и wtmp.

• В главе 17 рассматривается как IPv6, так и IPv4, включая новые интерфейсы системных библиотек для написания программ, которые могут равнозначно использовать IPv6 и IPv4. Также рассматриваются более ранние интерфейсы, которым уделялось внимание в первом издании, чтобы дать возможность поддерживать код, использующий эти интерфейсы, и переносить его в более новые интерфейсы. Кроме того, обсуждается более широкий набор функций, чем нужен для многих сетевых серверов, например, неблокирующая accept().

• Глава 22 — это новая глава, в которой рассматриваются основные требования к написанию защищенных программ и объясняется, почему вопросы безопасности относятся ко всем программам, а не только к системным демонам и утилитам.

• Глава 23 содержит более полное обсуждение использования регулярных выражений, включая простую версию утилиты grep в качестве примера.

• В главе 26 рассматриваются новейшие улучшения библиотеки popt и усовершенствованный код примера.

• К главе 28 добавлена реализация Linux-PAM.

• В главе 25 документируется библиотека qdbm, а не Berkeley db, поскольку лицензия qdbm является менее ограничивающей.

• Почти каждая глава содержит важные обновления.

Описанные ниже материалы из книги были изъяты.

• Поиск информации о Linux в списках рассылки, группах новостей и на Web-сайтах; эта информация меняется слишком быстро, чтобы стать частью книги, которая будет полезна в течение многих лет.

• Информация об управлении портами ввода-вывода; это обычно использовать не рекомендуется, поскольку оно конфликтует со структурой управления устройствами и режимом электропитания Linux.

• Точные копии общедоступной лицензии GNU и библиотеки GNU. Несмотря на свою важность, перепечатка этих лицензий не улучшает знание их содержания. Также со времени публикации первого издания увеличилась важность ряда других лицензий.

• Инструмент отладки памяти Checker больше не поддерживается, поэтому во втором издании не рассматривается.

Благодарности
Мы благодарим наших технических рецензентов за потраченное время и тщательность. Их предложения помогли улучшить эту книгу. Особую благодарность выражаем Линусу Торвальдсу (Linus Torvalds), Алану Коксу (Alan Сох), Теду Тсо (Ted Ts'o) и Арьену ван де Вену (Arjan van de Ven), которые нашли время, чтобы ответить на наши вопросы.

Поддержав нас в написании первого издания, наши жены — Ким Джонсон (Kim Johnson) и Бригид Троан (Brigid Troan) были так терпеливы и великодушны, что побудили нас написать второе издание. Без их помощи и поддержки не удалось бы написать эту книгу, не говоря уже о ее переиздании.

От издательства
Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мнение и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересны любые ваши замечания в наш адрес.

Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо либо просто посетить наш Web-сервер и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас.

Отправляя письмо или сообщение, не забудьте указать название книги и ее авторов, а также свой обратный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию новых книг.

Наши электронные адреса:

E-mail: info@williamspublishing.com

WWW: http://www.williamspublishing.com

Наши почтовые адреса:

в России: 115419, Москва, а/я 783

в Украине: 03150, Киев, а/я 152

Часть I Начало работы

Глава 1 История создания Linux

Термин Linux используется для обозначения разных понятий. Технически точным определением является следующее.

Linux — это свободно распространяемое ядро Unix-подобной операционной системы.

Однако многие подразумевают под термином Linux всю операционную систему, основанную на ядре Linux.

Linux — это свободно распространяемая Unix-подобная операционная система, включающая ядро, системные инструменты, приложения и завершенную среду разработки.

В этой книге используется второе определение, поскольку вы будете программировать не только для ядра, а для всей операционной системы.

Linux (в соответствие со вторым определением) предоставляет хорошую платформу для переноса программ, поскольку рекомендованные им интерфейсы (которые подробно рассматриваются в книге) поддерживаются почти каждой доступной версией Unix, равно как и большинством клонов Unix. Как следует ознакомившись с материалом настоящей книги, вы сможете переносить свои программы почти во все системы Unix и системы, подобные Unix, проделывая лишь небольшую