April 23rd, 2006

space patrol

Всё лучшее мира windows - теперь и в un*x!

    По мотивам моего столкновения с FreeBSD нескольколетней давности. Не надо говорить мне что я ламер, объяснять мне "где у неё кнопка" и что "уже в версии X.Y.Z всё исправили" - я знаю что ламер, мне уже не нужно знать где кнопка, и меня не интересует сегодняшее положение дел.

    В NT-ветке Windows, начиная с Windows 2000, появился плаг-н-плей. В частности означающий то, что устройство вовсе не обязано постоянно присутствовать в системе, и загрузка системы с отсутствующим устройством приводит не к ругани "отдайте дивайс, сволочи!", а к тому, что устройство просто не появляется в системе - для него не грузятся драйвера, его нет в списке устройств... и это по сути правильно - ну, ушло устройство, зачем шум-то поднимать? Придет - пропишем куда надо и загрузим что надо, а пока - нету его.
    Одним из побочных эффектов этого был известный диалапный интернетчикам прикол - если загрузить систему при выключенном внешнем RS-232 модеме - модем не появлялся в списке дивайсов даже после включения модема (логично: ком-портовые модемы никак не уведомляют систему о своем включении), и попытки соединиться с интернет обламывались. Замечу - обламывались не мгновенно, как можно было бы предположить, а с конкретной задержкой, и с весьма невнятной диагностикой - что вызывало суеверный ужас у непосвященных и подколки со стороны посвященных.
    Поведение это появилось именно при переходе с NT4 на w2k - в "энте" модемы прописывались жестко и не исчезали сами по себе, а вот в w2k - появилось такое вот новое поведение. Не смертельное - достаточно перегрузить систему (для ламеров) или попросить "обновить конфигурацию оборудования" в диспетчере дивайсов (для хакеров), как пропавший модем появлялся в системе.

    FreeBSD, как одна из ведущих unix-like систем, не может идти позади мирового прогресса. В FreeBSD версии 4.6.2, явно по мотивам виндового плаг-н-плея, была реализвана очень похожая фишка.
    Если на момент загрузки системы к системному блоку не была подключена клавиатура (довольно частая ситуация для всяких "домашних роутеров") - подключенная позже клавиатура, в точности как подключенный позже модем в винде, не работала. Никак, даже на всякие num lock не реагировала. Пока не перегрузишь (reset'ом - клавы-то нет, shutdown не скажешь). И поведение это, как и в винде, появилось не сразу: до этого я довольно долго гонял версию 2.2.6, и в ней клаву можно было втыкать в любой момент - она работала.
    Я охотно верю, что как и в винде, в FreeBSD достаточно было сделать хитрое движение руками (неизвестное мне из-за моего личного ламеризма), набрать волшебную команду, после чего пропавшая клавиатура отрастала взад. С одной поправкой.

    Набрать - на клавиатуре. Клавиатура - не работает.

    И не надо про telnet, ssh и прочую сеть: к "домашним роутерам" лезут с клавой именно тогда, когда по сети уже не получается. И как бы не всегда хочется жать ресет, по ряду причин. Однако...

    Однако прогресс - неумолим! И я лишний раз в этом убеждаюсь.