Программирование для Linux. Профессиональный подход
Шрифт:
Иногда требуется записывать данные непосредственно в символьные устройства. Рассмотрим примеры.
■ Терминальная программа напрямую обращается к модему через устройство последовательного порта. Данные, записываемые в устройство, передаются по модему на удаленный компьютер.
■ Программа резервного копирования записывает данные непосредственно на ленту. Такая программа может реализовывать свои собственные алгоритмы сжатия и проверки ошибок.
■ Программа обращается к первому виртуальному терминалу, [19] записывая данные в устройство
19
В большинстве Linux-систем можно переключиться на первый виртуальный терминал, нажав <Ctrl+Alt+F1>. Чтобы перейти на второй виртуальный терминал, следует нажать <Ctrl+Alt+F2> и т.д.
Терминальным окнам, работающим в графической среде, и окнам сеансов удаленной регистрации назначаются не виртуальные терминалы, а псевдотерминалы (о них говорится в разделе 6.6, "Псевдотерминалы")
■ Иногда программе требуется получить доступ к терминальному устройству, с которым она связана.
Например, программа может попросить пользователя ввести пароль. Из соображений безопасности требуется проигнорировать перенаправление стандартных потоков ввода и вывода и прочитать пароль с терминала независимо от того, как пользователь вызвал программу. Для этого можно открыть файл
■ Программа воспроизводит аудиофайл через звуковую плату, посылая аудиоданные в устройство
Например, во многие дистрибутивы Linux входит файл
Те, кто хотят включить звук в свои программы, должны использовать специальные сервисы и библиотеки функций работы со звуком, имеющиеся в Linux. В графической среде Gnome есть демон EsounD (доступен по адресу
6.5. Специальные устройства
В Linux есть также ряд специальных символьных устройств, которым не соответствуют никакие аппаратные компоненты. Старший номер всех таких устройств равен 1. Это означает, что обращение к устройству переадресуется ядру Linux.
6.5.1. /dev/null
Устройство
■ Linux удаляет любые данные, направляемые в устройство
■ При чтении из устройства
6.5.2. /dev/zero
Устройство
Чтобы проверить это, запустите программу
Чтобы прервать работу программы, нажмите <Ctrl+C>.
Файл
6.5.3. /dev/full
Устройство
Вот что получится, если попытаться осуществить запись в устройство
Этот файл удобен для проверки того, как программа будет вести себя в случае, если при записи в файл возникнет нехватка места.
6.5.4. Устройства генерирования случайных чисел
Специальные устройства
Большинство аналогичных программных функций, например функция
Чтобы получить настоящие случайные числа, необходим внешний "источник хаоса". Ядро Linux знает о таком источнике: это вы сами! Замеряя задержки между действиями пользователя, в частности нажатиями клавиш и перемещениями мыши, ядро способно генерировать непредсказуемый поток действительно случайных чисел. Получить доступ к этому потопу можно путем чтения из устройств
Разница между устройствами проявляется, когда запас случайных чисел в ядре Linux заканчивается. Если попытаться прочесть большое количество байтов из устройства
Мессия
121. Книга-загадка, книга-бестселлер
Детективы:
триллеры
маньяки
рейтинг книги
Граф
6. Помещик
Фантастика:
альтернативная история
рейтинг книги
Звездная Кровь. Экзарх II
2. Экзарх
Старинная литература:
прочая старинная литература
рейтинг книги
Хозяин Теней 6
6. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
На границе империй. Том 10. Часть 10
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Наследник
3. Травник
Фантастика:
фэнтези
рейтинг книги
Практик
5. Ушедший Род
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Бастард Императора. Том 5
5. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Эволюционер из трущоб
1. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
рейтинг книги
Сталин
3. Загадки жизни и смерти
Проза:
историческая проза
рейтинг книги
Вернуть невесту. Ловушка для попаданки
1. Вернуть невесту
Любовные романы:
любовно-фантастические романы
рейтинг книги
Тринадцатый V
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Начало
1. Второй шанс
Фантастика:
фэнтези
рейтинг книги