FreeBSD - статьи



FreeBSD 5.2: файловая система устройств - часть 2


Нынче же файловая система устройств (монтируемая в тот же каталог /dev) сама проверяет устройства, реально подключенные к машине, во время ее старта, и создает для них (и только для них) соответствующие файлы. Файлы для устройств, реально не подключенных, при старте системы не создаются. Однако если некий девайс допускает горячее подключение, то после такового соответствуюший ему файл создается на лету. Что очень упрощает жизнь при использовании USB-флэшек, цифровых камер и тому подобных приспособлений. Плюс к чему исчезает необходимость в каком-либо конфигурировании USB-мыши: достаточно активизировать мышь (enable) в конфигурационном меню sysinstall или просто руками вписать в файл /etc/rc.conf строку

moused_enable="YES" moused_type="auto"

Использование devfs во FreeBSD не требует (в отличие от большинства дистрибутивов Linux) абсолютно никаких манипуляций: нет нужды ни в пересборке ядра (она поддерживается ядром по определению, без какого-либо указания опций конфигурирования), ни в монтировании ее, руками ли или через /etc/fstab.

Очень радостно, что введение devfs во FreeBSD не изменило номенклатуры файлов устройств, подобно тому, как это произошло в Linux. То есть файлы дисковых устройств как были /dev/ad#, так ими и остались, без всяких устрашающих конструкций типа /dev/ide/.../disc, и так далее.

Кроме того, во FreeBSD можно практически полностью игнорировать пресловутую обратную совместимость новой нотации устройств со старой. Что понятно - ведь все низкоуровневые утилиты в этой ОС, напрямую взаимодействующие с устройствами, по определению являются неотъемлемыми компонентами системы, и переписаны в версиях 5-й ветки с учетом новых требований. В результате каталог /dev опять же не загромождается многочисленными символическими ссылками на реальные устройства.

Тем не менее, при необходимости обратную совместимость новой нотации со старой обеспечить можно. А необходимость такая иногда возникает. Так, давеча я столкнулся с тем, что программа mplayer при просмотре VideoCD по умолчанию пытается обратиться к файлу /dev/cdrom, какового, естественно, не имеется - файл устройства чтения CD носит во Free имя /dev/acd0 (если он единственный).




Содержание  Назад  Вперед