su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


Глава 1

Подбираем снаряжение


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

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

В случае с использованием Linux — ситуация аналогична. С одной стороны, система эта знаменита своей нетребовательностью к ресурсам. Теоретически, для ее установки и запуска достаточен (если речь идет об архитектуре 80х86) любой 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-11/III, вариациях на тему AMD-K6, AMD Athlon и продукции в бозе почившей фирмы Cyrix и ее продолжателе VIA.

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

Помимо этого, следует учесть, что ряд дистрибутивов Linux (например, описываемый ниже Linux Mandrake) оптимизирован для процессоров Pentium/Pentium-11/III. И есть сведения, что с процессорами-клонами (конкретно — именно Cyrix и линии AMD-K6) в этом случае возможны проблемы. С другой стороны, в Сети можно найти ядра системы, оптимизированные именно для конкретных процессоров-клонов. Что, по некоторым данным, повышает производительность системы. Не имея собственного опыта по этому поводу, я воздержался бы от рекомендаций. Но лично — ни Cyrix, ни Кб приобретать бы не стал: экономия грошовая, в производительности они сильно уступают современным кристаллам 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-11 или Celeron серии А. Последний вообще, на мой взгляд, окажется самым удачным выбором во многих случаях. Особенно если удастся запустить его на частоте системной шины 100 МГц — в этом случае он сполна оправдает те деньги, которые должен ныне стоить, учитывая декларируемое 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. Так что слотовый вариант может оказаться даже более предпочтительным с точки зрения модернизации.

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

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

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

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

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

Остаются ветеран ВХ и чечако3 815. С первым все ясно — никаких противопоказаний к его применению нет. Конечно, фактор морального старения имеет место быть: чипсетом этим теоретически не поддерживаются системная шина 133 МГц (и аналогичная шина памяти), интерфейсы жестких дисков выше АТА/33, режим AGP-4 и еще кое-какие модерны.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поэтому обсуждению подлежат как будто три вопроса:
сколько памяти нужно;
какого стандарта;
чьего производства.

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

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

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

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

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

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

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

Чтобы прояснить этот вопрос, я провел небольшое собственное исследование с целью определения вклада номинального быстродействия (то есть тактовой частоты) процессора, системной шины (Fast Side Bus, далее — FSB) и шины памяти в суммарную производительность системы. Разумеется на базе имеющегося в моем распоряжении оборудования, которое включало:
системную плату Abit6SE на чипсете i815e, позволяющую менять частоту FSB в интервале от 100 до 153 МГц с шагом 2—5 МГц и при значении 128 МГц и выше, способную работать с частотой шины памяти как 100, так и 133 МГц;
процессор Pentium-111/733EB — Coppermine, FSB 133 МГц, 256 Кбайт кэша L2 на частоте процессора; поскольку все производимые ныне процессоры Intel имеют фиксированный коэффициент умножения (в данном случае 5,5), внутренняя тактовая частота процессора в проводимом эксперименте изменялась пропорционально частоте FSB;
оперативную память 128 Мбайт PC-133 производства Micron, 8 нc;
видеокарту ASUS AGP-V3800Magic (на Riva TNT-2 M64) с 16 Мбайт памяти SDRAM;
винчестер IBM-DTLA-307015 объемом 15 Гбайт (7200 об/мин, АТА/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-сервер — из комплекта поставки. В системе Х Window было установлено разрешение 1024х768 при 16-битной глубине цвета.

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

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

Для тестов в графическом режиме была изготовлена геологическая карта размером 2560х1586 пикселов в формате не компрессированного TIFF, файл размером 11,6Мбайт. Данный файл в растровом редакторе GIMP (под управлением оконного менеджера WindowMaker) подвергался:
вращению на фиксированный (90°) угол;
вращению на произвольный (для определенности и единообразия — 52°) угол;
гауссовому размытию с радиусом 10 пикселов.

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

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

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

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

Таблица 1.1. Абсолютная производительность

Конфигурация

Копирование файлов, с

Вращение на угол 90°, с

Вращение на произвольный угол, с

Гауссово размытие, с

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


 
Примечание. Меньшие значения (по сравнению с табличными) соответствуют лучшему результату.

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

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

Таблица 1.2. Производительность относительно Р-733/133/133

Конфигурация

Копирование файлов,%

Вращение на угол 90°, %

Вращение на произвольный угол, %

Гауссово размытие, %

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

800-145-100

116

112

107

101

825-150-100

116

103

108

98

842-153-100

122

117

104

97


 
Примечание. Меньшие значения (по сравнению с табличными) соответствуют лучшему результату.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что касается АТА/66 и АТА/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-порт. И то только при наличии принтера. Хотя, по сообщению одного из моих корреспондентов (Виктора Вагнера), при подключении принтера через LPT-порт привода такая связка в современных ядрах благополучно работает, стопроцентной гарантии этому во всех ситуациях я бы не дал. Мне известно достаточно много моделей принтеров, которые категорически отказывались работать через какой-либо транзитный разъем вообще (например, разъем LPT-сканера). В этом случае придется либо переключать их по мере надобности (при обесточенной машине и обоих устройствах, иначе выгорание какого-либо из разъемов — вопрос только времени), либо озаботиться покупкой соответствующего переключателя, причем исключительно ручного, поскольку автоматические ориентированы на работу в Windows и в Linux работать не будут.

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

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

Устройства позиционирования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Впрочем, и этот симптом неоднозначен. Так, в документации на стоящий передо мной Hewlett-Packard 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 BJ 610, как будто), а также, насколько мне известно, 800-й серии; модели же 700-ые - это Windows-принтеры.
Все, насколько я знаю, выпускаемые ныне струйники Epson, за исключением серии Photo (про нее просто не могу сказать ничего определенного).

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

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

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

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

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

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

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

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

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

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

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

Источники бесперебойного питания

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

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

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

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

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

GNU OCXE GNU LINUX
Сайт управляется системой uCoz