schel4koff.ru

Компьютер — интернет — сайтостроение — SEO — монетизация

Идентификация устройств Linux

Идентификация устройств Linux. Иногда бывает трудно найти имя устройства (например, при разбиении диска). Вот два способа найти его:

1. Узнайте имя из вывода команды dmesg (которая печатает последние несколько сообщений ядра ОС) или системы регистрационных файлов ядра; этот вывод может содержать описание устройств вашей системы.

2. Запустите cat /proc/devices, чтобы увидеть блочные и символьные устройства, к которым ваша система на данный момент имеет драйвера. Каждая содержит число и имя. Число — это старшее число устройства описанное в разделе «Устройства». Если вы опознаете устройство по его имени, просмотрите /dev на предмет символьных или блочных устройств с надлежащими старшими числами, и вы найдете файлы устройств.

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

Жесткие диски: /dev/hd*
Это АТА(IDЕ) диски и сегменты. Все они блочные устройства.
Два примера имен: /dev/hda и /dev/hdb. Буква после hd обозначает диск, и число обозначает сегмент. Устройство без номера — это устройство целого диска.

SCSI диски: /dev/sd*
Диски SCSI носят имена /dev/sda, /dev/sdb и так далее, и используются они также много, как и их АТА-аналоги, тем не менее имена SCSI дисков не соответствуют прямо SCSI главному контроллеру и его задачам. ОС Linux определяет устройства в том порядке, в котором они нумеруются с дисками.

Например, если у вас есть два SCSI контроллера, scsi0 и scsi1 с дисками на scsi0 задачах 0,3 и scsi1 с задачей 1, назначения устройств будут такими:

Таблица назначений устройств.

Присваивание устройства Цель Присваивание устройства
scsi0 0 /dev/sda
scsi0 3 /dev/sdb
scsi1 1 /dev/sdc

Эта схема присваивания имен может стать причиной проблем при перенастройке аппаратного обеспечения. Предположим, что scsi0 задача 1 уничтожится и вам придется удалять диск, так чтобы ваша машина могла работать снова. Когда вы это сделаете, scsil задача 1 переместится в /dev/sdb из /dev/sdc и вам придется изменять файл fstab.

Терминалы: /dev/tty*, /dev/pts/*, /dev/tty
Терминалы это устройства для перемещения символов между системой и устройством ввода-вывода, обычно для вывода текста на экран терминала. Интерфейс устройства терминала проделал долгий путь, от тех дней, когда терминалы были устройствами, основанными на печатном наборе.

Псевдо-терминальные (pseudo-terminal) устройства это имитированные терминалы, которые понимают особенности ввода-вывода настоящих терминалов, но в них вместо того, чтобы взаимодействовать с элементом аппаратного обеспечения, ядро ОС представляет интерфейс части программного обеспечения ввода-вывода, такого, как окно оболочки.

Два обычных устройства терминала — это dev/tty1 (первая виртуальная консоль) и /dev/pts/0 (первое псевдо-терминальное устройство).

Устройство /dev/tty — это управляющий терминал текущего процесса. Если на данный момент программа читает из терминала или пишет в терминал, это устройство будет синонимом этого терминала. Процессу не нужно быть подсоединенным к терминалу.

Последовательные порты: /dev/ttyS*
Последовательные порты это особые устройства терминала. Вы немногое сможете сделать с командной строкой с помощью устройств последовательного порта, так как существует слишком большое количество настроек, с которыми надо считаться, такие как частота бодов (частота передачи бит в секунду) и контроль потока.

Порт, известный в ОС Windows как СОМ1, это /dev/ttyS0, COM2 это /dev/ttyS1, и так далее. Для встроенных модемных плат, проверьте вывод команды dmesg для назначения порта.

Гибкие диски: /dev/fd*
Они также являются блочными устройствами. 3.5-дюймовый привод гибких дисков на современных системах это /dev/fd0.

Параллельные порты: /dev/lp0, /dev/lp1
Эти действующие в одном направлении порты устройств соответствуют LPT1 и LPT2 в Windows. Вы можете послать файлы (такие как файл, который должен быть напечатан) прямо на параллельный порт с помощью команды cat, но вам придется предоставить принтеру дополнительные данные, или потом перезагрузить.
Двунаправленные параллельные порты это /dev/parport0 и /dev/parport1.

Аудио устройства: /dev/dsp, /dev/audio, /dev/mixer, /dev/snd/*
В ОС Linux есть два разных набора аудио устройств. Существуют отдельные устройства для OSS (открытой звуковой системы Open sound system) и интерфейс системы более новой ALSA (продвинутой архитектуры звуков Linux (Advanced Linux sound architecture)). Системы Linux, которые используют ALSA, обычно содержат OSS совместимые устройства, потому что большинство приложений все еще используют OSS. Как было упомянуто ранее, компьютер проиграет любой файл WAV, который вы пошлете на /dev/dsp. Однако он может звучать неправильно вследствие частотных несоответствий. Устройства ALSA находятся в каталоге /dev/snd, но вы многого не измените, перенаправив к ним стандартный поток ввода-вывода.

Программы play и aplay могут проигрывать образцы из командной строки. Чтобы настроить громкость и параметры звукомикшера, в большинстве систем доступны опции aumix и alsamixer.

Создание файлов устройств.

Чтобы создать отдельный файл устройства, воспользуйтесь mknod. Вы должны знать имя устройства, а также его старшие и младшие числа. Например, если вы случайно удалите /dev/hda2, вы можете создать его снова при помощи этой команды:
mknod /dev/hda2 b 3 2

Параметр b 3 2 описывает блочное устройство со старшим числом 3 и младшим числом 2. Для символьного или поименованного канального устройств, используйте с или р вместо b.

Команда mknod полезна только для создания случайно пропавших устройств или поименованных каналов. Когда вы модернизируете свою систему, вам потребуется полностью создать новые группы устройств. Из-за того, что так много устройств, лучше использовать программу makedev (находится в каталоге /dev), чтобы создавать группы устройств. Группы устройств могут быть названы как общая часть нескольких имен устройств, таких как hda, или могут иметь абсолютно отдельное имя, такое как std-hd. Например, чтобы создать все устройства, начинающиеся на hda, запустите эту команду:
/dey/MAKEDEV hda
Команда makedev безвредна, если устройства уже имеются в вашей системе.
devfs
Перед тем как вы столкнетесь с проблемами при создании каких-либо файлов устройств, вам следует убедиться, что запущена devfs, автоматическая система создания файлов устройств. Самый легкий путь проверить devfs — это запустить mount и поискать devfs в выводе.

Если ваша система работает с devfs, вам не придется создавать утерянные файлы устройств, потому что ядро ОС поддерживает каталог доступных файлов устройств. Ядра Linux обычно формируют devf s во время загрузки, запуская вспомогательную системную программу под названием devfsd, которая дает администратору возможность изменить систему устройств.
Pdevfs была экспериментальной особенностью в более старых ядрах Linux, но была признана устаревшей в последних версиях ядер Linux.

Вы можете посмотреть так же записи

Автор

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Schel4koff.ru © Все права защищены 2014 г.
Для любых предложений по сайту: [email protected]