KnigaRead.com/

Алексей Федорчук - Священные войны мира FOSS

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Алексей Федорчук, "Священные войны мира FOSS" бесплатно, без регистрации.
Перейти на страницу:

Так может быть, версии Linux или FreeBSD для указанных выше аппаратных платформ могут рассматриваться как альтернатива родным ОС? С трудом верится, что те, кто затратил изрядные, даже по ненашим масштабам, деньги на приобретение соответствующих комплексов, будут сносить предустановленные, оплаченные, тщательно заточенные под «родное железо» системы, да ещё подчас со столь же предустановленными и оплаченными, специализированными приложениями, ради сомнительного удовольствия устанавливать на них свободную ОС и столь же свободные (но далеко не всегда столь же функциональные) приложения?

На моей памяти был случай... не скажу массового, но по крайней мере организованного применения Linux'а на платформе, отличной от i386 – на DEC'овских Alpha. Но об этом рассказ пойдёт в книжке Мир FOSS. Вопросы истории (готовится к размещению).

Итак, поддержка многочисленных платформ в настольном сегменте похвальна с точки зрения общих соображений, но не особенно востребована на практике. Более того, самое смешное, что она ударными темпами теряет актуальность и в сегменте серверном — с тех самых пор, как появились дешёвые многопроцессорные системы на Opteron'ах. Да, амортизация серверов происходит медленно, и дорогие сервера на не-Intel'овских платформах будут крутиться ещё очень долго. Однако, по аналогии с рабочими станциями, трудно представить себе, что в процессе промышленной эксплуатации их родные операционки будут заменяться на что бы то ни было свободное.

Вообще-то говоря, я могу понять мотивы портирования Linux на архитектуры, отличные от x86. Главный из них, как мне кажется, — просто наличие соответствующей техники у разработчиков и спортивный азарт при адаптации любимой ОС для прикручивания к оной. Опять-таки, мотив веский с точки зрения just for fun, но вряд ли способствующий «концентрации сил и средств на решающем направлении».

Сложнее понять растущую тягу к многоплатформенности среди разработчиков FreeBSD — системы, изначально ориентированной на самую демократичную платформу всех времён и народов. Единственное объяснение, которое я вижу — это отработка поддержки 64-битных архитектур вообще: обратим внимание, что таковыми были все поддерживаемые FreeBSD не-Intel'овские платформы, причём поддержка эта появилась ещё до широкого распространения x86_64.

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

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

Более того, перебрав 64-битные варианты нескольких дистрибутивов Linux, я обнаружил падение производительности в задачах, связанных с интенсивными дисковыми и файловыми операциями, что, в принципе, и следовало бы ожидать. Так что единственное, что реально даёт пользователю Linux'а поддержка 64-битной архитектуры — это возможность использования памяти более трёх с копейками гигабайт, если таковая имеется в наличии.

Впрочем, того же результата можно добиться и косметическими мерами — пересборкой ядра с поддержкой PAE. При этом сама по себе система остаётся не только полнофункциональной, но и 32-битной, то есть на ней можно использовать, например, фирменные драйвера для видеокарт от Nvidia или ATI/AMD, 64-битные версии которых или отстают во времени, или просто отсутствуют как класс.

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

Однако это более чем с лихвой окупается тем, что собственно 64-битный вариант FreeBSD функционирует более чем исправно, и на машинах с соответствующими процессорами (то есть AMD64, Intel Core 2 и более высокими) прирост производительности можно заметить даже при обычной работе, а не только на тестах. Замедление же файловых операций, вероятно, имеющее место при работе с файловой системой UFS2 (которая и сама по себе достаточно задумчива) компенсируется тем, что именно на мощных 64-битных машинах с большим количеством реальной и полностью адресуемой памяти во всём блеске начинает играть ZFS, родной поддержки которой в Linux'е в ближайшее время не предвидится.

Ныне процессор менее чем с двумя ядрами найти не проще, нежели без 64-битных инструкций. И потому поддержка многопроцессорности и параллельных вычислений видится не менее важной — правда, опять-таки в основном по причине жадности, раз деньги за второе, третье или четвертое ядро всё равно уплочены. И тут можно констатировать, что и в Linux'е, и во FreeBSD многопроцессорность в настольном сегменте играет только на одном его поле — при компиляции программ, и там, и там обеспечивая примерно одинаковый прирост производительности. Но, поскольку пользователю FreeBSD заниматься сборкой программ в среднем приходится чаще, нежели линуксоиду, то он может греть свою душу мыслью о не совсем зря потраченных деньгах.

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

Поддержка дополнительного оборудования

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

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

Для начала следует заметить, что сами по себе ОС Linux и FreeBSD поддерживают все карты, соответствующие стандарту VESA, то есть практически все, существующие ныне в природе. Причём собственными силами делают это как в текстовом режиме, так и графическом консольном, именуемом режимом frame buffer в Linux или pixel mode во FreeBSD.

Здесь надо развеять одно широко распространённое заблуждение: якобы Linux поддерживает графику, а FreeBSD — это одна консоль. Интересно, что такие слова можно услышать не только от совсем начинающих пользователей, но и от тех, кто окончил курсы системного администрирования Linux, причём — достаточно известные. Какие именно — не скажу, чтобы не быть несправедливым к другим таким же курсам, где вполне могут учить тому же самому.

Так что, когда речь заходит о поддержке видеосистемы, явным или не явным образом подразумевается её поддержка в оконной системе X (или, в просторечии, в Иксах). И тут надо сказать, что Иксы, практически единственной современной реализацией которых является Xorg, абсолютно одни и те же и в Linux'е, и во FreeBSD, и во всех прочих свободных Unix-подобных системах, вплоть до Solaris'а. И собственными, то есть свободными, видеодрайверами Иксов все существующие видеокарты, точнее, чипы, на которых они основаны (а их и осталось-то практически всего три ряда — от Intel, Nvidia и ATI/AMD) поддерживаются абсолютно одинаково. То есть — хорошо в отношении 2D графики и никак — в отношении графики трёхмерной.

Так что относительно различий в поддержке видеокарт в Linux'е и FreeBSD можно говорить только применительно к 3D-функциям, обеспечиваемым фирменными драйверами, и только для видеокарт от Nvidia и ATI/AMD. И тут — да, Linux обходит FreeBSD на несколько корпусов: под него существуют драйвера от обеих фирм в 32-битных вариантах, а от Nvidia — также и в 64-битном. Тогда как для FreeBSD имеются только 32-битные фирменные «дрова» Nvidia, да и то, по отзывам, качество их реализации оставляет желать лучшего.

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*