Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Железо для Linux. Базовые принципы подбора

Автор: Алексей Федорчук, alv@newmail.ru
Опубликовано: 15.12.2002


© 2002, Издательский дом "КОМПЬЮТЕРРА" | http://www.computerra.ru/
Журнал "Домашний компьютер" | http://www.homepc.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.homepc.ru/offline/2002/78/22614/

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

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

Начнем с первого случая как более легкого в реализации. Для определенности предположим, что нашей новой ОС будет тот или иной дистрибутив Linux - мало кто решится ставить дома Free- или OpenBSD, не имея веской к тому мотивации 1. И общая рекомендация тут - проста, как правда: практически все современное железо предпоследнего, так сказать, розлива, будет этой ОС поддерживаться с вероятностью, близкой к 100%. Подчеркиваю - предпоследнего розлива, потому что для какой-либо конкретной новомодной дивайсины, только вчера появившейся на прилавках, такая поддержка может быть еще не реализована. Ведь производители оборудования, за редкими исключениями, не утруждают себя написанием драйверов своих устройств для каких-либо ОС, отличных от Microsoft Windows. И спасение утопающих - оказывается делом рук самих утопающих. Сиречь - сообщества пользователей Linux в самом широком смысле слова (ведь разработчики ее - такие же пользователи, как и мы с вами). К чести сообщества - сроки между появлением нового устройства и реализацией его поддержки сокращаются не по дням, а по часам┘

Таким образом, приобретая практически любую современную модель компьютера вкупе с распространенной и стандартной периферией, мы можем быть уверенными, Linux на это хозяйство установится и заработает. За одним важным исключением, на котором обжигалось не одно поколение начинающих пользователей (и, судя по письмам, на грабли продолжают наступать с упорством, заслуживающим лучшего применения). А именно: следует всеми возможными и невозможными силами избегать устройств, в названии которых присутствует слово Win, конкретно - win-модемов, win-принтеров и win-сканеров.

И тут помочь может только бдительность часового советской границы: ибо сакраментальное это слово в явном виде в названии потребного устройства может и не присутствовать 2. Так, 9 из 10 внутренних модемов для шины PCI, выхваченные наудачу из прайс-листа, именно win-модемами и окажутся, хотя никаких прямых указаний и не обнаружат. Равным образом и струйный принтер за полсотни их денег, и лазерный принтер ценой в 200 тех же единиц окажутся не способными печатать, вне зависимости от того, называются ли они официально win-принтерами или нет - именно для них используется еще и стыдливый эвфемизм GDI-устройство.

Общего решения эта проблема, насколько мне известно, не имеет. Я встречал информацию о том, что некоторые win-модемы удавалось заставить работать в Linux 3. Правда, а) видеть не приходилось, и б) задача может оказаться не вполне тривиальной даже для не очень начинающего пользователя. То же и с принтерами 4 - Lexmark, например, декларирует поддержку печати из Linux для своих даже самых дешевых устройств. Однако возможность, что win-устройство категорически откажется работать в Linux, всегда есть. И не говорите, пожалуйста, что вас не предупреждали...

Но пора перейти ко второй стороне вопроса. Здесь всё одновременно и проще, и сложнее. Все существующие на свете старые устройства делятся на две категории - те, что поддерживаются Linux (большая часть), и те, что не поддерживаются и поддерживаться, скорее всего, уже не будут. Последняя категория численно невелика, но мало радости будет их счастливому обладателю.

Что можно предложить практически? Только внимательное изучение списков соместимости (hardware compatibility lists, HCLs) на соответствующих сайтах. Вопреки своему названию, они почти обязательно включают в себя и списки несовместимых устройств. И если непопадание именно вашего устройства в список совместимости еще не повод для уныния (возможно, его просто никто на сей предмет не тестировал), то попадание его в часть вторую - практически гарантия, что в Linux оно работать не будет. Если, разумеется, лично вы не напишете к нему соответствующий драйвер.

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


1 (обратно к тексту) - Большая часть материала "Советника" вполне применима и к FreeBSD. OpenBSD для "настольного" применения не предназначена.
2 (обратно к тексту) - На самом деле, в большинстве случаев не присутствует. - Ред.
3 (обратно к тексту) - Полезную информацию несчастный обладатель такого устройтва может найти на: www.linmodems.org и, особенно, на www.idir.net/~gromitkc/winmodem.html.
4 (обратно к тексту) - Практически исчерпывающую таблицу совместимости принтеров можно найти на www.linuxprinting.org/printer_list.cgi.

Твердо стоя на платформе, или о процессорах, чипсетах, материнских платах

Как известно, компьютеры бывают разные. И различаются они по типу процессора или по видеоподсистеме, объему оперативной памяти и жесткого диска, и еще по многим множествам признаков. Но есть коренной и основополагающий признак, именуемый "платформой". Под понятием этим объединяется сцепка из процессора, материнской платы с ее управляющей логикой и оперативной памятью. Именно эти три компонента определяют не только производительность системы, но и ее совместимость с различным софтом, в первую очередь с операционными системами. Так какие же из существующих платформ совместимы с открытыми операционными системами? Рассмотрим этот вопрос на примере все той же ОС Linux.

Сама по себе Linux работает на всех машинах, которые могут запускаться, и немножко - на тех, которые запуститься не способны. Однако практическое значение в наших условиях имеет только т. н. архитектура IBM PC, отличительная черта которой - Intel-совместимые процессоры. Производятся они не только фирмой Intel - наряду с Pentium-II/III/4 или Celeron внутри современной машины можно увидеть продукцию и AMD, и VIA, и даже, говорят, Crusoe (хотя последнее - редко кому из наших соотечественников). Причем с разбросом величин тактовых частот в два-три раза (от 700-900 МГц до более чем 2 ГГц). Какой же из них окажется оптимальным для использования с Linux?

Начнем с того, что самой Linux более или менее до лампочки, какой именно из Intel-совместимых процессоров имеет место быть. Более того, ядро системы (и, с некоторыми ограничениями, другие ее компоненты) может быть оптимизировано под любой из выпускаемых ныне процессоров (и под многие, выпуск которых прекращен, типа AMK K-6). А с точки зрения вычислительной мощности, любой процессор, который нынче можно приобрести за пределами антикварной лавки, будет избыточным для большинства пользовательских задач.

Если же есть желание достичь максимальной производительности (а какой же русский, простите за банальность, не любит быстрой езды) - следует обратиться к высшим на сегодня достижениям процессоростроения - Intel Pentium 4 или AMD Athlon последних модификаций. И тот, и другой имеют круг задач, на которых они показывают себя во всем блеске. Причем широко распространенные тесты пользователю Linux здесь не помогут. Специфика классических Unix-приложений, функционирующих и в Linux (небольшие монофункциональные утилиты, умеющие только что-то одно, но зато - уж очень хорошо), такова, что достоинства Pentium 4 остаются незадействованными. И потому специальные методы оптимизации для Athlon приводят обычно к лучшим результатам (подчеркну, относительно неоптимизированного ядра, а не друг друга). Правда, с появлением компилятора gcc 3.2 положение изменилось - теперь, оптимизировав систему под свой процессор, пользователь может почувствовать, что это - действительно круто.

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

Материнская плата - часто вместилище не только процессора и управляющей логики. Так, последнее время в моду вошли "мамы" с дополнительными IDE-контроллерами, исполняющими обязанности RAID-массивов (наиболее известны чипы от Promise и High Point). Так вот, Linux поддерживает их в полной мере (в том числе и как загрузочные устройства). Правда, есть риск нарваться на дистрибутив, где эта поддержка не реализована в программе установки. Что, казалось бы, будет непреодолимым препятствием для установки их на диск, подключенный к такому контроллеру?

Как бы не так. Почти всегда есть возможность обходного пути. Например, на многих "мамах" RAID-функции таких контроллеров можно отключить аппаратно (соответствующей перемычкой). И в результате Linux увидит просто еще один обычный IDE-контроллер и обойдется с ним должным образом. Конечно, RAID-массивом при этом придется пожертвовать, но, положа руку на сердце - а за каким нужен он на домашней машине? Если же возможности отключения RAID-функций не предусмотрено - можно временно переключить диск на основной IDE-контроллер, установить систему, должным образом сконфигурировать ядро и затем вернуть все назад. Не то чтобы я рекомендую последний способ - но в любом случае нужно помнить: в Linux нет таких крепостей, которые не могли бы взять большевики (при условии размышлений и чтения документации, разумеется).

Наконец, последний компонент понятия платформы - память. Тут все абсолютно просто - Linux способна работать с любым ее типом. И не нужно гнаться за новомодностями типа RIMM и DDR - возможностей стандартной SDRAM вполне достаточно. Более того, рискну высказать мысль, крамольную с точки зрения записного "железячника" (но - проверенную на собственном опыте). Вследствие специфики Unix-приложений, о которой я уже упоминал, низкая латентность SDRAM по сравнению и с RIMM, и DDR (то есть, грубо говоря, большее быстродействие при произвольном доступе) оказывает большее влияние на производительность, чем высокая пропускная способность "продвинутых" типов памяти. И потому нелепая, казалось бы, связка Pentium 4 с чипсетом i845 и SDRAM обеспечивает прекрасные результаты на большинстве задач.

Последнее особенно впечатляет, если вспомнить о разнице в цене между SDRAM и ее продвинутыми сестрами. Немаловажный фактор, потому как уж к чему Linux неравнодушна - так это к объему памяти. Пресловутые 4 Мбайта для настольной машины под Linux лежат в области мифов и легенд Древней Греции и сопредельных стран (хотя этого может быть вдоволь для сетевого роутера или почтового сервера). Для работы, скажем, под KDE или GNOME комфортный минимум лежит где-то на 128 Мбайтах. Хотя что-то полегче, типа оконных менеджеров Blackbox или IceWM, и на 64 Мбайтах будет летать со страшной научно-фантастической силой. Тем не менее, лишняя память в Linux никогда лишней не окажется - ОС эта в состоянии использовать все, что имеется.