My-library.info
Все категории

Марк Митчелл - Программирование для Linux. Профессиональный подход

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Марк Митчелл - Программирование для Linux. Профессиональный подход. Жанр: Программирование издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Программирование для Linux. Профессиональный подход
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
299
Читать онлайн
Марк Митчелл - Программирование для Linux. Профессиональный подход

Марк Митчелл - Программирование для Linux. Профессиональный подход краткое содержание

Марк Митчелл - Программирование для Linux. Профессиональный подход - описание и краткое содержание, автор Марк Митчелл, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Данная книга в основном посвящена программированию в среде GNU/Linux. Авторы применяют обучающий подход, последовательно излагая самые важные концепции и методики использования расширенных возможностей системы GNU/Linux в прикладных программах. Читатели научатся писать программы, к интерфейсу которых привыкли пользователи Linux; освоят такие технологии, как многозадачность, многопотоковое программирование, межзадачное взаимодействие и взаимодействие с аппаратными устройствами; смогут улучшить свои программы, сделав их быстрее, надежнее и безопаснее; поймут особенности системы GNU/Linux, ее ограничения, дополнительные возможности и специфические соглашения.Книга предназначена для программистов, уже знакомых с языком С и имеющих базовый опыт работы в GNU/Linux.

Программирование для Linux. Профессиональный подход читать онлайн бесплатно

Программирование для Linux. Профессиональный подход - читать книгу онлайн бесплатно, автор Марк Митчелл

int fd = open("/dev/lp0", O_WRONLY);

write(fd, buffer, bufffer_length);

close(fd);

6.4. Аппаратные устройства

В табл. 6.1 перечислены распространенные блочные устройства. "Родственные" устройства именуются схожим образом (например, второй раздел первого SCSI-диска называется /dev/sda2). Эта информация будет полезна при анализе файла /proc/mounts на предмет того, какие файловые системы смонтированы в настоящий момент (об этом рассказывается в разделе 7.5, "Дисководы, точки монтирования и файловые системы").


Таблица 6.1. Распространенные блочные устройства

Устройство Имя Старший номер Младший номер Первый дисковод гибких дисков /dev/fd0 2 0 Второй дисковод гибких дисков /dev/fd1 2 1 Основной IDE-контроллер, главное устройство /dev/hda 3 0 Основной IDE-контроллер, главное устройство, первый раздел /dev/hda1 3 1 Основной IDE-контроллер, подчиненное устройство /dev/hdb 3 64 Основной IDE-контроллер, подчиненное устройство, первый раздел /dev/hdb1 3 65 Дополнительный IDE-контроллер, главное устройство /dev/hdc 22 0 Дополнительный IDE-контроллер, подчиненное устройство /dev/hdd 22 64 Первый SCSI-диск /dev/sda 8 0 Первый SCSI-диск, первый раздел /dev/sda1 8 1 Второй SCSI диск /dev/sdb 8 16 Второй SCSI-диск, первый раздел /dev/sdb1 8 17 Первый SCSI-дисковод CD-ROM /dev/scd0 11 0 Второй SCSI-дисковод CD-ROM /dev/scd1 11 1

В табл. 6.2 перечислены распространенные символьные устройства.


Таблица 6.2. Распространенные символьные устройства

Устройство Имя Старший номер Младший номер Параллельный порт 0 /dev/lp0 или /dev/par0 6 0 Параллельный порт 1 /dev/lp1 или /dev/par1 6 1 Первый последовательный порт /dev/ttyS0 4 64 Второй последовательный порт /dev/ttyS1 4 65 IDE-накопитель на магнитной ленте /dev/ht0 37 0 Первый SCSI-накопитель на магнитной ленте /dev/st0 9 0 Второй SCSI-накопитель на магнитной ленте /dev/st1 9 1 Системная консоль /dev/console 5 1 Первый виртуальный терминал /dev/tty1 4 1 Второй виртуальный терминал /dev/tty2 4 2 Текущее терминальное устройство процесса /dev/tty 5 0 Звуковая плата /dev/audio 14 4

К некоторым аппаратным компонентам можно получить доступ сразу через несколько символьных устройств. Чаще всего этим устройствам соответствует разная семантика доступа. Например, если в системе есть ленточное IDE-устройство /dev/ht0, то Linux автоматически перематывает ленту в дисководе, когда программа закрывает дескриптор файла устройства. С помощью ссылки /dev/nht0 можно обратиться к тому же ленточному накопителю, но режим автоматической перемотки в нем будет отключен. Иногда в системе есть ссылки наподобие /dev/cua0. Это старые интерфейсы последовательных портов, таких как /dev/ttyS0.

Иногда требуется записывать данные непосредственно в символьные устройства. Рассмотрим примеры.

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

■ Программа резервного копирования записывает данные непосредственно на ленту. Такая программа может реализовывать свои собственные алгоритмы сжатия и проверки ошибок.

■ Программа обращается к первому виртуальному терминалу,[19] записывая данные в устройство /dev/tty1.

Терминальным окнам, работающим в графической среде, и окнам сеансов удаленной регистрации назначаются не виртуальные терминалы, а псевдотерминалы (о них говорится в разделе 6.6, "Псевдотерминалы")

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

Например, программа может попросить пользователя ввести пароль. Из соображений безопасности требуется проигнорировать перенаправление стандартных потоков ввода и вывода и прочитать пароль с терминала независимо от того, как пользователь вызвал программу. Для этого можно открыть файл /dev/tty, всегда соответствующий текущему терминальному устройству процесса. Запишите в данный файл строку приглашения, а затем прочитайте пароль. Это не позволит пользователю передать программе пароль из файла с помощью следующего синтаксиса:

% secure_program < my-password.txt

■ Программа воспроизводит аудиофайл через звуковую плату, посылая аудиоданные в устройство /dev/audio. Эти данные должны быть представлены в формате Sun (такие файлы обычно имеют расширение .au).

Например, во многие дистрибутивы Linux входит файл /usr/share/sndconfig/sample.au. Попробуйте воспроизвести его с помощью такой команды:

% cat /usr/share/sndconfig/sample.au > /dev/audio

Те, кто хотят включить звук в свои программы, должны использовать специальные сервисы и библиотеки функций работы со звуком, имеющиеся в Linux. В графической среде Gnome есть демон EsounD (доступен по адресу http://www.tux.org/~riclude/EsounD.html), в KDE — программа aRts (http://space.twc.de/~stefan/kde/arts-mcop-doc/). Благодаря этим средствам приложения, обращающиеся к звуковой плате, лучше взаимодействуют друг с другом.

6.5. Специальные устройства

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

6.5.1. /dev/null

Устройство /dev/null служит двум целям.

■ Linux удаляет любые данные, направляемые в устройство /dev/null. В тех случаях, когда выводные данные программы не нужны, в качестве выходного файла назначают устройство /dev/null, например:


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

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


Программирование для Linux. Профессиональный подход отзывы

Отзывы читателей о книге Программирование для Linux. Профессиональный подход, автор: Марк Митчелл. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.