FreeBSD - статьи



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


, UNIX4all

Обновления материалов Алексея Федорчука публикуются на http://unix.ginras.ru/freebsd/

вызвала чувство разочарования у некоторых моих читателей. Вдаваться в объяснения, почему я написал ее именно так, а не иначе, не буду. Скажу только, что в дальнейших заметках по мере сил и возможностей буду освещать те новшества 5-й ветки, с которыми столкнулся (и понял, как и для чего использовать их в мирных целях).

И еще: нынче речь идет конкретно о версии 5.2. Однако все сказанное здесь (и в последующих заметках) относится ко всей 5-й ветке (вероятно, даже и к будущим ее версиям:-))

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

Ранее файлы устройств (а напомню, что все физические устройства в POSIX-системах по определению суть файлы), размещающиеся в каталоге /dev, создавались при установке системы по принципу явной избыточности. Например, любая современная машина имеет минимум два канала IDE, к каждому из которых можно подключить по два устройства. Так вот, для всех этих теоретически возможных устройств создавались файлы вида /dev/ad0, /dev/ad1, /dev/ad2, /dev/ad3. Вне зависимости от реального наличия дисков, CD-приводов или иных ATA-устройств. А поскольку каждый диск может нести по четыре первичных раздела (называемых во Free слайсами - slices), то и для каждого эвентуального слайса создавалось по файлу: /dev/ad0s1, /dev/ad0s2 и так далее.

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

В то же время по умолчанию в /dev подчас отсутствовали файлы для устройств необходимых, дополнительных виртуальных консолей, например, или устройств, которые допускают горячее подключение (типичный пример - получившие нынче широкое распространение флэш-драйвы). И недостающие файлы приходилось создавать с помощью специального сценария /dev/MAKEDEV, или просто вручную - командой /sbin/mknod.




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