LibKing » Книги » comp-osnet » Майкл Джонсон - Разработка приложений в среде Linux. Второе издание

Майкл Джонсон - Разработка приложений в среде Linux. Второе издание

Тут можно читать онлайн Майкл Джонсон - Разработка приложений в среде Linux. Второе издание - бесплатно полную версию книги (целиком). Жанр: comp-osnet, издательство Вильямс, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Майкл Джонсон - Разработка приложений в среде Linux. Второе издание
  • Название:
    Разработка приложений в среде Linux. Второе издание
  • Автор:
  • Жанр:
  • Издательство:
    Вильямс
  • Год:
    2007
  • ISBN:
    978-5-8459-1143-8
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Майкл Джонсон - Разработка приложений в среде Linux. Второе издание краткое содержание

Разработка приложений в среде Linux. Второе издание - описание и краткое содержание, автор Майкл Джонсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Разработка приложений в среде Linux. Второе издание - читать онлайн бесплатно полную версию (весь текст целиком)

Разработка приложений в среде Linux. Второе издание - читать книгу онлайн бесплатно, автор Майкл Джонсон
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

91

Эта манипуляция блокировками происходит атомарно — не имеет значения, какая часть области разблокирована.

92

Эффект, производимый вызовами fork()и exec()на файловые блокировки, является наиболее существенным отличием между файловой блокировкой POSIX (а, следовательно, и блокировкой lockf()) и файловой блокировкой flock()в BSD.

93

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

94

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

95

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

96

Если один сигнал используется для аренды множества файлов, убедитесь, что сигнал является сигналом реального времени, так что множество событий аренды ставятся в очередь. Если используется обычный сигнал, он может потеряться либо события аренды могут возникать через очень короткие промежутки времени.

97

До тех пор пока O_NONBLOCKне будет определен как флаг open(); в этом случае возвращается EWOULDBLOCK.

98

Они так именуются, поскольку чтение разбрасывает данные по всей памяти, а запись собирает данные из разных областей памяти. Они также известны как векторное чтение и запись. Этим объясняется наличие "v" в конце readv()и writev().

99

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

100

Это верно; PATH_MAXне является фактическим пределом. POSIX считает его неопределенным , что обычно является эквивалентом "не используйте его".

101

Имя этого пути эквивалентно более простому /usr/bin/less.

102

Функции ftw()необходимо выполнять stat()для каждого файла для выяснения, является ли он каталогом, и передача этой информации обратному вызову во многих случаях избавляет последний от необходимости повторного выполнения stat()для файлов.

103

Это то же, что и метод, используемый для владения файлами (глава 13).

104

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

105

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

106

Обычно клавиатурной комбинацией приостановки является . Программа stty позволяет пользователям менять эту комбинацию. Подробнее это рассматривается в главе 16.

107

То есть устройства, используемые как для ввода, так и для вывода.

108

Реализации Unix старого типа предоставляли эту функцию с помощью TIOCSPGRP ioctl(), до сих пор поддерживаемого Linux. Для сравнения, tcsetpgrp()можно реализовать как ioctl(ttyfd, TIOCSPGRP, &pgrp).

109

Более подробно о сигналах и их взаимодействии с управлением заданиями рассказывается в главе 12.

110

На man-странице setserialописан способ обхода этого ограничения, специфический для Linux.

111

Обратите внимание: "бит в секунду" ("бит/с"), а не "бод". Бит в секунду определяет интенсивность передачи информации. Бод является техническим термином, описывающим смены фаз в течение секунды. Бод не соответствует termios, но слово бод, к сожалению, попало в названия некоторых флагов termios, не рассматриваемых в этой книге.

112

Например, приложения настройки сетевых протоколов, передающие информацию с помощью устройств tty.

113

B134в действительности равняется 134,5 бит/с, скорость, используемая устаревшим терминалом IBM.

114

Linux также использует c_cflagдля хранения скорости, но не стоит на это полагаться. Вместо этого применяйте cfsetospeed()и cfstispeed().

115

Ядра 2.6.x, рассматриваемые в настоящей книге, поддерживают как версию 4, так и версию 6 (на последнюю обычно ссылаются как на IPv6 из набора TCP/IP).

116

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

117

Вот почему криптография приобрела такую значимость с тех пор как появилась всемирная сеть Internet.

118

Многие высокоуровневые протоколы, такие как BOOTP и NFS, построены на основе UDP.

119

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

120

Системный вызов connect()может также быть неблокируемым, что позволит пользователям гораздо быстрее открывать несколько TCP соединений (он позволяет продолжать работу программы, в то время как выполняется процесс синхронизации TCP). Подробности по этой теме можно найти в [33].

121

Различные формы select()помечают сокет как открытый для чтения, тогда как accept()не может блокировать его, даже если сокет не помечен как неблокируемый. Для обеспечения максимальной переносимости функцию select()необходимо применять только для принятия соглашений с неблокируемыми сокетами, хотя в системе Linux это фактически не нужно. Причины этого подробно рассматриваются в [33].

122

Варианты BSD не поддерживают такую модель поведения, в таких системах ошибки проходят без отчетов.

123

И для bind(), и для connect()процесс должен иметь права на выполнение для каталогов, через которые проходит поиск путевого имени (почти как при открытии стандартных файлов).

124

Исходя из условий реального мира, большинство серверных программ должны быть параллельными. Однако многие из них фактически созданы как итерационные сервера. Например, Web-серверы, в основном, обрабатывают только одно соединение за раз через данный процесс. Для того чтобы разрешить соединение нескольким клиентам, сервер организован в виде множества отдельных процессов. Это делает создание Web-сервера более простым. Если ошибка прерывает работу одного из таких процессов, она затрагивает только одно клиентское соединение.

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Майкл Джонсон читать все книги автора по порядку

Майкл Джонсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Разработка приложений в среде Linux. Второе издание отзывы


Отзывы читателей о книге Разработка приложений в среде Linux. Второе издание, автор: Майкл Джонсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img