Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #95, НОЯБРЬ 2006 г.

Через революцию к эволюции

Евгений «j1m» Зобнин

Хакер, номер #095, стр. 095-110-2


Greg Kroah-Hartman, спроектировавший и реализовавший udev, решил убить сразу всех мыслимых зайцев. Udev решает как все уже перечисленные проблемы, так и многие другие. Во-первых, udev - это реализация менеджера файлов устройств на пользовательском уровне, что автоматически разгружает ядро. Во-вторых, udev не зависит от номеров устройств, что решает проблему их нехватки. В-третьих, udev предоставляет пользователю возможность самому назначать имена файлов. И наконец, udev представляет специальный API, основанный на D-BUS, так что любая программа может получить список подключенных устройств и своевременно узнать об их подключении и отключении.

Демон udevd тесно работает с подсистемой uevent ядра Linux и файловой системой sysfs, предоставляющей избыточную информацию о присутствующих устройствах.

ALSA

Проект ALSA (Advanced Linux Sound Architecture) был начат еще в 1998 году с целью полностью заменить устаревшую звуковую подсистему ядра Linux. Прежний код, основанный на интерфейсе OSS, имел несколько серьезных недостатков, среди которых - отсутствие полноценной поддержки синтеза MIDI и микширования звуковых потоков средствами звуковой карты, а также неприспособленность драйверов для работы в мультипроцессорных системах. Кроме того, по причине плохой поддержки возможностей профессиональных звуковых карт и ограниченности самого интерфейса OSS, Linux нельзя было применять для профессиональной работы со звуком. Разработчики ALSA, всегда делавшие упор на профессиональное оборудование, решили эти проблемы и открыли для Linux дверь в мир электронной музыки. Новые драйверы и звуковая подсистема были включены в нестабильное ядро 2.5.4, а в версии 2.6.18 полностью вытеснили OSS.

Помимо решения основных проблем подсистемы OSS, ALSA добавил Linux такие возможности, как полностью автоматизированное распознавание и настройка звуковой карты, удобная настройка совместной работы нескольких звуковых устройств, полнодуплексные операции, комфортный API, предоставляемый специальной библиотекой. Последние версии ALSA позволяют выполнять программное микширование звуковых потоков, тем самым освобождая нас от необходимости в установке и настройке звуковых серверов. Нельзя не упомянуть о том, что ALSA умеет эмулировать интерфейс OSS, следовательно «устаревшие» программы с новой звуковой подсистемой будут работать корректно.

FUSE

FUSE (Filesystem in USErspace) - это одна из тех технологий, которые следовало бы включить еще в первые выпуски ядра Linux. Идея FUSE пришла к нам из микроядерных операционных систем и базируется на концепции вынесения подсистем ядра в пространство пользователя, то есть в обычные программы. FUSE позволяет поместить драйвер файловой системы в программу, избежав таким образом модификации и перекомпиляции ядра. При этом достигаются 4 цели:

Назад на стр. 095-110-1  Содержание  Вперед на стр. 095-110-3