Разработка приложений в среде Linux. Второе издание
Шрифт:
В книге рассматриваются функции, которые должны использоваться, а также их совместимость. Мы также рекомендуем пользоваться справочной документацией, большая часть которой должна присутствовать в вашей системе. В главе 3 описаны способы поиска онлайновой информации о вашей системе Linux.
Операционная система Linux стремительно развивается, и ко времени прочтения книги некоторые факты могут измениться. Данная книга была написана с учетом ядра Linux 2.6 и библиотеки GNU С версии 2.3.
Ниже перечислены добавления и модификации, появившиеся во втором издании книги.
• Вся
• Небольшие фрагменты исходного кода примеров приводятся с номерами строк, облегчая ориентирование в соответствии с полным исходным кодом.
• Глава 1 содержит обновленную и расширенную историю разработки Linux.
• В главе 4 рассматриваются утилиты
• В главе 6 рассматривается библиотека GNU С (glibc) и стандарты, на которых она основана. Также в этой главе объясняется, как и почему следует использовать макросы проверки свойств. Кроме того, описываются основные системные вызовы, рассматриваемые во всех разделах книги; способы обнаружения возможностей системы во время выполнения; разнообразные интерфейсы, предоставляемые
• Глава 7 содержит значительно расширенную информацию об инструментах отладки памяти, включая новые свойства отладки памяти библиотеки GNU С, новую версию mpr и новый инструмент Valgrind.
• В главе 12 рассматриваются сигналы реального времени и контексты сигналов.
• В главе 13 документируются системные вызовы
• В главе 16 рассматривается и рекомендуется новый механизм распределения псевдотерминалов (Pseudo TTY). Также внимание уделяется системным базам данных
• В главе 17 рассматривается как IPv6, так и IPv4, включая новые интерфейсы системных библиотек для написания программ, которые могут равнозначно использовать IPv6 и IPv4. Также рассматриваются более ранние интерфейсы, которым уделялось внимание в первом издании, чтобы дать возможность поддерживать код, использующий эти интерфейсы, и переносить его в более новые интерфейсы. Кроме того, обсуждается более широкий набор функций, чем нужен для многих сетевых серверов, например, неблокирующая
• Глава 22 — это новая глава, в которой рассматриваются основные требования к написанию защищенных программ и объясняется, почему вопросы безопасности относятся ко всем программам, а не только к системным демонам и утилитам.
• Глава 23 содержит более полное обсуждение использования регулярных выражений, включая простую версию утилиты
• В главе 26 рассматриваются новейшие улучшения библиотеки
• К главе 28 добавлена реализация Linux-PAM.
• В главе 25 документируется библиотека
• Почти каждая глава содержит важные обновления.
Описанные
ниже материалы из книги были изъяты.• Поиск информации о 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-подобная операционная система, включающая ядро, системные инструменты, приложения и завершенную среду разработки.