LINUX.ORG.RU

Нужен ли Linux стандартный интерфейс с драйверами?


0

0

Статья "Improving Linux Driver Installation", написанная неким Jono Bacon. В статье рассуждается о необходимости единого API/ABI ядра для драйверов устройств. Приводятся различные мнения. К примеру, приведено негативное мнение Линуса Торвальдса по этому вопросу, а также других специалистов с другими мнениями. Ссылку стащил с http://www.osnews.com.

>>> Текст статьи на английском

★★★★★

Проверено: Demetrio ()
Ответ на: комментарий от Oksiv

Может и затормозит, зато реже будут ломаться дрова от версии к версии. Где-то уже мелькало, что исходники ядра сильно разрослись, вынести бы то, что нечасто употребляется, в отдельные патчи что ли...

anonymous
()

> It does require a stable API so that a driver can actually be able to compile without needing to match it to the specific kernel running.

Я не понял. Ему все равно будут нужны заголовки от текущего ядра, модульный драйвер или нет. Кроме того, он не будет компилироваться полчаса. Все-таки простенький шелл-скрипт может сделать всю работу, без особого напряга, даже теперь. Откуда авторы взяли, что при наличии сырцов или заголовков ядра в системе это будет большая проблема?

IMNSHO
()
Ответ на: комментарий от IMNSHO

>Я не понял. Ему все равно будут нужны заголовки от текущего ядра, модульный драйвер или нет. Кроме того, он не будет компилироваться полчаса. Все-таки простенький шелл-скрипт может сделать всю работу, без особого напряга, даже теперь. Откуда авторы взяли, что при наличии сырцов или заголовков ядра в системе это будет большая проблема?

при переходе на следующую версию ядра нет гарантий, что модуль вообще соберется. А тут предлагают ввести прослойку между ядром и дровами...чтобы, дрова собранные для 2.6.x работали с 2.8.x, 2.10.x и т.д

geek ★★★
()

Стандартизация интерфейса модулей обязятельно нужна. Если нет желания стандартизировать все модули, то можно разделить модули на 2 вида - модули для внутренних нужд и драйвера устройств. Это облегчит жизнь в первую очередь тем, для кого система создаётся, т.е. пользователям. В идеале мы должны видеть на сайте разработчика устройства - Driver for Linux, а не какой-нибудь Driver for Linux 2.4.21-8EL.

ermsoft
()

Если внимательно почитать, то видно, что это старый спор о монолитности/модульности ядра. Ничего нового. Линус по-прежнему упорно отбивается от "нехороших" идей:

"I occasionally get a few complaints from vendors over my non-interest in even _trying_ to help binary modules. Tough. It's a two-way street: if you don't help me, I don't help you. Binary-only modules do not help Linux, quite the reverse. As such, we should have no incentives to help make them any more common than they already are."

Проще говоря, если завтра дрова от ати или нвидии напрочь перестанут работать на новых ядрах, то это проблемы тех, что их использует. И при таком подходе еще предлагается активно продвигать линух на десктоп? мдя...

int19h ★★★★
()
Ответ на: комментарий от anonymous

lirc уже вынесли (точнее не внесли) - затрахаешься дрова искать.

jackill ★★★★★
()
Ответ на: комментарий от ermsoft

Да, было бы неплохо. Хрен с ним с 2.8-2.10, тут бы на 2.6 все работало.

jackill ★★★★★
()
Ответ на: комментарий от geek

>при переходе на следующую версию ядра нет гарантий, что модуль вообще соберется. А тут предлагают ввести прослойку между ядром и дровами...чтобы, дрова собранные для 2.6.x работали с 2.8.x, 2.10.x и т.д

Так ведь еще одна прослойка - это еще один тормоз :-(. Мне кажеться minor-версии не так часто и выходят, производители аппаратного обеспечения вполне могут успевать писать новые драйвера (см. NVidia).

mrco ★★
()
Ответ на: комментарий от int19h

To int19h:

А что мешает ATi и Nvidia договориться и выпустить модули под GPL-compatible лицензией одновременно.

Просто если сейчас сделать HAL, то большинство вендоров железа сделают бинарные закрытые драйвера и на этом успокоятся. Пока же приходится отдавать исходники, хотя многим это и не нравится.

dn2010 ★★★★★
()
Ответ на: комментарий от int19h

По моему тут зыбыли, что Линукс бесплатен и его разработкой занимается никак не десктоп-юзер, поэтому что удобно разработчику и оперсоурс, то и верно. А если твое железо не пашет на Линуксе, то либо заплати за винды либо просто замени железку на linux-compatible.

Linux - это для души

anonymous
()
Ответ на: комментарий от int19h

Вдогонку --- есть такие коммерческие драйвера под X как SNAP (scitechsoft.com). Работают они заметно шустрее, чем бинарные от ATi и Nvidia. При этом в kernel работает только стандартный agpgart, а вся закрытая функциональность вынесена в драйвер для X11. Что мешает сделать хотя бы такой драйвер уважаемым сотрудникам вышеупомянутых компаний.

dn2010 ★★★★★
()
Ответ на: комментарий от Oksiv

mount /dev/brain

> В этом нет никакой необходимости, это затормозит развитие системы.

Развитие Linux напоминает старый анекдот, про то, как страна семимильными шагами идет к коммунизму, а коровы не успевают.

А переписывание с нуля _всех_ драйверов для каждой новой серии ядер, надо полагать, ускоряет это самое "развитие" (читай: слизывание фич коммерческих *NIX).

Dselect ★★★
()
Ответ на: комментарий от dn2010

А лучше бы в исходниках все. Пока в исходниках не будет всегда грабли будут. И что тут такого, что боятся что через исходники узнают, как разные фишки работают. Тогда делали бы так старое поколение видеокарт с открытыми исходниками, новые с закрытыми.

anonymous
()
Ответ на: комментарий от anonymous

в сад

> По моему тут зыбыли, что Линукс бесплатен

Что? Линус сменил лицензию? А, нет, вроде GPL. Просто анонимус порет ерунду.

> А если твое железо не пашет на Линуксе

Выровняй руки... Вопрос только -- чьи? Свои собственные или пЫонеров, которые Linux пейсали...

Dselect ★★★
()
Ответ на: комментарий от anonymous

>Тогда делали бы так старое поколение видеокарт с открытыми исходниками, новые с закрытыми.

ATi в общем то так и делает --- r100 и r200 --- есть все спецификации, новые карты только 2D. Плюс бинарный драйвер.

dn2010 ★★★★★
()

В принцыпе если бы написать хорошие универсальные API/ABI да такие чтоб не менять в 2.8... Да вынисти все драйвер в user space... Было би не плохо, разгрузится ядро от всякой дряни, производителям стянет легче писать драйвери. Хотя в общем система станет медленее и потеряет свой стройный монолит!

hse
()
Ответ на: комментарий от dn2010

> А что мешает ATi и Nvidia договориться и выпустить модули под GPL-compatible лицензией одновременно.

GPL, разумеется.

> Просто если сейчас сделать HAL, то большинство вендоров железа сделают бинарные закрытые драйвера и на этом успокоятся.

И будут совершенно правы. Вот вы их _убедите_ в преимуществе GPL - получите открытые дрова...

> Пока же приходится отдавать исходники, хотя многим это и не нравится.

Пока никому ничего не приходится. Линух далеко не в том положении, чтоб диктовать производителям железа лицензию для их дров. Пока все, что мы получили с этой жесткой политики - необходимость плясок с бубном при установке дров от тех же ATI и NVidia. Т.е. страдает в конечном счете юзер. Которого в то же самое время пытаются активно убедить в том, какой линух передовой etc. Нестыковочка-с.

int19h ★★★★
()
Ответ на: комментарий от anonymous

> По моему тут зыбыли, что Линукс бесплатен

То есть, ты считаешь, что имеются лучшие платные альтернативы? =) Это уж не... [шепотом] винда ли?

> и его разработкой занимается никак не десктоп-юзер

Ты будешь удивлен, но разработкой любых ОС вообще по жизни занимаются не десктоп-юзеры и не "программисты MSWord".

> поэтому что удобно разработчику и оперсоурс, то и верно.

То есть если разработчик - мазохист, и/или у него железо пятилетней давности, то всем под него подстраиваться? А не проще ли плюнуть и поискать замену?

> А если твое железо не пашет на Линуксе, то либо заплати за винды либо просто замени железку на linux-compatible.

А если винды не устраивают прочей функциональнстью, а нормальной linux-compatible железки с опенсорц дровами нет? Как пример - та же видюха. Нет, можно конечно раскопать какой-нибудь антиквариат, но я все же и в Neverwinter Nights иногда поиграть хочу. Или "линух - не для игр"? Тогда какого #$% его пытаются пропихнуть на домашний десктоп?

int19h ★★★★
()
Ответ на: комментарий от anonymous

> А лучше бы в исходниках все. Пока в исходниках не будет всегда грабли будут.

Удивительно, но в мерзкоглючной винде все без исходников, но граблей с дровами особых не наблюдается - да, они бывают, но это скорее исключение, чем правило. Больше того, дрова для Win2K, выпущенной пять лет тому назад, без проблем прикручиваются к XP. Что они делают не так?

Винду конечно можно (вполне справедливо) обругать глючным поделием, но вот ведь незадача, она не одна с бинарными дровами справляется. Те же коммерческие унихи. BeOS, помнится, тоже с этим проблем не имел.

int19h ★★★★
()

Что-то мне подсказывает, что единый API для дров совсем не помешает и не затормозит ОС. Или же кто-то хочет сказать, что win тормозит исключительно из-за него ? А может быть она глючит исключительно из-за бинарной совместимости от версии к версии ? Самим не смешно от таких мыслей ?

Ситуация на сегодняшний день - имеется ОС, которая не поддерживает или поддерживает не полностью дофига разного оборудования (как полезного и правильного, так и бесполезного и корявого). Которую при этом пытаются всучить обычному пользователю и попутно построить всех производителей железа, чтобы они выкладывали дрова в исходниках. Внимание, вопросы:

1. сколько долей процентов производителей это сделают ?

2. сколько долей процентов пользователей согласятся выбросить половину своего дешевого корявого железа, которое под новой ОС просто не работает ?

Я еще молчу про бинарную зависимость всего остального и обновления через инет "для дома для семьи" того же ядра и попутно исходников к нему (сейчас это порядка 60 метров по момеду). А потом еще дрова пересобирать. Пользователям это очень даже нравится. Они без этого просто жить не могут.

Посему, либо ситуация должна в корне измениться, либо не нужно впихивать ОС во все ниши рынка.

Попутно еще два вопроса:

1. К приверженцам открытых дров - чем плохо, что производители железа будут выпускать закрытые джрова ? Вы не сможете посмотреть, как работает железяка ? Может быть в настоящий момент вы имеете возможность посмотреть, как работают nVidia и ATI ? Нет ? Ну тогда на кой нужен этот цирк с постоянной пересборкой при обновлении ядра ?

2. К любителям поругать железо и их производителей - я надеюсь Adaptec не внесен в черные списки ? Так вот, у них имеется семейство чипов 79xx. На базе одного чипа из этого семейства у меня имеется SATA RAID-контроллер. Угадайте, как он работает ? Правильно - никаких рэйдов. Почему ? Потому что линуховый драйвер этого не понимает, а родной драйвер собран только под конкретную версию ядра. Пришлось поднимать программный рэйд. Вопрос, в принципе, такой же - ну и на кой нужен этот цирк ?

anonymous
()

До тех пор пока ядро не начнет поддерживать xml будут проблемы с драйверами.

anonymous
()
Ответ на: комментарий от anonymous

XML нужен для ускорения работы всей системы. Вместо того чтобы пихать как это винды делают графику в ядро, можно туда поместить xml. Плюс еще хорошо бы поддержку Java. Тогда драйвера можно будет писать на java. Это будет быстро писаться, безглючно и производительность пусть и не экстремальная, но максимум процентов на 5-10 упадёт, зато стандартно и хорошо всем производителям и пользователям.

anonymous
()
Ответ на: комментарий от dn2010

успокоятся не только железоклепатели...

> Просто если сейчас сделать HAL, то большинство вендоров железа сделают бинарные закрытые драйвера и на этом успокоятся.

Да. Еще на этом усокоятся собственно kernel hackers, дистроклепатели, админы, программисты, юзвери, да все, кроме кучки фанатиков-комуняк.

Dselect ★★★
()
Ответ на: комментарий от anonymous

>> А XML-то ядру зачем ? Конфиг свой хранить ? И как это поможет дровам ? :)

ты не в теме... XML - наше все! %))

HellAngel ★★
()
Ответ на: комментарий от anonymous

всех вылечат

> XML нужен для ускорения работы всей системы. Вместо того чтобы пихать как это винды делают графику в ядро, можно туда поместить xml. Плюс еще хорошо бы поддержку Java. Тогда драйвера можно будет писать на java. Это будет быстро писаться, безглючно и производительность пусть и не экстремальная, но максимум процентов на 5-10 упадёт, зато стандартно и хорошо всем производителям и пользователям.

Да, видать урожай конопли в этом году просто замечательный...

Dselect ★★★
()
Ответ на: всех вылечат от Dselect

Что тебе не нравится? Представляешь как здорово, если есть jar файлик, запустил его и вот уже новое железо поддержано, а рядом xml файл со спецификациями всякими. Причем пользовательским программам рулить этим будет удобно. Передача параметров в xml представлении, это как передача двумерной картинки вместо одномерной в случае пайпов или сокетов.

anonymous
()
Ответ на: комментарий от anonymous

>Что-то мне подсказывает, что единый API для дров совсем не помешает и не затормозит ОС. Или же кто-то хочет сказать, что win тормозит исключительно из-за него ? А может быть она глючит исключительно из-за бинарной совместимости от версии к версии ? Самим не смешно от таких мыслей ?

Оффтопик тормозит и глючит именно из-за поддержки бинарной совместимости со всяким старьём.

есть два способа обеспечить переносимость драйверов: 1. фриз кернельного и модульного апи - нереально, поскольку эволюция ядра просто встанет.

2. добавление модуля hal, через который можно подключать драйвера. При этом этот hal-модуль должен как-то разруливать зависимости, откуда следует разработка целой надстройки над ядром, и т.д. и т.п.

Вообще, поддержка бинарной совместимости модулей с ядрами разных версий потребует нехилой переработки всей архитектуры...малореально...все равно что написать новое ядро=)

>1. К приверженцам открытых дров - чем плохо, что производители железа будут выпускать закрытые джрова ? Вы не сможете посмотреть, как работает железяка ? Может быть в настоящий момент вы имеете возможность посмотреть, как работают nVidia и ATI ? Нет ? Ну тогда на кой нужен этот цирк с постоянной пересборкой при обновлении ядра ?

Встречный вопрос: А чем плохи открытые дрова для разработчиков железа? А чем закрытые плохи - я тебе скажу: если дрова к железке глючат, то придётся ждать милости от их разработчиков, что может затянуться надолго. А если производитель железки сдох - то вообще всю жизнь ждать будешь. Они же на ЖЕЛЕЗЕ бабки делают, а не на софте. ЧТО ИМ МЕШАЕТ ВЫПУСКАТЬ ДРОВА В ИСХОДНИКАХ???? То, что увидят их маленькие воркэранды для более высоких 3дэмарков? Больше то им бояться нечего - потому как НИКАКИХ ТЕХНОЛОГИЧЕСКИХ СЕКРЕТОВ В ДРОВАХ НЕТ И БЫТЬ НЕ МОЖЕТ.

>2. К любителям поругать железо и их производителей - я надеюсь Adaptec не внесен в черные списки ? Так вот, у них имеется семейство чипов 79xx. На базе одного чипа из этого семейства у меня имеется SATA RAID-контроллер. Угадайте, как он работает ? Правильно - никаких рэйдов. Почему ? Потому что линуховый драйвер этого не понимает, а родной драйвер собран только под конкретную версию ядра. Пришлось поднимать программный рэйд. Вопрос, в принципе, такой же - ну и на кой нужен этот цирк ?

Что они отвечают на просьбу выложить дрова (или хотя бы пересобрать)? Молчат? Тогда в топку из вместе с их железкой. В смысле - в чёрный список.

geek ★★★
()
Ответ на: комментарий от int19h

>Больше того, дрова для Win2K, выпущенной пять лет тому назад, без проблем

Сейчас тебя отправят куда-нить... Я лично видел и принтеры, не взлетающие, и сканеры и тв-тюнеры...

А про w2003 вообще стоит молчать. А вроде из одной бочки разливали.

Другой момент, что HAL был бы полезен. Потому как смысла пересобирать тот же драйвер отдельно для тех же федоровских релизов я смысла не вижу. Простой пример. Драйвер (точнее, внешний модуль) под 2.6.7-1.456 не взлетит под 2.6.7-1.494. Ну идиотизм же.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

> ага, еще объектную базу данных прикрутите к ядру. нашли место применения для XML..

Вот ты смеешься, а в QNX что-то похожее сделали. Там микроядро устроено по принципу похожему на объектную базу. И что характерно, в реалтайме все это работает.

anonymous
()
Ответ на: комментарий от jackill

ackill (*) (11.09.2004 18:03:56)

А где там шанс больше что дрова не встанут, у Линукса или Винды? Кстати, я пока не встречал что бы дрова не вставали те, которые еще поддерживает производитель. У Линукса другая проблема. Дрова начинают быть поддержаны как только оборудование снято с производства. ;)

tester_a_tester
()

Блин, и здесь вылез этот флудер tester :(

Demetrio ★★★★★
()
Ответ на: комментарий от geek

> Они же на ЖЕЛЕЗЕ бабки делают, а не на софте. ЧТО ИМ МЕШАЕТ ВЫПУСКАТЬ ДРОВА В ИСХОДНИКАХ????

вот тут вы ошибаетесь. Как раз таки это и является единственной причиной, по которой дрова от нвидиа, например, не идут исходным кодом - они используют чужие, запатентованные так скажем "хаки и воркэранды" в своих драйверах, и именно по этому не имеют права показать сорцы всем. Это что-то вроди GPL, только в обратную сторону - заюзал код/идею, будь добр скрой код от других глаз.

Нвидии, как вы сказали, наплевать на софт, точно также как и на железо кстати - они ни карточки, ни чипы не делают - они "всего-лишь" продают свои схемы/наработки тем, кто хочет делать бабло на видео карточках, а те уже сами штампуют и то и то.

FreeBSD ★★★
()
Ответ на: комментарий от geek

> ЧТО ИМ МЕШАЕТ ВЫПУСКАТЬ ДРОВА В ИСХОДНИКАХ???? То, что увидят их маленькие воркэранды для более высоких 3дэмарков? Больше то им бояться нечего - потому как НИКАКИХ ТЕХНОЛОГИЧЕСКИХ СЕКРЕТОВ В ДРОВАХ НЕТ И БЫТЬ НЕ МОЖЕТ.

Еще найдут кучу заточек с передачей массива без проверки его размера. ;)
А если серьезно --- то железка от ATi или Nvidia --- это просто узкоспециализированный компьютер --- процессор с памятью. А в драйверах заложена часть логики по реализации работы этого процессора.

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

Хотя что им мешает реализовать HAL самим --- тоже непонятно --- в упомянутом здесь SNAP эта задача достаточно успешно решена, причем в userspace а не kernelspace.

dn2010 ★★★★★
()
Ответ на: комментарий от FreeBSD

>Это что-то вроди GPL, только в обратную сторону - заюзал код/идею, будь добр скрой код от других глаз.

я всегда говорил, что патенты надо отменять, а то остановимся в развитии...и так уже вырастили стадо леммингов, которым чем проще - тем лучше. А теперь ругаемся на то что 90% софта рассчитано на имбецилов.

geek ★★★
()
Ответ на: комментарий от dn2010

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

они настолько уверены, что спецы по дизассемблированию повывелись? =)

geek ★★★
()
Ответ на: комментарий от geek

для кого-то это просто хлеб - выложить исходники и народ сможет свои нормальные дрова написать, а то и чипы делать (тогда-то уж точно нвидиа без хлеба останется). Единственная возможность написать нормальный драйвер - это знать все тех. параметры чипа (характеристеки), а дают их только производителям железячек.

Так что скажем огромное спасибо nvidia за то, что хоть какие-то дрова дают людям, чего не скажешь про ATI.

FreeBSD ★★★
()
Ответ на: комментарий от FreeBSD

>Единственная возможность написать нормальный драйвер - это знать все тех. параметры чипа (характеристеки), а дают их только производителям железячек

ну и сколько времени и денег займёт реинжениринг ЖЕЛЕЗА по исходникам дров? Пока докопаются - уже пара-тройка поколений чипов сменится. Так что "Открытые исходники дров позволят скопировать железо" - не аргумент.

geek ★★★
()
Ответ на: комментарий от geek

ну так все равно - есть какие-то ключевые детали во всех поколениях чипов. вообщем не откроют как не крути :)

FreeBSD ★★★
()
Ответ на: комментарий от FreeBSD

>Так что скажем огромное спасибо nvidia за то, что хоть какие-то дрова дают людям, чего не скажешь про ATI.

Угу, opensource-драйвер nv, 3D в нем вообще нет и не будет, иначе nvidia засудит. Зато есть закрытые драйвера практически с единым кодом между платформами (интересно, сколько там кривых хаков чтобы обеспечить такой перенос).

ATi выложила драйвера для r100 и r200 полностью, и для остальных карт частично. Есть бинарные дрова, специально написанные под Linux (хотя и достаточно тормозные).

Еще они (обе конторы) открывают спецификации производителям коммерческих X-серверов под подписку о неразглашении. Почему бы Redhat или SuSE не сделать для своих юзеров нормальные Xы?

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

> Больше то им бояться нечего - потому как НИКАКИХ ТЕХНОЛОГИЧЕСКИХ СЕКРЕТОВ В ДРОВАХ НЕТ И БЫТЬ НЕ МОЖЕТ.

Есть чего. Ты забываешь про серию Quadro. Тоже железо, другие дрова и цены. Маркетинг, однако!

atrus ★★★★★
()
Ответ на: комментарий от FreeBSD

>ну так все равно - есть какие-то ключевые детали во всех поколениях чипов. вообщем не откроют как не крути :)

Эти ключевые детали как правило запатентованы по самое не балуйся, и если уж на то пошло - над чипом тоже можно провести операцию под названием "реинжениринг". Так что настоящие причины, оправдывающие существование закрытых дров (для любого железа, кстати) - это наличие хитрых оптимизаций под определённый бенчмарк, спёртого кода (и такое исключать нельзя) и просто боязнь опозориться, если код кривой =)

geek ★★★
()
Ответ на: комментарий от geek

>ну и сколько времени и денег займёт реинжениринг ЖЕЛЕЗА по исходникам дров? Пока докопаются - уже пара-тройка поколений чипов сменится. Так что "Открытые исходники дров позволят скопировать железо" - не аргумент.

У ATi достаточно много фирменных примочек, снижающин нагрузку на графический процессор и реализованных именно програмно. Причем это не заточки, а именно улучшения основных алгоритмов работы. если полностью открыть драйвера. то все эти возможности быстро скопируют конкуренты и nvidia на тех же чипах будет показывать заметно большую производительность. Гораздо более старый radeon7500 (r100 --- первое поколение radeonов), мог во многом за счет удачной логики работы соревноваться с GeForce 3 и не всегда проигрывал.

dn2010 ★★★★★
()
Ответ на: комментарий от atrus

>Есть чего. Ты забываешь про серию Quadro. Тоже железо, другие дрова и цены. Маркетинг, однако!

Железо там всё-таки разное. Так шта...

geek ★★★
()
Ответ на: комментарий от geek

>Железо там всё-таки разное. Так шта...

А пользователи offtopicа RivaTunerом делают из geForce Quadro, а из radeon FireGL. с соответствующим приростом производительности.

dn2010 ★★★★★
()
Ответ на: комментарий от dn2010

>Вдогонку --- есть такие коммерческие драйвера под X как SNAP (scitechsoft.com). Работают они заметно шустрее, чем бинарные от ATi и Nvidia.

Ты там 3д видел? Только не надо, мол не всем они нужны, а скорость меня и без них устраивает

Dubrovsky
()
Ответ на: комментарий от Dubrovsky

>Ты там 3д видел?

За 3D денежку платить надо.

>Только не надо, мол не всем они нужны, а скорость меня и без них устраивает

после того, как я их увидел, скорость без них меня стала напрягать.

Хотя закрытые дрова нужны не всем --- есть веши, где открытость софта важнее скорости.

dn2010 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.