2008-08-24

Жирный пингвин робко прячет тело жирное в утёсах...

Почитал на досуге про udev vs. devfs. Для незнакомых с Линуксом поясню, что это управление именами устройств в файловой системе, т.е. некая жизнь на границе ядра и приложений. Короче, пингвиньи блохи. Раньше жил только один вид, devfs, а потом постепенно развился новый - udev и полностью вытеснил старый. Просто совсем вытеснил, вплоть до полного удаления. Интересно то, что непонятно чем новый вид, собственно, лучше. У меня сложилось впечатление, что он не только не лучше, а хуже. Если объяснять на компьютерном языке, то devfs представлял собой небольшой модуль в ядре, который по сигналам драйверов создавал устройства со стандартными именами. Зато udev - это архитектурная астронавтика. Это демон, который общается с ядром, создаёт имена по некоторым описанным в конфиге правилам, общается с приложениями, которые хотят получать события о создании устройств, и т.д. Дизайн-патерн мне показался очень знакомым. Ситуация такова - есть первая система, очень простая и понятная. С некоторыми небольшими проблемами. Есть некий архитектурный астронавт, который очень пропагандирует некоторую супер-архитектуру, способную покрыть старую систему как бык овцу, и в дополнение решить кучу других проблем, хотя никто никогда с этими другими проблемами и не сталкивался. Как правило маленький компонент или функция будет заменён на некий сервис, вероятно сетевой, возможно веб-сервис. Производительность будет ужасна, но не фатальна, она, вероятно и никогда не была узким местом. Новые проблемы, которые возникли после перехода на новую систему, будут объяснены тем, что система ещё не доделана до полной своей функциональности, и тогда она покроет не только старую функцию, но и всю систему вообще. Здесь главное - напористость астронавта. Особенно, если старая архитектура не особенно персонифицирована и не имеет столь же горячего защитника. Как только новая архитектура будет принята, её доделают до некоей приемлемой формы, другого выхода нет, но лишний килограм веса на животе это добавит. Ещё один, к досаде тех, кто ценит стройность архитектуры. Я раньше считал, что подобное - удел коммерческих компаний и закрытого софта больших компаний. Там это просто непрерывно. Но почитав линуксовые форумы, понял, что нет, это универсально. В открытом софте - то же самое. Фактически, исправить ситуацию может только давление, отбраковывающее подобные патерны, а его по ряду причин нет. Грустно. Не хочется пускать в свой компьютер жирного пингвина. И udev не хочется. Хочется простоты и удобства. Каталоги, как в GOBO, простые модули вместо сервисов, ненавижу сервисы. Наверное, надо фряху посмотреть или в гентушники податься, последнее прибежище отчаявшихся в разумности коллективного сознания.

4 comments:

SKuznetsov said...

Мой племянник Ваня про моего двоюродного брата Роберта выдал хохмочку: "Глупый пингвин Робка прячет тело жирное в утёсах".

SKuznetsov said...

Матерно о паттернах. Наверное, плохи не паттерны, а их неподходящее применение кадрами, которые числом поболее, ценою подешевле. И как из грязи - в князи, так и тут: кадр недолго попрограммировал, захотел более глобального, и вот уже сочиняет общую теорию всего - а выходит опять штамповка. Одни рожают самый лучшие в мире УНИВЕРСАЛЬНЫЕ паттерны, а другие ими штампуют.

Valery Tolkov said...

В данном случае кадр очень умный и не менее настойчивый.

Antony said...

Да ладно вам, udev не так уж плох и главное удобен для людей не желающих глубоко лезть в код.
Gentoo конечно хорош, сам много лет пользуюсь, но требует прямых рук однако и здравого рассудка :)