Category: it

artlebedev poster, 2006-03-17, 2189

USENIX ;login: August 2008

http://www.usenix.org/publications/login/2008-08/index.html
http://www.usenix.org/publications/login/2008-08/openpdfs/bsdcan08.pdf

Угадайте, кто тот единственный товарищ, который в репортажах с конференции упомянул BSD системы отличные от FreeBSD? :) Ну там, OpenBSD, NetBSD, DragonFly, даже OS X! Словом, о FreeBSD мы тоже не забыли.
Collapse )
artlebedev poster, 2006-03-17, 2189

bash.org.ru

Дело происходит в University of Ottawa.

Суббота, 2008-05-17, около 11:25 северо-американского восточного времени.

Подхожу к зданию SITE. Захожу в аудиторию G. В аудитории полно народу, включая phk и matthieu, сидящие в одном ряду друг напротив друга (позже оказалось, что места были выбраны из корыстных соображений, дабы получить доступ к розеткам, которые были в ограниченном доступе). Быстро пытаюсь найти кого-нибудь с расписанием. Смотрю — на последнем ряду как раз сидит тов. Тарасов. Подхожу, вглядываюсь в его монитор, спрашивая, чей Talk здесь сейчас будет, одновременно с этим замечая открытый браузер с bash.org.ru. “Твой!”, — недоумённо отвечает тов. Тарасов…
Collapse )
artlebedev poster, 2006-03-17, 2189

Почему так важно иметь документацию по программированию железа

На недавно прошедшей в Италии конференции OpenCON 2006, Theo de Raadt и Jonathan Gray выступили с докладами о проблеме, с которой сталкиваются разработчики любой операционной системы — проблеме поддержки железа.

Theo de Raadt перечислил основные компоненты компьютера, и привёл наглядную таблицу, сравнивающую поддержку различных устройств и доступность документации по программированию.

Например, Theo в очередной раз подчеркнул, что доступность документации (а следовательно и отменная поддержка в свободных драйверов) для сетевых адаптеров по большому счёту является заслугой одного человека — Bill Paul'а, который зачастую разрабатывал FreeBSD-драйвера для сетевых адаптеров в считанные дни после выхода адаптеров в розничную торговлю! Не остались и без внимания адаптеры em(4), для которых Intel долгое время не предоставлял никакой документации (вместо этого предоставляя только исходные коды драйверов), и один из читателей undeadly посоветовал, что именно отсутствию документации и обязаны несколько недавних сообщений об уязвимости различных адаптеров Intel.

Сразу после Ethernet-адаптеров, Theo перешёл к беспроводным сетевым адаптерам: несмотря на отсутствие документации на некоторые чипсеты, OpenBSD поддерживает 90% всех беспроводных адаптеров, выходя на первое место по поддержке беспроводных устройств в инсталляции по умолчанию. Большинство беспроводных драйверов на всех BSD системах и на OpenSolaris написаны опять одним единственным программистом — Damien'ом Bergamini, на сей раз разработчиком OpenBSD.

Theo привёл интересный список “оправданий”, которые можно обычно услышать в ответ на запросы документации. Интересным моментом является то, что обычно чипсеты с отсутствующей документацией содержат массу ошибок в дизайне, и хотя до сих пор ни один производитель не выдал такой аргумент в качестве официального оправдания, Theo подозревает, что это оправдание является главной причиной отсутствия документации.

Theo официально затронул и нашумевшую тему о том, что якобы FCC и другие подобные организации запрещают производителям выпускать документацию из-за присутствия программного радио-передатчика (Software Defined Radio). Theo чётко заявляет, что FCC ещё ни разу не атаковал ни одного производителя чипсетов, который бы выпускал свободную документацию к своим передатчикам, т.к. в реальных условиях передатчики всё равно не смогут далеко уйти от разрешённой частоты и не смогут создать какую-либо угрозу из-за незначительной мощности. Оправдание FCC всего лишь является ещё одним оправданием "пользователей" чипсетов, а не оправданием производителя.

Далее Theo обсуждает тему защиты производителей их пользователями: если почитать любой форум, включая новости об отсутствии документации на определённые чипсеты на linux.org.ru, то можно заметить, что очень часто при публикации очередной информации о закрытости того или иного чипсета пользователи сами придумывают различные оправдания тому, почему документация отсутствует! Theo, имея опыт общение с полусотней производителей, чётко заявляет, что сами производители подобных оправданий никогда не дают!


Jonathan Gray в очередной раз пояснил, что OpenBSD не просит производителей чипсетов раскрывать какой-либо исходный код прошивок (а всего лишь просит предоставить неограниченные права на распространение бинарных прошивок), и драйверы от производителя обычно не отличаются интегрированностью с системой (наличие документации является ключевым фактором в успешном функционировании драйвера).

Далее Jonathan кратко перечислил структуру драйверов на OpenBSD и процесс написания драйверов новых устройств, и призвал некоторых разработчиков Solaris и особенно Linux и FreeBSD перестать пилить сук, на котором они сидят, подписывая многочисленные NDA для разработки драйверов, которые потом никто не сможет редактировать. (Главная проблема в подписании NDA состоит в том, что только разработчики подписавшие NDA могут работать над драйвером, и подписание NDA одними разработчиками делает работу других разработчиков без NDA очень затруднительной.)