On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Сага о Линуксовом железе

Содержание

Прежде чем начинать работать с Linux, нужно подобрать необходимое снаряжение. То есть, в данном случае, аппаратное обеспечение, именуемое в народе "железом".

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

В случае с использованием Linux - ситуация аналогична. С одной стороны, система эта знаменита своей нетребовательностью к ресурсам. Теоретически, для ее установки и запуска достаточен (если речь идет об архитектуре x86) любой 32-разрядный процессор Intel или совместимый (AMD, Cyrix etc.). начиная буквально с i386SX. Плюс - 4 Мбайт оперативной памяти, жесткий диск 60-100 Мбайт и видеокарта VGA, а то и попроще, место чему - в антикварной лавке или музее истории электронного мастерства.

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

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

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

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

Более актуальной ныне мне видится другая ситуация: возникновение желания опробовать что-то неизвестное при покупке новой машины или кардинальной модернизации старой. Что психологически вполне объяснимо: новая система еще не обросла грузом инсталлированных приложений, настроек, данных - не столь страшно начать все сначала в случае ее краха. Да и гарантия на аппаратуру действует...

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

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

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

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

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

Базовая платформа

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

Традиционно компонентом, определяющим конфигурацию компьютера считается

Процессор

Как уже говорилось, теоретически для функционирования Linux достаточно любого 32-разрядного Intel-совместимого процессора. Практически в современных условиях речь может идти о линии Celeron/Pentium-II/III, вариациях на тему AMD-K6, AMD Athlon и продукции в бозе почившей фирмы Cyrix и ее продолжателе VIA.

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

Помимо этого, следует учесть, что ряд дистрибутивов Linux (например, описываемый ниже Linux Mandrake) оптимизирован для процессоров Pentium/Pentium-II/III. И есть сведения, что с процессорами-клонами (конкретно - именно Cyrix и линии AMD-K6) в этом случае возможны проблемы. С другой стороны, в Сети можно найти ядра системы, оптимизированные именно для конкретных процессоров-клонов. Что, по некоторым данным, повышает производительность системы. Не имея собственного опыта по этому поводу, я воздержался бы от рекомендаций по сему поводу. Но лично - ни Cyrix, ни K6 приобретать бы не стал: экономия грошовая, в производительности они сильно уступают современным кристаллам Intel или той же AMD, проблемы же могут быть вполне реальными.

В частности, и потому, что как тот, так и другой требуют морально устаревших (и уже не поддающихся upgrade) системных плат с процессорным гнездом Socket 7 (пусть даже и в модификации Super). Так что если выяснится несовместимость процессора с операционной системой, потребуется смена системной платы и полная переборка машины.

Относительно функционирования Linux на процессорах линии AMD Athlon (включая новые модификации Duron и ThunderBird) сведений пока нет (по крайней мере, мне такие данные неизвестны). Так что ничего определенного сказать не могу. Если есть авантюрная жилка и возможность обмена процессора (и системной платы заодно) по месту покупки - рискнуть можно. Тем более, что теоретически на системы основе Athlon должны показывать под Linux высокую производительность (что я попытаюсь обосновать в конце этого раздела).

Таким образом, в сухом остатке остается беспроигрышный и беспроблемный выбор - продукция фирмы Intel. Каковая на сегодняшнем рынке представлена архитектурой Coppermine в вариациях Celeron и Pentium-III. Чему отдать предпочтение?

Ответ определяется финансовыми возможностями. Разумеется, Celeron дешевле (хотя разница в цене все более сглаживается). И, в общем, производительности его хватит для большинства задач. Но при работе с тяжелыми приложениями в многозадачном режиме (а ведь мы ставим Linux в первую очередь ради многозадачности, не так ли?) его отставание от "полномерного", если так можно выразиться, Pentium-III, может быть существенной. Ведь современный Celeron на ядре Coppermine (в отличие от своего знаменитого предшественника на ядре Katmay, демонстировавшего иногда большую производительность, чем Pentium-II при той же частоте) - не более, чем стреноженный (за счет частоты системной шины) и кастрированный (за счет обрезания кэша первого уровня) Pentium-III. А поощрять такое издевательство над процессором непростительно даже в случае крайней стесненности в средствах.

А вот блок дополнительных мультимедийных инструкций (т.н. SIMD) Pentium-III никакого практического влияния на производительность под Linux не оказывает. Так что отсутствие его не должно смущать, если есть возможность существенно сэкономить, отхватив на распродаже старый Pentium-II или Celeron серии A. Последний вообще, на мой взгляд, окажется самым удачным выбором во многих случаях. Особенно - если удастся запустить его на частоте системной шины 100 Mhz - в этом случае он сполна оправдает те деньги, которые должен ныне стоить, учитывая декларируемое Intel моральное устаревание.

Однако найти такой Celeron ныне - не легче, чем золото на Пахре. Так что в итоге я остановился бы на Pentium-III Coppermine, в 100- или 133-мегагерцной ипостаси. Первая, естественно, несколько дешевле, вторая, по крайней мере, тероретически - производительней. Впрочем, о способах достижения оптимальной производительности я поговорю позже, после рассмотрения остальных компонентов базовой платформы. Из которых важнейшим, безусловно, является

Системная плата

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

На что тут следует обратить внимание в первую очередь? Формально говоря - на тип процессорного разъема. Коль скоро мы остановили свой выбор на Pentium-III, доступном ныне в конструктивах FC-PGA и SECC2 под разъемы Socket 370 или Slot 1, соответсвенно, подлежат рассмотрению оба варианта. Celeron уже давно выпускается только в исполнении для Socket 370, так что для него проблема выбора, казалось бы, не стоит.

Чему отдать препочтение? Процессоры под Slot 1 представлены в продаже достаточно широко, и подчас, как ни странно, дешевле, чем их аналоги FC-PGA. Однако все новые процессоры Intel, как обещано, будут выпускаться только под Socket 370. Так что с точки зрения возможности модернизации этот конструктви, казалось бы, предпочтительней. Кроме того, у него эффективней теплоотдача, он удобней с точки зрения сборки. Да и внушает больше доверия с механической точки зрения: представьте себе кирпич весом в полкилограмма (вместе с радиатором и кулером), вертикально висящий в корпусе башенного типа... Меня. честно говоря, удивляет, что до сих пор не слышно было о платах, разрушившихся под действием такой нагрузки.

С другой стороны, (почти) во всех случаях процессор в корпусе FC-PGA (как Pentium-III, так и Celeron) можно вставить в материнскую плату с разъемом Slot 1 с помощью специального переходника. И еще, вспомним, что Intel грозится в скором времени переходом на новый тип процессорного гнезда, уже не помню, с каким числом контактов. Нельзя исключить, что по появлении таких процессоров предприимчивые люди наладят и производство соответствующих переходников Socket-сколько-угодно-Slot 1. Так что слотовый вариант может оказаться даже более предпочтительным с точки зрения upgrade.

Впрочем, пути Intel неисповедимы, и новые процессоры могут оказаться архитектурно несовместимыми со старыми платами вообще. Так что рассматривать альтернативу Socket-Slot в расчете грядущей модернизации - все равно, что играть в лотерею с государством. К тому же мы не планируем жить вечно, по крайней мере с одной машиной (чай, не любимая женщина), рано или позно (скорее - первое) все равно потребуется ее менять.

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

В первую очередь - набора основной логики, именуемого по русски чипсетом. Каковой и определяет функциональные возможности "мамы".

Реально здесь и сейчас можно выбирать между чипсетами Intel (варианты в порядке старшинства - BX, 810, 820, 815, последние три - с подвариантами) и VIA (ApolloPro133 в нескольких модификациях). Более старые чипсеты Intel, иногда попадающиеся в продаже (LX, ZX) морально устарели и функционально ограничены, чипсеты VIA - представляют только исторический интерес. Чипсеты от остальных (двух) производителей (ALi и SiS) редки и не имеют, на мой взгляд, никаких положительных особенностей.

Начнем с чипсетов Intel. Без дальнейшего рассмотрения с негодованием отметаем 820-й - из-за дороговизны памяти RIMM, каковая только им нормально и поддерживается. Аналогично поступаем и с 810-ым, ввиду невозможности модернизации плат на его основе: это интегрированный чипсет, не позволяющий установить внешнюю видеокарту. Что при наличии каких-либо проблем с X-сервером (о чем - ниже) делает весьма затруднительной работу в графическом режиме.

Остаются - ветеран BX и чечако 815. С первым все ясно - никаких противопоказаний к его применению нет. Конечно, фактор морального старения имеет место быть: чипсетом этим теоретически не поддерживаются системная шина 133Mhz (и аналогичная шина памяти), интерфейсы жестких дисков выше ATA/33, режим AGP-4 и еще кое-какие модерны.

Однако современные платы на основе BX могут работать с 133Mhz и соответствующей памятью (PC-133), демонстрируя при этом результаты, близкие к рекордным. Правда, при этом шины PCI и AGP функционируют на нештатных частотах, что теоретически может вызвать проблемы в работе плат расширения. Но - как правило, не вызывает.

Что касается современных дисковых интерфейсов ATA/66 и ATA/100, их поддержка во многих платах на BX осуществляется отдельным котроллером. Не говоря уже о возможности установить, при необходимости, внешнюю плату PCI. Впрочем, в этой необходимости я сомневаюсь: быстродействие диска под Linux - это от лукавого (при досточном объеме оперативной памяти, конечно).

В общем, системные платы на основе чипсета BX - на сегодняшний день выбор достойный и надежный. учитывая, кроме того, доведенность BIOS, что в ряде случаев немаловажно: известны случаи, когда Linux просто отказывался грузиться на только что появившихся платах, и именно вследствие недоработок BIOS.

Тем не менее платы на чипсете BX могут показаться несколько, так скажем, старомодными. И потому при приобретении новой машины может появиться желание опробовать что-нибудь более современное. В качестве такового заслуживает рассмотрения чипсет i815. Он существует в двух модификациях, вторая из которых маркируется как i815e и отличается главным образом поддержкой дискового интерфейса ATA/100 (в первой - только ATA/66).

Если не вникать в детали архитектуры, основаня особенность i815 - штатная поддержка системной шины 133 Mhz и соответствующих делителей для шин PCI и AGP, которые в результате функционируют на своих родных частотах (33 и 66 Mhz, соответственно). Кроме того, i815 допускает асинхронную работу памяти. То есть при частоте системной шины 133 Mhz возможно использование памяти PC-100 (в отличие от чипсета BX, где частота шин системной и памяти жестко связаны). Последнее, к сожалению (почему - к сожалению, скажу позже) - неверно: при частоте шины 100 Mhz шина памяти, будь последняя хоть трижды стандарта PC-133, будет тоже работать на частоте 100 Mhz. Кроме того, этим чипсетом не поддерживается частота шины памяти 66 Mhz - то есть при модернизации системы старую память стандарта PC-66 использовать с ним нельзя.

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

Таким образом, архитектурно и функционально чипсет i815 - пожалуй, самый совершенный (по-крайней мере, среди Intel'овских). Почему же пока системные платы на его основе не являются однозначно лучшим выбором?

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

Первая причина - в том что встроенное видео чипсета i815 основано на весьма старого графическом ядре, аналогичном таковому видеочипа Intel 740. Собственной видеопамяти, естественно, нет - для графических операций используется системная память, что може сказаться на их быстродействии. Что же касается встроенного звукового кодека, то, помимо не очень высокого, мягко говоря, качества, он работает за счет ресурсов центрального процессора, что при прослушивании, скажем MPEG3-аудио может вызвать падение производительности.

Вторая причина в том, что и видео- и звуковые функции чипсета i815 плохо поддерживаются ядром Linux, поставляемыми с текущими версиями большинства дистрибутивов. Конечно, существуют соответствующие обновления и патчи. Однако перекомпиляция нового ядра - не то занятие, которым хотелось бы заниматься сразу после установки системы. Мы ведь для начала собрались просто поработать в Linux, не так ли?

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

Наконец, остановимся на чипсетах производства VIA - ApolloPro. Существующие его модификации различаются главным образом поддержкой дополнительных функций (программного звукового кодека, программных модемов, дополнительных портов USB), не принципиальных пока для пользователей Linux.

Прочие же характеристики их: поддержка частот системной шины 66/100/133 Mhz, памяти стандартов PC-66/100/133, дискового интерфейса ATA/66, шины AGP стандарта 4x. Что делает его почти идентичным по возможностям чипсету i815. А за счет отсутствия встроенного видео - и много более дешевым.

Большое достоинство этого чипсета - поддержка истинно асинхронного режима работы с памятью. То есть частота шины памяти может быть как ниже частоты системной шины, так и выше. Позволяя, соответственно, использовать память PC-133 со 100-мегагерцными версиями Pentium-III и даже с Celeron, имеющим принудительную частоту шины 66 Mhz. Почему это важно - будет видно из дальнейшего рассмотрения.

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

Второй недостаток - низкая производительность на многих тестах. Это действительно так. Но следует учесть, что вклад материнской платы в суммарную производительность системы не очень велик. И в реальной работе этого можно и не заметить. Кроме того, все известные мне тесты проводились под Windows 9x, Windows NT или Windows 2000. Достоверных количественных данных о поведении плат на чипсетах VIA под Linux - нет (хотя некоторые соображения такого рода я позднее сделаю).

Так что системные платы на чипсете VIA - вполне приемлемы, особенно учитывая их стабильно низкую цену. От однозначной их рекомендации я воздержусь только потому, что сам дела с ними почти не имел.

Следующий существенный момент при выборе "мамы" - форм-фактор. Здесь следует отдать решительное предпочтение типу ATX. Платы формата AT приемлемы только при модернизации старой машины, если решительно жаль потратиться на новый корпус. Кроме многих дополнительных функций (вроде температурного мониторинга), ATX'ные платы много удобнее при сборке.

Целесообразно выбирать платы полного типоразмера (то есть - не т.н. Micro-ATX). У последних существенно меньше возможности расширения и часто, по непонятным причинам, выше цена.

Прочие особенности системных плат (максимально поддерживаемый объем памяти, количество слотов расширения, имеющихся или поддерживаемых портов) в настоящее время более или менее унифицированы.

Так, практически все современные "мамы" имеют три слота для памяти типа DIMM. Более количество - редко, и поддерживается часто нештатными средствами, меньшего следует избегать. Нужно только учесть, что системные платы на чипсете i815 обеспечивает частоту шины памяти 133 Mhz только при заполнении двух слотов (хотя бывают и исключения). Это - дополнительный довод против их выбора; тогда как ограничение максимального объема в 512 Мбайт (прочие чипсеты поддерживают максимально от 1 до 2 Гбайт) - не принципиально, учитывая потенциальный круг пользователей.

Касательно слотов расширения - на большинстве плат (по крайней мере полноразмерных) имеется 1-2 слота ISA и 4-6 слотов PCI. Исключение - большинство плат на i815, не имеющих слотов ISA вообще.

С точки зрения выбора производителя - вопрос спорный. Я воздержался бы от приобретения максимально дорогих системных плат (вроде SuperMicro или Tyana): основные их достоинства проявляются только при серверных применениях (на которые они, собственно, и расчитаны).

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

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

Резюмируя, можно сказать: выбор системной платы - вопрос сложный и неоднозначный. В решении его может помочь чтение обзоров в компьютерных журналах и (особенно) в Сети. Наиболее полные материалы по этому вопросу можно найти на сайте http://ixbt.stack.net/. Не следует только буквально воспринимать результаты их тестирования на быстродействие: все они проводились под управлением Windows всякого рода и, в значительной мере, для игрового применения. На реальных задачах, да еще и под Linux, результаты могут быть иными.

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

Системная память

Все современные "мамы" поддерживают практически один тип памяти - SDRAM в конструктиве DIMM (о RIMM, ввиду его запредельной стоимости и сомнительных преимуществ, говорить не будем). Память эта бывает обычная и с т.н. коррекцией ошибок (ECC). Последняя в настольных применениях почти не имеет преимуществ (кроме облегчения кошелька пользователя ввиду существенно большей цены).

Поэтому обсуждению подлежат как будто три вопроса:

  • сколько памяти нужно
  • какого стандарта
  • и чьего производства.

Вопрос о количестве памяти имеет простой ответ: чем больше, тем лучше. В разумных пределах, разумеется. Каковые я определил бы в диапазоне 64-128 Мбайт. При меньшем объеме работа некоторых из описанных ниже графических сред (вроде KDE) и приложений (таких, как StarOffice) становится медленной и печальной. Больший же объем, хотя и дает выигрыш в скорости, особенно в многозадачной среде, может быть неоправдан с финансовой точки зрения.

С точки зрения стандарта нынче можно выбирать между двумя - PC-100 и PC-133. Первая - дешевле, хотя уже и не намного, вторая - быстрее. И не только теретически. И к тому же имеет некоторый запас прочности на случай разгона. Так что казалось бы. сомневаться в ответе на второй вопрос не приходится. Единственное "но" - эмпирически некачественные модули несколько более часты среди 133-мегагерцных...

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

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

Вот и все о памяти. К чему столь длинные рассуждения о базовой платформе? Для того, чтобы определиться, какова же она -

Оптимальная конфигурация

Главная проблема тут - в способах измерения производительности (сосчитать цену, думаю, с помощью калькулятора сможет каждый). Как я уже говорил, результаты тестирования. регулярно публикуемые в журналах и на специализированных сайтах, касаются почти исключительно быстродействия под Windows, изредка - под Windows. Лишь в обзорах журнала Компьютер-Пресс иногда приводятся измерения производительности под Linux, основанные, тем не менее, на несколько условных задачах (типа перекомпиляции ядра - часто ли такое проделывает даже заядлый линуксоид?).

Чтобы прояснить этот вопрос, я провел небольшое собственное исследование с целью определения вклада номинального быстродействия (то есть тактовой частоты) процессора, системной шины (Fast Side Bus, далее - FSB) и шины памяти в суммарную производительность системы. Разумеется на базе имеющегося в моем распоряжении оборудования. Которое включало:

  • системная плата Abit6SE на чипсете i815e, позволяющая менять частоту FSB в интервале от 100 до 153 Mhz с шагом 2-5 Mhz и при значении 128 Mhz и выше способной работать с частотой шины памяти как 100, так и 133 Mhz;
  • процессор P-III/733EB - Coppermine, FSB 133 Mhz, 256 кэша L2 на частоте процессора; поскольку все производимые ныне процессоры Intel имеют фиксированный коэффициент умножения (в данном случае 5,5), внутренная тактовая частота процессора в проводимом эксперименте изменялась пропорционально частоте FSB;
  • оперативная память 128 Мбайт PC-133 производства Micron, 8 нс;
  • видеокарта ASUS AGP-V3800Magic (на Riva TNT-2 M64) с 16 Мбайт памяти SDRAM;
  • винчестер IBM-DTLA-307015 объемом 15 Гбайт (7200 об/мин, ATA/100);
  • CD-RW Mitsumi CR-4802TE (запись/перезапись/чтение - 4/2/8);
  • звуковая карта PCI неизвестного генезиса на чипе ESS1938;
  • кое-какая дополнительная периферия (плата видеозахвата, принтер мышь, клавиатура и т.д.), принципиального влияния на производительность не оказывающая.

На диске имелись разделы:

  • primary partirion в 2,5 Гбайт под ext2fs;
  • swap-раздел размером 128 Мбайт;
  • два extended-раздела (под ext2fs) - /usr/local и /home, 1 и 11 Гбайт, соответственно.

Был устанавлен Mandrake 7.0/RE, содержащий ядро 2.2.14, glibc 2.1.2, XFree86 3.3.6. SVGA-сервер - из комплекта поставки. В XWindow было установлено разрешение 1024*768 при 16-битной глубине цвета.

Тестовые задачи выполнялись в консольном и графическом режиме.

В первом случае это была серия глубоко вложенных подкаталогов, содержащих небольшие файлы (HTML, GIF, JPEG, PNG, DjVu);они с помощью скрипта копировались из одного каталога в другой в пределах одного физического диска и одного его раздела. Как ни странно, это, в первую очередь, нагрузка не на диск, а на процессор (включая кэш и системную память). Поскольку, как буде сказано с одной из следующих глав, в Unix и Unix-подобных системах дисковые операции кэшируются в оперативной памяти. Кто не верит - смотрите внимательно на индикатор активности жесткого диска при копировании множества мелких файлов под Linux (суммарный объем их может достигать многих мегабайтов): редко когда загорится красный огонек. Во всяком случае, в данном конкретном случае максимальный размер файлов и суммарный объем их подбирался именно так.

Для тестов в графическом режиме была изготовлена геологическая карта размером 2560*1586 пикселей в формате некомпрессированного TIFF, файл размером 11,6 Мбайт. Этот файл в растровом редакторе GIMP (под управлением оконного менеджера WindowMaker) подвергался

  • вращению на фиксированный (90 градусов) угол
  • на произвольный (для определенности и единообразия - 52 градусов) угол;
  • гауссовому размытию с радиусом 10 пикселей.

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

Я не настаиваю на строго количественном характере своих тестов. Но уверен, что качественную оценку чистого быстродействия конкретного "железа" в реальной работе они дают. Ничуть не менее значимую, чем кадры в секунду при игре в Quacke. Хотя бы потому, что под последний все, кому ни лень, оптимизируют и железо, и драйверы к нему.

Сначала измерения проводились при штатной частоте FSB 133 Mhz и частотах шины памяти 100 и 133 Mhz. Затем с частота FSB плавно повышалась (с нимиально возможным шагом) от 137 до 153 Mhz (соотвествующих внутренней тактовой частота процессора от 754 до 742 Mhz) . К сожалению, в этом случае система оказалась работоспособной только при частоте шины памяти 100 Mhz, на которой и были выполнены измерения. После этого, напротив, при фиксированной частоте шины памяти 133 Mhz, частота FSB снижалась до 128 Mhz (внутренняя частота 704 Mhz). Ниже этого значения системная плата допускала только 100-мегагерцную шину памяти.

Результаты измерений, приведенные в таблице 1 оказались весьма неожиданными, по крайней мере для меня.

Таблица 1. Абсолютная производительность, с
Конфигурация 1 2 3 4
704-128-133 6.97 8.53 28.13 19.72
715-130-133 6.53 8.50 27.07 19.68
733-133-100 7.19 9.78 27.94 19.81
733-133-133 5.69 8.29 24.71 18.37
754-137-100 4.60 8.81 27.32 19.19
754-137-133 Не загрузилось ядро
770-140-100 4.34 9.19 27.63 19.05
770-140-133 Машина не запустилась
800-145-100 6.58 9.28 26.40 18.50
825-150-100 6.59 8.50 26.63 17.97
842-153-100 6.97 9.72 25.81 17.88

Примечание: 1 - копирование файлов, 2 - вращение на угол 90о, 3 - вращение на произвольный угол, 4 - гауссово размытие; меньшие значения, естественно, соответствуют лучшему результату.

Можно видеть, что при снижении частоты шины памяти до 100 Mhz повышение частоты FSB (и соответствующее повышение внутренней тактовой частоты процессора) не только не дает никакого выигрыша, но в ряде случаев приводит даже к снижению производительности. Это наглядно можно видеть на рис. 1.

Рис. 1. Сравнительное быстродействие при различных установках частоты системной шины и памяти

Максимальный выигрыш за счет быстродействия памяти достигается для теста копирования файлов в консольном режиме, где быстродействие подсистемы процессор-кэш-системная память не осложняется влиянием видеосистемы. Для тестов в графическом режиме различия несколько сглаживаются, так как изрядную часть времени каждой оперции занимает перерисовка экрана, определяемая, в том числе, и видеокартой.как уже говорилось, за счет нивелирующего влияния видеподсистемы (табл. 2).

Таблица 2. Производительность относительно P-733/133/133, %%
Конфигурация 1 2 3 4
704-128-133 122 103 114 107
715-130-133 115 103 110 107
733-133-100 126 118 113 108
733-133-133 100 100 100 100
754-137-100 81 106 111 104
770-140-100 76 111 112 104
800-145-100 116 112 107 101
825-150-100 116 103 108 98
842-153-100 122 117 104 97

Примечание: обозначения те же, что в табл. 1. Меньшие значения соответствуют лучшему результату.

Интересно, что в ряде тестов быстродействие системы при пониженных значения FSB и 133-мегагерцной шине памяти оказывается выше, чем при повышении частоты FSB и 100-мегагерцной шине памяти. Хотя в крайних случаях разница во внутренних тактовых частотах существенно превышает 100 Mhz, составляя почти 30% от штатного значения в 733 Mhz.

Я далек от того, чтобы абсолютизировать полученные цифры. Однако, на мой взгляд, тенденцию (графически представленную на рис. 2) они безусловно отражают. А именно: снижение частоты шины памяти (и, соответсвенно, ее абсолютного быстродействия) приводит к ощутимому снижению быстродействия на реальных приложениях Linux. Которое не только не компенсируется увеличением частоты FSB и внутренней частоты процессора, но в ряде случаев даже усугубляется ими.

Рис. 2. Зависимость быстродействия от частоты системной шины и памяти для различных задач

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

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

Каковы практические следствия проведенного исследования? С точки зрения цена/производительность (по крайней мере для работы под Linux) сочетание относительно дешевого процессора со 100-мегагерцной шиной (речь идет только о продукции Intel) и памяти PC-133 может дать больший эффект, чем более дорогого 133-мегагерцного процессора и памяти PC-100. Разумеется, если чипсет поддерживает асинхронную работу памяти.

Это ставит в заведомо невыгодное положение чипсет i815 не дающий возможность использования 133-мегагерцной шины памяти при 100-мегагерцной шине процессора, при том, что числитель дроби непомерно возрастает. Напротив, применение чипсетов VIA допускает такое сочетание и к тому же способно снизить этот числитель до предела.

Второй, побочный, вывод - сомнение в целесообразности разгона процессора. Рассуждая теоретически, можно предположить, что максимальный выигрыш от него можно получить на "мамах" на старом добром чипсете BX, тех, которые (полу-) штатно поддерживают 133 Mhz на FSB. Ведь здесь пропорционально скорости последней, будет возрастать и быстродействие памяти. Если послденяя сдюжит, конечно...

Видеосистема

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

Начнем с видеокарты. Разумеется, сам по себе Linux в консольном режиме может рабоать с абсолютно любым адатером, вплоть до древнейших MDA, CGA или Hercules. Однако использование XWindow накладывает на видеокарту довольно жесткие ограничения.

Дело в том, что поддержка графического режима в Linux осуществляется за счет так называемых X-серверов. Это - отдаленные аналоги видеодрайверов в DOS/Windows или OS/2. В отличие от последних, разрабатываемых для индивидуальных моделей видеокарт, обычно - их производителями, X-серверы предназначаются для серии моделе, построенных на одном из чипов (или даже нескольких однотипных чипах). А поскольку до недавнего времени производители чипов и видеокарт Linux не только не подждерживали, но и не публиковали технических спецификаций (полагая их своей коммерческой тайной), обеспечить корректную поддержку всего изобилия графических адаптеров, существующих на свете, было практически невозможно. По этой же причине специальные X-сервера для новых видеоадаптеров появлялись существенно позже, чем начало их широкой продажи.

До недавнего времени общее правило подбора видеокарты можно было сформулировать так: чем станее чип, на котором она основана, тем больше шансов на нормальную работу в XWindow.

Правда, существуют так называемые универсальные X-серверы - VGA- и SVGA-сервер. С их помощью можно обычно худо-бедно запустить графический режим даже при отсутствии специального X-сервера или некорректной его работе. Но - далеко не во всех случаях.

Другой возможный выход из положения - приобретение коммерческих X-серверов, разрабатываемых специально для некоторых чипов и видеокарт. По понятным причинам, этот вариант мы рассматривать не будем. К тому же он осуществим обычно для дорогих видекарт высокопрофессионального уровня.

Ныне положение изменилось. Во-первых, ряд производителей обнародовали спецификации выпускаемых (и даже разрабатываемых) ими чипов и видеокарт. Во-вторых, некоторые из них сами разрабатывают X-серверы для своих карт и распространяют их на различных условиях, но, как правило, бесплатно. В третьих, с появлением XFree86 4.0 изменилась сама модель подхода к поддержке видеокарт: в этой версии вместо многочисленных специализированных X-серверов (ориентированных иногда на такую антику, как ATI Mach 8 - много вы их видели в продаже в последние годы?), существует только один общий SVGA-сервер.

В результате ныне поддержка новых видеокарт в XWindow появляется через считанные недели после их появления в продаже. Более того, из 4-й версии XFree86 исчезла поддержка ряда старых видеокарт. Например, на некогда популярных в народе модификациях S3 Trio.

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

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

По собственному опыту могу сказать следующее. Практически исключены проблемы для видеокарт на основе чипов производства NVIDIA. Начиная по крайней мере с Riva 128 и кончая всеми вариантами Riva TNT2. С чипом GeForce, судя по многочисленным данным, тоже все в порядке, но сам - не пробовал.

Причина - не в том, что продукция NVIDIA сама по себе такая замечательная (хотя лично мне - очень нравится). Просто эта фирма первой из крупных производителей чипов начала разрабатывать X-серверы для поддержки своей продукции. Включая даже поддержку OpenGL, по крайней мере - для игровых применений. И распространять все это не просто бесплатно, но и с исходными текстами. В результате в любом современном дистрибутиве Linux есть полноценные средства для функционирования карт любых производителей, основанных на чипах NVIDIA.

Нет проблем и современными моделями фирмы Matrox - G200 и G400. Посредством SVGA-сервера они нормально функционируют с версиями Xfree86 как 3.3.6, так и 4.x.x.

Мне лично много неприятностей доставляла продукция фирмы ATI. В свое время я последовательно возился с картами на чипах Mach 32, Mach 64 и Rage 128. И каждый раз это заканчивалось сменой видеокарты. Ныне, судя по данным на сайте фирмы и на сайте Reactor Critical, они взялись за ум и также разрабатывают собственныеSVGA-серверы. Однако по сию пору их продукцию я инстинктивно избегаю. Хотя своего мнения никому навязвать не собираюсь...

Традиционно хороша поддержка плат на чипах фирмы 3DLabs, в частности - Permedia(хотя мне и не довелось с ними пообщаться). Причина - в том, что на этих чипах издавна выпускает профессиональные видеокарты немецкая фирма Else. Тесно сотрудничающая с немецкой же Suse - производителем одного из широко распространеннных дистрибутивов Linux.

Относительно таких распространненных изделий, как карты на чипах 3Dfx также ничего не могу сказать по личному опыту. Но, судя по сведениям с разных сайтов, современные их изделия (например Savage в разных вариантах) работают в XWindow нормально.

А вот что, скорее всего, не заработает или заработает только в VGA-режиме (640 на 480 при 16 цветах) - так это видеосистема, встроенная в чипсеты i810 и i815 (по крайней мере, без дополнительных манипуляций). Хотя графическое ядро, на котором она основана - это старый (но не скажу добрый) Intel 740, поддержка котрого в XWindow реализована достаточно давно. Как уже говорилось в предыдущем разделе, для реализации встроенной видеосистемы на материнских платах с этим чипсетом требуется модернизация и перекомпиляция ядра Linux. Правда, ко времени чтения вами этих строк ситуация, скорее всего изменится - текущие версии дистрибутивов будут содержать ядро с полной поддержкой 810-го и 815-го.

Какой объем видеопамяти необходим? Нынче, думаю, в продаже не найти карты с видео-ОЗУ меньше 8 Мбайт. Что вполне достаточно для работы с истинным (24- или 32-битным) цветом при любом доступном и разумном разрешении. Однако при наличие возможности следует приобретать карту с максимальным количеством видеопамяти. На сей счет у меня существует ряд наблюдения: скорость выполнения двухмерных графических операций в XWindow (в частности, перерисовки экрана) прямо пропорциональна объему видеопамяти. В отличие от Windows, где наращивание видео-ОЗУ выше определенного предела не оказывает никакого влияния на быстродействие 2D-графики.

К сожалению, я не могу подтвердить это количественными тестами, так как наблюдения были сделаны, хотя и близких, моделей. Так, смена карты Matrox G200 с 8 Мбайт памяти на Matrox G400 с 16 приводит росту скорости перерисоки экрана в GIMP минимум процентов на тридцать. Конечно, карты эти основаны на разных чипах, однако, как я представляю, теоретический предел быстродействия двухмерной графики был достигнут еще для моделей Millenium того же производителя.

Аналогичный, хотя и менее явный, результат отмечался и при смене карты на Riva TNT2 с 16 Мбайт на карту с чипом Riva TNT2 Magic с 32 Мбайт (в обоих случаях - типа SDRAM). Что особенно показательно, так как во втором случае мы имеем дело с менее производительной шиной.

В отношении монитора требование одно - экранное разрешение. Комфортное и эффективное использование практически любого оконного менеджера требует минимум 1024 на 768 пикселей. А в такой графической среде, как KDE, при более низком разрешении работать, пожалуй, нельзя вообще. И весьма желательны если не 1280 на 1024, то по крайней мере 1152 на 854 пикселя.

Соответственно, при таком разрешении должна поддерживаться и приемлемая частота обновления - минимум 75 Hz (лучше - 80-85). Конечно, при ручной настройке XWindow можно задать любую частоту кадровой развертки. Но это, как говорят резонные люди, чревато его повреждением.

Конечно, ныне такие требования не являют собой чего-то из ряда вон выходящего. И им удовлетворяют практически все 17-дюймовые и многие 15-дюймовые модели. Однако в последнем случае нужно быть Соколиным Глазом, чтобы работать хотя бы при разрешении 1024 на 768 пикселей. А поскольку практика показывает, что глаз у человека - всего два, и со временем они лучше не становятся, желательно все же озаботиться 17-ю дюймами экрана. А если вдруг привали наследство от дяди из Америки - то 19-ю. Большего, пожалуй, не выдержат ножки наших столов и габариты квартир.

Дисковая система и прочие накопители

Дисковая система - следующий элемент компьютера, без которого существавание его невозможно (давно прошли те времена, когда операционная система, прикладные программы и данные умещались на одном флоппи-диске).

Правда, здесь-то никаких особых премудростей нет. Если не рассматривать случай со SCSI-дисками... А его мы, пожалуй, рассматривать не будем за отсутствием лишних денег. Ведь их скоростные и функциональные преимущества относительно современных IDE-винчестеров практически сошли на нет, а вот преимущество в цене (особенно учитывая стоимость SCSI-контроллера) - осталось.

Впрочем, если вы все же расколетесь на SCSI-диск и контроллер, единственное, что следует знать - поддерживается ли Linux модель последнего. Что можно узнать из тех же листов совместимости - широко распространненных контроллеров SCSI не так уж и много, и обновляются они не столь часто, как видеокарты.

И так, речь пойдет исключительно об IDE-винчестерах. Вернее, их улучшенной разновидности (Enchanced IDE - сокращенно IDE). А еще точнее - об различных вариантах дискового интерфейса UltraATA. Каковых на сегодняшний день - три: ATA/33, ATA/66 и ATA/100.

Дисков с первым типом в продаже, пожалуй, и не найдешь. Однако именно по нему будет осуществляться взаимодейтсвие между диском и системной платой, основанной на чипсете BX без дополнительных контроллеров. Да и при наличии их, или при более новых чипсетах - скорее всего, тоже. Поскольку только этот интерфейс без дополнительных ухищрений и поддерживается ядрами Linux, входящими в состав текущих версий большинства дистрибутивов.

Что касается ATA/66 и ATA/100, то их поддержку можно обеспечить специальными патчами к ядру. Однако не думаю, что вы будете этим заниматься сразу после установки системы. Как уже говорилось вкратце (и будет говориться подробнее), быстродействие диска при работе в Linux - понятие достаточно условное. Разумеется, имеющие опыт его использования на серверах со мной не согласятся, но в настольных приложениях (при достаточном объеме памяти) - это так.

Так что смело покупайте абсолютно любой диск. Меньше восьмигигабайтника все равно можно найти только по большому блату. А на наиполнейшую установку системы и всего мыслимого прикладного софта заведомо хватит 3 Гбайт. Сколько же могут занять ваши данные - знаете сами, и получше меня.

Здесь же уместно остановиться и на прочих накопителях и носителях информации, в том числе переносимых. Из которых практическое значение для читателей этой книги могут иметь, во-первых CD ROM и CD-R/RW, во-вторых - Zip и LS-120 (и прочие варианты т.н. супердискет).

Для Linux подойдет абсолютно любой CD ROM из числа ныне выпускаемых (впрочем, из невыпускаемых - тоже, так что при модернизации старый привод можно оставлять смело). Ну а новый, скорее всего, будет IDE-моделью (вряд ли вы купите SCSI-привод), с которой никаких проблем возникнуть не может.

Несколько подробнее скажу о CD-R/RW. Последние, на мой взгляд, являются ныне оптимальными (и наиболее универсальными) устройствами для хранения и перноса данных. Неоднократно "публично, и устно, и, письменно, утверждал я, что это истина". К тому же функционально современные их модели способны полностью заменить читающий привод CD ROM. Существенное снижение цен сделало CD-R/RW (близкое к цене пары читающий CD ROM - Zip или LS-120) к тому же доступными широким народным массам, в том числе и потенциальным пользователям Linux.

Сам по себе Linux поддерживает только SCSI-модели, тогда как дешевизной и доступностью отличаются, естественно, модели с IDE-интерфейсом. Однако и их использование возможно с помощью предоставляемой Linux возможности эмулировать SCSI-протокол для IDE-устройств (не только CD R/RW, но - любых), о чем подробнее скажу в соответствующей главе. Единственное неудобство - в этом режиме привод может перестать воспринимать аудио- и видео-CD.

Тем не менее, с точки зрения облегчения жизни для CD-R/RW можно позволить себе и SCSI-интерфейс, особенно если читающий привод уже есть. Такие модели с низкой скоростью чтения (а зачем высокая скорость для пишущего устройства? впрочем, и для читающих устройств высокие скорости избыточны, предназначаясь только для облегчения наших карманов) иногда попадаются по достаточно низкой (чуть больше сотни уев) цене. Предпочтение следует отдавать "коробоной" вариантам - они чуть дороже, но включают в себя простенькую (но вполне достаточную для данного устройства и, главное, обычно стандартную, то есть поддерживаемую и Linux) SCSI-карточку и соответствующий кабель. Конечно же, если вы не послушались голоса своего кошелька и приобрели SCSI-диск с контроллером, выбирайте варианты OEM-поставок - они дешевле и не содержат ничего лишнего.

Приобретение устройств типа Zip или LS-120, на мой взгляд, финансово неоправданно, вследствие относительной дороговизны носителей в расчете на Мбайт информации. Тем не менее, необходимость в них подчас может возникнуть - для обмена данными с теми, кто их широко применяет. Так вот, в этом случае оба эти устройства вполне могут использоваться, так как штатно поддерживаются ядрами Linux современных дистрибутивов.

Единственные осложнения могут возникнуть с внешними моделями Zip, подключаемыми через LPT-порт. И то только при наличие принтера, так как последний под Linux не будет работать через транзитный LPT-разъем Zip-привода. Придется либо переключать их по мере надобности (при обесточенной машине и обоих устройствах, иначе выгорание какого-либо из разъемов - вопрос только времени), либо озаботиться покупкой соответствующего переключателя. Причем - исключительно ручного, автоматические переключатели ориентированы на работу в Windows и в Linux работать не будут.

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

Прочие устройства для хранения и переноса информации вряд ли придется использовать моему потенциальному читателю. Так, кассеты для дешевых стриммеров (подключаемых к флоппи-интерфейсу) объемом не превосходят CD-диски, при существенно большей сложности в обращении. Ну а высокоемкие дорогие стриммеры - они дорогие и есть, требуя к тому же SCSI-контроллера. Тем не менее вы вполне можете использовать стриммер под Linux. Как- об этом подробно написано в книге В.В. Водолзкого "Путь к Linux". Там же можно найти сведения и о использовании в Linux магнитооптических приводов, буде такое желание появится.

Указательные устройства

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

Т.н. Windows-клавиатуры могут использоваться как обычные. Дополнительные же Windows-клавиши по меньшей мере не мешают. А иногда - и помогают, так как часто их можно переопределить для вызов каких-либо специальных операций.

Мышам и трекболам в любом руководстве по Linux обычно уделяется много места. За счет описания многочисленных моделей, подключаемых к специальной плате расширения (т.н. bus mouse). Думается, это не актуально - ныне в продаже таких устройств не найти. Практически имеют применение только сериальные мыши (подключаемые к COM-порту) и мыши с разъемом PS/2. Первые, в связи с распространением системных плат форм-фактора ATX, на которых разъемы PS/2 для мышей и клавиатур - непременный атрибут, постепенно вымирают, сохраняясь в качестве реликтов у пользователей-консерваторов.

Существует некоторая путаница с номенклатурой мышиных протоколов, приводящая иногда к неправильной настройке мыши, особенно в XWindow. Каковых (если не считать шинных мышей) широким распространением пользуются три: т.н. PC-mouse, Microsoft-mouse и Logitech-mouse. Однако если, располагая современной мышью Logitech, вы выберете при установке Linux соответствующий протокол, скорее всего, она будет работать некорректно (или не будет вообще). Поскольку ныне все они - PC-совместимые. И соответствующую опцию (именуемую обычно Standart или Generic Mouse с соответствующим количеством кнопок и для соответствующего разъема) и следует выбирать. Так же как и для мышей практически всех остальных производителей, кроме, разумеется, Microsoft.

Для работы в Linux предпочтение следует отдавать трехклавишным мышам, так как средняя клавиша очень активно используется во многих оконных менеджерах и программах графического режима. Однако для двухклавишных мышей (типа той же Microsoft) можно включить эмуляцию средней клавиши (одновременным нажатием двух имеющихся).

Ныне в Linux поддерживаются и скроллирующие мыши, происходящие от Microsoft Intellimouse, а также ее клоны, например Genius NetScroll со всеми вариациями. Правда, для включения колесика нужно проделать некоторые манипуляции руками.

Какие?

Во-первых, необходима утилита IMWheel. Она входит в состав многих нынешних дистрибутивов (Mandrake 7, BestLinux 2000). Предназначена вроде специально для MS IntelliMouse (откуда и название), но работает и с другими скроллирующими мышами (с Genius - точно, с прочими не проверял).

Во-вторых, в файле XF86Config в секции Pointer, сразу после Protocol и Device, следует внести строку

ZAxisMapping     4     5

Втретьих, - изменить строку Protocol. Из логики следует, что значение этого параметра должно быть "NetMousePS/2" или что-нибудь в этом роде. Это не совсем так, Genius ScrollMouse при этом просто отказывается работать. Как ни странно, с ним проходит вариант

Protocol    "IMPS/2"

И, наконец, необходимо отключить строки

#Emulate3Buttons  
#Emulate3Timeout    50

то есть эмуляцию средней клавиши одновременным нажатием двух крайних. Колесико при этом ведет себя как нормальная средняя клавиша трехклавишной мыши.

Сказанное относится к XFree86 версии 3.3.x. В 4-й версии действия аналогичны. Только строка про оси должна, в соответствие с изменившимся форматом файла XF86Config, иметь следующий вид:

Option "ZAxisMapping"     "4     5"

Ну и, неплохо, запустить эту программа, например, в KDE внеся ее в папку "Автостарт", в прочих оконных средах через параметры командной строки или иным предусмотренным на сей предмет образом. В IceWM, кроме того, нужно в preferences отключить строку UseMouseWheel, специально предназначенную для поддержки скроллирующих мышей. Напоминает о старом добром советском устройстве, специально предназначенном для попадания в ..., скажем так, ухо...

Надо сказать, что колесо в XWindow работает не совсем так, как в Windows просто: оно прокручивает экран не построчно, а постранично. То есть эмулирует нажатие клавишь PageUp и PageDown. Зато в окне терминала при наличии приглашения оно прокручивает историю команд. Ну и содержимое окна терминала - естественно, тоже, если в данном эмуляторе скроллинг вообще предусмотрен.

Все сказаное о мышах относится и к трекболами. Обычно в инсталляционных настройках они не выделяются в отдельные пункты: нужно подобрать соответствующую вашей модели мышь. Например, при трехклавишном (а двухклавишных я в глаза не видел, хотя четырехклавишные - попадались) трекболе с разъемом PS/2 (вроде Logitech Trackman) выбирается просто Generic PS/2 3-Button Mouse или нечто похожее.

Графические планшеты, подключаемые к последовательному порту, работают точно также, как и мыши с соответствующим интерфейсом. По крайней мере, за дешевые модели типа Genius EasySketch я ручаюсь. Правда, определять, какая из клавиш на корпусе корпусе пера соответствует средней и правой клавише мыши, приходится экспериментальным путем. Но нажатие пера всегда эквивалентно нажатию левой клавиши мыши. Другое дело, что без специального программного обеспечения (в комплекте таковое - только для Windows и иногда для AutoCAD под DOS) такие планшеты, насколько мне известно, не будут работать в режиме дигитайзера.

Относительно недавно появившихся планшетов с USB-интерфейсом, особенно в гарнитуре со скроллирующей мышью (например, производства Wacom), трудно сказать что-то определенное. По имеющимся сведениям, поддержка такого рода устройств в качестве штатной опции имеется в XFree86 версии 4.x.x, но лично проверить пока возможности не было.

Печатающие устройства

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

Начнем с лазерных устройств. Поскольку штатно печать в Linux осуществляется через генерацию PostScript, идеальным выбором был бы принтер с аппаратной поддержкой этого языка (штатной или опциональной). Однако финансово это, скорее всего, окажется обременительным. Тем не менее, Linux обладает средствами программной эмуляции PostScript, и потому способен печатать на большинстве лазерных принтеров.

Так, беспроигрышным вариантом будет любой посильный карману Hewlwtt-Packard LaserJet или Lexmark Optra. Правда, реализованное в последних (средних и старших) моделях и тех, и других разрешение 1200 dpi использовать, скорее всего, не удастся - оно достижимо только при использовании фирменных драйверов, имеющихся, разумеется, только в Windows-версиях. А посему за старшими моделями гнаться и не следует,

А вот что следует - так это категорически избегать т.н. Windows- (или GDI-) принтеров. К которым относятся, например, распространенные у нас младшие модели OkiPage (продающиеся по цене менее 300 долларов). Они под Linux работать не будут с вероятностью, близкой к 100%.

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

Проблема GDI-устройств для струйников стоит еще более остро, чем для лазерников, поскольку процент их в этом классе устройств больше. При этом и документация, и специальные обзоры в печати и Сети часто забывают упомянуть о такой мелочи, как невозможность печати из какой-либо системы помимо Windows. А иногда - так просто вводят в заблуждение, не знаю уж, сознательно или из лени проверить. Как же отличить эти зловредные, с точки зрения Linux, устройства?

В общем случае, если принтер способен печатать из чистого DOS (но не из DOS-сессии в Windows! - это ничего не доказывает), он с вероятностью 99 и 9 в периоде %% будет печать и из Linux. Так что если в комплекте с печатающим устройством есть драйверы под DOS - приобретать его можно безбоязненно.

Обратное - в общем случае неверно. Некоторые производители в последнее время просто не комплектуют свои модели, особенно младшие, DOS-версиями драйверов. На этом основании в обзорах можно встретить утверждения, что струйники Epson Stylus Color, например 400-й серии, способны печатать только из Windows. Что неверно - просто иных драйверов в комплекте с ними нет. А так - это вполне нормальные человеческие устройства, при соответствующей поддержке могущие работать из любой системы. По крайней мере, за Epson Stylus Color 400 - ручаюсь, он у меня под Linux прекрасно печатал.

Второй симптом дурной болезни GDI - отсутствие в документации явных указаний на то, как выполнить т.н. self-тест принтера. То есть печать тестовой страницы без подключения к компьютеру, только при подаче питания. Поскольку GDI-принтер не имеет ни своего процессора, ни памяти, печатать он способен только под управлением машины с определенной (догадайтесь, какой) операционкой, невозможность самотестирования устройства может свидетельствовать о его Windows-предопределенности.

Впрочем, и этот симптом неоднозначен. Так, в документации на стоящий передо мной Hewlett Packkard DeskJet 840C я не нашел ни намека на способ проведения self-теста. Тем не менее, под Linux он работает исправно.

Конечно, самый простой способ проверить принтер на вшивость (то есть на принадлежность к GDI-устройствам) - это подключить его к компьютеру, загрузить последний с припасенной дискетки с MS DOS любой версии и набрать в командной строке что-нибудь типа

copy autoexec.bat prn

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

Основываясь на своем опыте, могу сказать, что таковым являются (из недорогих и широко распространенных:

  • Cannon BubbleJet 200-й и 600-й серий, снятые с производства но иногда продающиеся, причем часто - так, что дешевле только даром; некоторые из них (например Cannon BJ250 аппаратно русифицированы: явное указание на это - однозначное доказательство не-GDI изделия; однако их выпускаемые ныне аналоги (1000-й и 2000-й серии) - чистые Windows-принтеры;
  • Hewlett Packard DeskJet 400-й и 600-й (за исключением модели HP ВJ 610), а также, насколько мне известно, 800-й серий; модели же 700-тые - это Windows-принтеры;
  • все, насколько я знаю, выпускаемые ныне струйники Epson, за исключением сери Photo (про нее просто не могу сказать ничего определенного).

Лично я пользую под Linux струйник Hewlett Packard DeskJet 840C, и качеством печати текста (и посредством PostScript, и из StarOffice, использующем собственную систему печати) более чем доволен. Качество штриховой графики также удовлетворительное. Ну а для фотореалистической печати нужен, наверное, не столько другой принтер, но и другая операционка... Впечатления об этом принтере и его функционировании под Linux были подробно описаны мной в обзоре на сайте iXBT.

Модемы, мультимедиа и прочая периферия

Осталось рассмотреть только коммуникационное и мультимедийное оборудование, а также прочую периферию.

Начнем с модемов. В отношении их действует то же правило, что и для принтеров: поддерживаются практически все из разновидности, за исключением ориентированных исключительно на Windows, так называемых программных, или Win-модемов. К последним относятся многие современные внутренние модели для шины PCI, отличительная особенность которых - цена не выше 50 долларов (часто - до 20-30).

В отличие от внутренних, все внешние модемы для последовательного порта, насколько мне известно, к win-модемам не относятся. И, скорее всего, будут нормально работать под Linux.

Надо сказать, что для win-модемов ситуация не столь критична, как для Windows-принтеров. Последнее время на многих сайтах появляется программное обеспечение для использования в Linux не только типичных win-модемов (все же имеющих какие-никакие функции, поддерживаемые аппаратно), но и чисто программных модемов для слота AMR, имеющегося на системных платах, основанных на чипсетах i810 и i815. Правда, самих таких модемов я у нас в продаже не видел.

Тем не менее, работоспособность такого софта для Win-модемов широко пока не проверялась. И гарантировать ее в общем случае некому. Так что острожней все-таки выбрать нормальный внешний модем с последовательным интерфейсом.

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

Из всех мультимедийных устройств для нас важнейшим является звуковая плата. Ситуация с их поддержкой в Linux в настоящее время вполне удовлетворительная. Гарантированно будет работать продукция Sound Blaster и 100-процентно совместимая (впрочем, как измерить совместимость в процентах - я не очень представляю). Поддерживаются также дешевые беспородные платы на общераспространенных чипах вроде ESS, Yamacha OPL-xx и подобных им. Единственно, где возможны сложности - это с дорогими платами профессионального уровня. Впрочем, если у вас такая - вопрос вы явно знаете лучше меня.

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

В заключение немного о сканерах. Ряд их SCSI-моделей, в том числе и с собственными, не полнофункциональными, платами, поддержитваются в Linux, тогда как сканеры с параллельным интерфейсом - как правило, нет. В то же время объявлена поддержка новых USB-сканеров.

Бесперебойники

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

Выбор ИБП с точки зрения мощности сложности не представляет: вы легко можете расчитать свои потребности, исходя из энергопотребления монитора и системного блока. По опыту - для Pentium-III в конфигурации, описанной выше в этой главе (в корпусе с 250-ваттным блоком питания) и довольно старого 17-дюймового монитора без развитых средств энергосбережения (и полном их отключении на уровне BIOS Setup) мне вполне хватает простенького APC BackUPS 300 (ведь "есть обычай на Руси - подключаться к APC). Времен его автономной работы с такой системой более чем достаточно, чтобы при отключении тока (а в моей деревне это обычное дело) закрыть все приложения, корректно выйти из графической среды, войти в систему как суперпользователь и дать команду отключения компьютера (что все это значит - расскажу в соответствующем месте).

Если напряжение в сети обычно стабильно и близко к номиналу (хотя я не знаю места, по крайней мере в Москве и Подмосковье, где вольтметр показал бы законные 220), можно обойтись еще более простым и дешевым устройством, типа продаваемых у нас под именем PowerCom. В противном случае следует обращать внимание на пороговое значение перехода в автономный режим, во-первых, и возможность его ручной установки (скажем, dip-переключателями, как на моей модели) - во-вторых.

Наконец, если предполагается оставлять включенный компьютер без присмотра, необходимо обзавестись ИБП с обратной связью, вроде какой-либо модификации APC BackUPS Pro (они производятся и другими фирмами, но, как правило, стоят дороже). Такое устройство соединяется кабелем с последовательным портом компьютера. И при отсутствии питания в сети дольше некоего (обычно регулируемого) времени специальное программное обеспечение производит корректное завершение работы и отключение машины.

Идущий в комплекте с такими устройствами софт расчитан, как правило, на работу под управлением Windows и, иногда, коммерческих версий Unix. Тем не менее, и в Linux такое устройство может быть использовано полноценно. Как - можно прочитать в упоминавшейся выше книге В.Водолазкого.



Литература по Linux