Вверх ↑
Что выбрать: Windows или Linux?2010-12-24 23:48:25Dilma
Прежде всего определимся с точки зрения кого написана данная статья и соответственно какие аспекты работы означенных выше ОС будут учитываться при принятии решений, что и кому лучше выбрать (как уже было сказано выше - однозначного выбора нет и быть не может). Автор статьи является опытным пользователем обоих линеек ОС со стажем более 10 лет, причем как десктопных версий, так и серверных с мобильными. Для каждой из этих категорий в то или иное время случалось писать как софт, так и драйвера (для мобильных только софт). Обе линейки доводилось использовать и администрировать в сетях средней сложности, в том числе разбитых на сегменты, удаленные друг от друга (имеется ввиду физически далеко расположенных). Если читатель уверен, что все это не имеет для него никакого значения и желает увидеть выводы типа "Windows лучше, потому что у него кнопки более круглые", то рекомендуется не терять зря время и закончить чтение на этом абзаце.

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

Как уже говорилось выше, выбор ОС зависит от того, какие задачи стоят перед пользователем ПК, поэтому следует рассмотреть эти категории отдельно:

- видимо самая распространенная категория это люди, которые садятся за комп только для просмотра фоток, фильмов, сайтов, игры в пасьянс и прочих "базовых операций", назовем их "серферы"
- вторая группа так же не менее популярная это геймеры (чтобы не плодить слишком много классификаций, ничем не отличающихся с точки зрения темы данной статьи, сюда же следует включить и всех тех пользователей, которые работают со специализированным тяжелым софтом типа AutoCAD, 3DMAX, 1C, Adobe XXX и т.д.)
- и наконец в последнюю можно включить всех остальных (это продвинутые пользователи, разработчики, программисты и т.д.)

Кроме того следует быть готовым к тому, что большая часть текста в статье будет посвящена именно ОС Linux из расчета на то, что читающий и так достаточно хорошо знаком с Windows и хотел бы побольше узнать об альтернативной ОС. Не смотря на название статьи должно быть ясно, что на самом деле вопрос стоит как "переходить ли на Linux с Windows", ибо сегодня сложно себе представить пользователя, который начал бы свое знакомство с ПК не с Windows или MacOS (последнее актуально для штатов).

Серферы

Еще раз выпишем основные занятия данной группы пользователей:

1) Internet и почта
2) примитивные офисные игры
3) просмотр видео и фотографий, прослушивание музыки, редактирование и просмотр прочих популярных форматов (doc, xls, pdf и т.д.)
4) обмен файлами (через интернет или сменные носители)
5) печать

Хотелось бы сразу же подчеркнуть, что большая часть этих пользователей самостоятельно не умеет ставить ни новый софт, ни драйвера, ни ОС, ни тем более что-то настраивать, чинить и ковырять. Насколько каждая из ОС удовлетворяет списку изложенных задач?

1) Internet (а в данном случае это синоним слова Браузер) есть и там, и там - в Windows это IE, в Linux в зависимости от дистрибутива это Firefox, Epiphany, Chromium, Konqueror и другие. Почта аналогично - в Windows это Outlook Express, в Linux опять таки в зависимости от дистрибутива это Evolution, thunderbird, KMail и прочие.
2) игры в Windows это сапер и пара пасьянсев, в Linux их немного больше - тот же сапер с пасьянсами плюс пачка такого же рода игр в зависимости от используемой оболочки
3) в Windows для просмотра видео и прослушивания музыки используется WMPlayer, для просмотра фоток "Image and Fax viewer", для редактирования MSPaint, для прочих форматов необходимо ставить сторонний софт. В Linux просмотр видео и прослушивание это Movie player, Rhythmbox, Exaile, ffmpeg, aKtion и другие, для просмотра фоток - Shotwell, KView и другие, для редактирования фоток Gimp (и даже клон MSPaint есть), для doс, xls и прочих офисных форматов OpenOffice, AbiWord, Gnumetric и прочие, для pdf - evince и другие.
4) никаких проблем с обменом файлами там и там нет за исключением одной - возможности получить вредоносную программу под Windows (об этом чуть ниже)
5) в Windows - после установки драйвера пользователь может печатать из любой программы свои фотки и текст, в Linux - если производитель не поставляет драйвера для принтера под данную платформу, то это значит, что его в худшем случае может не быть вообще (особенно актуально для комбайнов), в лучшем - найдется какая-то версия драйвера, либо совместимая от другой модели устройства от того же производителя, либо "родная", но с ограниченными функциями (однако простой пользователь ограничений не заметит)

Т.е. с точки зрения голых фактов для серфера разницы между ОС практически никакой нет - поставив пиратский офис в Windows и несколько других не менее пиратских софтин, а в Linux воткнув драйвера, которые хотя бы будут работать, мы сравняем обе системы и пользователь одну от другой отличит только по наличию или отсутствию кнопки Пуск. Однако есть несколько моментов, о которых не следует забывать:

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

  • подавляющее большинство пакетов с софтом лежит в репозиториях дистрибутива и попадает оно туда только после модерации и как правило с открытым исходным кодом, проверить который не составляет труда. Это значит, что проникновение вируса через зараженные программы и "кряки" невозможно, т.к. они качаются с заведомо проверенных источников. Благодаря этому же пользователь Linux (при наличии интернета или зеркал у провайдера) всегда имеет свежие версии всего, что у него стоит на диске, что сводит практически на нет использование найденных дыр в ПО. Организовать такой репозиторий программ под Windows может быть и возможно в теории, но на практике исключено в принципе.
  • в *nix системе никто и никогда не работает из под root, т.е. из-под пользователя с максимально возможными правами на рабочей машине. Соответственно вероятность случайного запуска потенциально опасной программы снижена в разы. В Windows так же возможно работать из-под пользователя, не обладающего правами администратора, однако подобное решение сопряжено с рядом трудностей, которые вызваны невозможностью выполнения любых команд из-под администратора, находясь при этом в сессии пользователя (попробуйте к примеру удалить из-под обычного пользователя системный файл или файл, принадлежащий другому пользователю). Microsoft с выходом каждой новой версии своей ОС улучшает эту ситуацию, но на сегодня она все еще далека от идеала
  • в Linux нет такого понятия как Autorun (автоматический запуск чего либо со сменного носителя). Если быть совсем точным Autorun это не фишка ОС, а фишка менеджера файлов, который в ней используется (как правило). Так в Windows этим занимается Explorer, в Linux монтированием флешек занимаются утилиты automount. Этот пункт не был бы рассмотрен, если бы Explorer можно было убрать из системы и поставить вместо него скажем TotalCommander, однако поскольку это не возможно данную особенность не стоит упускать из виду. Очевидно есть возможность отключения этой ф-ции, но на подобное врятли способен пользователь, использующий ПК для игры в сапера
  • достаточно большое количество различных дистрибутивов и обилие сервисов для выполнения одних и тех же задач затрудняет создание вредоносного кода, который смог бы учесть особенности каждого популярного дистрибутива и софта под него (в Windows обычно достаточно написать код для заражения IE, Explorer или OutLook, чтобы вирус получил контроль над большинством машин, до которых доберется). Учитывая так же и то, что в системе могут вообще отсутствовать какие-то части (возможность пересборки ядра со своими настройками этому способствует как нельзя кстати) или библиотеки, то вирус фактически нужно делать по возможности большим и толстым, содержащим в себе все необходимое для работы. Даже один и тот же дистрибутив, но разных версий уже может вызвать проблемы с исполнением вируса, в то время как в Windows при выпуске каждой новой версии прилагается очень много усилий на сохранение обратной совместимости. Однако есть и обратная сторона: если уж удалось получить права от рута, то для внедрения в систему и выполнения своих злодейских задач в ряде случаев вирусу нужно приложить в разы меньше усилий, чем под Windows. Скажем для организации тривиальной бот сети и тупой DDOS атаки сайта в интернете, достаточно за зараженной машине прописать в скрипт /etc/rc.local (если он есть конечно) всего одну строку вида wget http://attack-site.com/
  • в родных для *nix платформ файловых системах у каждого файла существует флаг под названием Execute - его наличие или отсутствие позволяет на уровне системы разрешать или запрещать запуск приложения (в том числе и скрипта). Это позволяет избежать ситуаций, скажем, со случайным запуском файла после закачки. Так один из популярных способов заставить пользователя запустить программу под Windows, это установить у приложения иконку JPEG файла, назвать его клевые_телки.jpg.exe и отправить кому-то по почте или выложить на сайте с подписью - "зацени горячих штучек!". У 99% пользователей, которые скачивают и открывают контент подобного рода конечно же не стоит отображение расширений зарегистрированных файлов и они не задумываясь запустят его и получат то, что и заслужили. При закачке файла под Linux система не даст его запустить пока не будет выставлен этот флаг, но даже в этом случае трюк не прокатит: файловые менеджеры отображают иконки всех файлов в соответствии с их типами, а типы определяют на основе их содержимого. Поэтому пользователь увидит значек бинарного файла, а не картинки, как ожидалось. Microsoft в свою очередь борется и с этой проблемой, но несколько иным способом: пользователю либо не дают вообще запустить файл из определенных мест(так сделано в серверных версиях), либо выводят сообщение о небезопасности данного действия. На данный момент эти сообщения в большинстве случаев всех только раздражают, чем приносят реальную пользу.

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

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

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

Геймеры

Задачи данной группы пользователей (очевидно, что они так же включают в себя и задачи группы "серфер", разобранные выше):

1) Игрушки. Это не ферма из контакта или продвинутый 3х мерный солитер - это современные 3D игры с большими картами, большим весом и большими требованиями к видео подсистеме.
2) Специализированный софт типа AutoCAD, Inventor, 3DMAX , 1C, Adobe Collection, Corel и другие

Как правило большинство этих пользователей достаточно хорошо знакомо с системой (во всяком случае установка новой программы не вызывает никаких проблем), но не настолько хорошо, чтобы заметить принципиальную разницу между двумя категориями ОС и переход на Linux для них был бы не сложнее, чем для серферов. Однако - под Linux практически нет ни игр, ни профессионального софта, способного хоть как-то конкурировать с Windows аналогами. Почему так происходит? Сами производители игр и подобного рода ПО выпускают версии только под Windows потому, что это основная площадка для сбыта и получения гарантированной коммерческой выгоды. Сделать программу кросплатформенной тем сложнее, чем больший функционал она предоставляет, а значит тем больше человеко-часов на это потребуется и тем больше денег на это уйдет. Не многие фирмы готовы сегодня позволить себе подобный риск.
С другой стороны (со стороны сообщества OpenSource) игры и "тяжелые" программы требуют значительного вложения сил и времени многих людей (дизайнеры, аниматоры, художники, композиторы, программисты, специалисты в различных областях и т.д.) и без финансирования их создание невозможно. Такие программы как Blender, GIMP и некоторые другие лишь исключение и то, беглое ознакомление даже не профессионала способно выявить огромное технологическое отставание от своих Windwos аналогов, разработкой которых занимаются известные брэнды.

Некоторые советуют для запуска игр или софта, для которого нет Linux аналога использовать эмулятор. Действительно - часть игрушек и почти любое ПО можно запустить таким образом. В играх даже сложно будет почувствовать разницу. Однако такое решение приемлемо в том случае, если запуск Windows приложений требуется лишь иногда, иначе целесообразность выбора Linux в данной ситуации очень сомнительна. Кроме того, как уже говорилось в предыдущем разделе - ситуация с драйверами там и так не очень радужная, а с видео драйверами тем более. Если Nvidia выпускает свои девайсы с Linux и имеет штат разработчиков, которые делают драйвера под эту ОС, то AMD такого штата не имеет и версии для Linux у них идут в статусе "no oficial", т.е. как и что там будет работать никого по сути не волнует и никто за это не отвечает. На практике же оказывается так, что у обоих производителей драйвера на порядок хуже Windows аналогов (отстают в поддержке стандартов на одно или несколько поколений), а AMD ко всему прочему через версию обязательно добавляет новый баг, из-за которого то там, то тут возникают неожиданные проблемы.

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

И так, вывод очевиден: если человек однозначно относит себя к этой группе пользователей, то ставить Linux в качестве основной ОС не рекомендуется и даже противопоказано.

Продвинутые пользователи

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

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

  • собственно продвинутые пользователи
  • разработчики (программисты)

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

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

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

И там, и там есть свои удачные и не очень решения, и далее будут рассмотрена часть из них:

  1. снова о софте - распространение ПО через централизованные репозитории это безусловно отличная идея потому, что - если в системе все устанавливалось из пакетов, то ее обновление делается нажатием одной кнопки или выполнением одной команды
    - практически все крупные интернет провайдеры держат на своих серверах актуальные зеркала всех популярных дистрибутивов Linux, и предоставляют к ним не тарифицируемый доступ со скоростью локальной сети (очевидно, что такое не возможно с любой коммерческой ОС ввиду лицензионных ограничений)
    - для разработчика это идеальный вариант распространения своего собственного ПО, удобный как и ему, так и конечному пользователю
    - нет необходимости создавать и поддерживать в актуальном состоянии свой архив софта
    Однако есть и обратная сторона - если оказалось, что искомой программы нет в репозитории, то необходимо как и в случае с Windows лезть в интернет и качать ее от туда. И если качая дополнительное приложение для Windows пользователь может быть на 99% уверен, что найдя его и установив, оно таки запустится и заработает, то в случае с Linux это станет возможным только при закачке готового пакета для своей версии дистрибутива. Если же программа доступна исключительно в виде исходников, то перед ее инсталяцией в систему необходимо провести процедуру сборки, которая потребует установку не только всех необходимых для компиляции инструментов, но и установку всех пакетов с заголовочными файлами для всех внешних модулей, которые использует компилируемая программа. Этот процесс более менее автоматизирован только в Gentoo Linux - во всех остальных дистрибутивах пользователь должен самостоятельно найти нужные пакеты. Но и на этом все не заканчивается: если таки удалось найти и установить все зависимости, то еще остается вероятность того, что исходники программы писались под старые версии модулей. В этом случае велика вероятность получение ошибки на этапе сборки или линковки и программу в итоге установить не получится (именно этот итог ждет практически любое приложение, не поддерживаемое и не обновляемое авторами в течении нескольких лет).
    Не все пользователи понимают, зачем нужен этот геморой с программами и почему те из них, которые не входят в репозитории популярных дистрибутивов нельзя распространять так же как в Windows - т.е. в виде бинарников со всеми модулями(библиотеками), от которых они зависят. Делать это можно. Именно так распространяются, например, Firefox и Opera. Но подобное решение содержит гораздо больше минусов, чем плюсов: во-первых, если каждое приложение таскает с собой все, от чего зависит, удельный "вес" всего софта в системе повышается в разы (именно по этой причине 650 мегабайтный дистрибутив любого Linux содержит в десятки раз больше программ, чем 3х гиговый дистрибутив Windows 7), во-вторых, подобное коллекционирование всех зависимых библиотек делает не возможным их обновление авторами, а это кроме всего прочего дает вирусам и троянам зеленый свет.

  2. рабочие столы - это одна из основополагающих идеологии менеджеров рабочих столов в *nix системах. Суть ее в том, чтобы дать пользователю возможность быстро и удобно переключаться между наборами открытых окон. Под Windows можно сделать нечто подобное (например, Nvidia в своих драйверах позволяет задать более одного рабочего стола, так же есть множество сторонних программ, добавляющих данный функционал), но смысла в этом будет не много ввиду отсутствия поддержки этой технологии на уровне ОС и графической подсистемы. Пользователь же Windows не способен с ходу воспользоваться данной фичей, т.к. она требует некоторого изменения методики своей работы за ПК. Это примерно тоже самое, как установка второго монитора - сложно понять, зачем он нужен пока тебе его не поставят. Зато привыкнув работать с двумя экранами на одном уже будет в крайней степени тесно и не комфортно. Аналогично и со столами - продуманная и грамотная организация рабочего пространства увеличит эффективность работы, но к сожалению сделает ее не комфортной там, где нет нормальной возможности пользоваться несколькими столами. Опять таки же это актуально только для тех пользователей, которым необходимо часто обращаться ко многим окнам одновременно (преимущество подхода особенно хорошо видно при использовании виртуальных машин, работающих в Full screen или открытии нескольких графических RDP или VNC терминалов).
  3. консоль - упоминание этого слова в суе бросает в дрожь не только людей двух предыдущих категорий, но и зачастую даже опытных пользователей. И это не удивительно - у подавляющего большинства в голове всплывает вот этот образ:
    и кроме того для многих термин "консоль" является синонимом термина "msdos" и навевает ностальгические воспоминания о чудесных временах, проведенных за работой в данной ОС (и это не случайно - консоль в Windows это так же официально эмулятор MS-DOS, предназначенный в первую очередь для запуска приложений, написанных много веков тому назад). Однако эти представления не соответствуют действительности в случае *nix подобных операционных систем. Консоль в Windows и консоль в Linux похожи друг на друга примерно так же, как автомобиль марки "жигули" и автомобиль марки "bugatti veyron" - т.е. исключительно общим словом в названии. Типичный внешний вид консоли в Linux:


    Раскраской выводимой информации очевидно все не ограничивается: основное отличие при работе в консоли под Linux заключается в наличии более мощного командного интерпретатора (шела) и конечно же огромного количества приложений для всех случаев жизни, умеющих работать с командной строкой. Идеология любой *nix системы такова, что в первую очередь создается консольная версия программы для выполнения какой-то поставленной задачи (так называемый backend) и только затем GUI оболочка к ней (frontend). Этот подход позволяет, к примеру, имея под рукой лишь терминал изменить любую настройку системы или приложения. Очевидным данное преимущество становится тогда, когда по тем или иным причинам система перестала нормально запускаться и есть возможность входа только в Recovery mode. Под Windows (имеются ввиду ОС версии XP и старше) сделать из консоли практически ничего не возможно и в 90% случаев гораздо более эффективным и главное быстрым способом восстановления является format c: и установка системы с нуля (возможность отката до предыдущей сохраненной точки восстановления помогает исключительно в простейших случаях). Реже спасает установка поверх с сохранением настроек. В Linux же если знать, что сломалось и как это чинить через командную строку сделать можно все (как правило проблемы чаще всего типовые и знать нужно не так много, как может показаться на первый взгляд).

    Так пользователю данной группы вне зависимости от его желания рано или поздно придется иметь дело с консолью (например при установке приложения, описываемого в первом пункте) и в случае наличия непреодолимых морально этических барьеров, препятствующих этому, от установки Linux лучше отказаться сразу. Многие пользователи называют работу с командной строкой в лучшем случае прошлым веком, в худшем - занятием для не здоровых на голову юниксойдов (линуксойдов). Это заблуждение примерно того же плана, как и заблуждения вида "assembler умрет при наличии мощных и быстрых яву", "яву умрут при наличии мощных и быстрых HiAsm и ему подобных" и т.д. Всегда есть задачи для которых хороши одни инструменты, и задачи, для которых хороши другие инструменты. Например, шуруповерт идеален при вкручивании саморезов в ДСП, но он полностью бесполезен при необходимости вкрутить винт в ось шестеренки от наручных часов. Так, скажем, для настройки сетевого соединения гораздо проще попросить пользователя открыть терминал и вбить туда одну команду
        ifconfig eth0 inet 192.168.10.15 netmask 255.255.255.0
    чем заставлять выполнять квест, начинающийся со слов "Нажать меню Пуск, далее открыть Панель управления, затем Сетевые соединения и т.д.". Именно поэтому подавляющее большинство мануалов для Linux построено именно в таком стиле - в стиле работы через командную строку, а не через GUI интерфейсы, как в Windows. И сделано это не потому, что в Linux без терминала жить не возможно вообще, а потому, что это удобно и позволяет раз проделанные действия сохранить в отдельный скрипт и в дальнейшем запускать лишь его не вдаваясь в подробности реализации. Кроме того описания действий построенные на необходимости обращения к GUI диалогам как правило теряют свою актуальность с выходом новой версии ос или приложения, для которого оно делалось. Например, та же настройка сетевого интерфейса при переходе от XP к Windows Vista/Seven обзавелась одним новым шагом (оснасткой Network and sharing center), который не станет проблемой для продвинутого пользователя, а вот серфера может поставить в тупик. Ну и наконец наиболее неприятная особенность операционных систем Windows это отсутствие диалогов для настройки некоторых важных параметров системы, из-за которых приходится даже тут лезть в консоль (эта проблема наиболее полно проявляет себя в серверных версиях ОС). Например, настройка маршрутизации при наличии двух и более сетевых соединений делается исключительно командой route и ничем больше.
  4. стабильность и производительность - еще один аспект обоих систем, вокруг которого наросло множество легенд. - Windows начиная с XP, которая стала первой ОС, объединившей в себе серверную ветку семейства NT и десктопную семейства Me, убить систему стало намного сложнее и практически невозможно для простого пользователя. Знаменитый "экран смерти", который ранее можно было наблюдать всего лишь открыв лоток CD-ROM-а во время запуска программы с него, сегодня можно получить только в случае реальных проблем с железом или серьезных поломок самой системы. Менее серьезные глюки связаны уже с работой сервисов или чаще с проводником. И то и другое как правило является следствием работы вируса или червя и врятли можно рассматривать как недостаток системы в целом.
    Однако, что касается производительности и не убиваемости ОС во времени не все так гладко. В том случае, когда пользователь достаточно часто устанавливает множество различных программ происходит постепенное засорение системы. Даже использование для этих целей исключительно апплета "Установка и удаления программ" не спасает от накопления мусора в реестре, который ведет к его раздуванию и как следствие - замедлению работы (особенно остро на это влияют наличие битых ссылок на программы, ресурсы или компоненты, к которым достаточно часто идут запросы - различные твикеры умеют их удалять, но сама ОС этого сделать не может). Насколько часто программы в Windows обращаются к нему и как много данных получают можно посмотреть самостоятельно, установив, например, утилиту Regmon. Если же инсталяция софта процесс достаточно редкий, то Windows версии XP и выше может работать неограниченно долго без необходимости проводить какие-либо процедуры обслуживания (чего не скажешь про серверные версии Windows, работающие в качестве контроллеров домена).
    Обновление до новой версии это разговор отдельный, т.к. по статистике 99 пользователей из 100 (цифры взяты наугад) вообще не знают, что это, т.к. для пиратских версий ОС данная возможность не доступна.
    - Linux все версии данной ОС с самого начала использовались и для установки на сервера в том числе, поэтому о стабильности ядра можно говорить лишь ради проформы - даже при некоторых проблемах с железом получить kernel panic (это аналог BSOD) практически невозможно. Однако в случае настольных версий дела обстоят совсем иначе. Одним из главных составляющих desktop версии любого дистрибутива Linux является X-сервер (или просто "иксы"), который отвечает за графику и все устройства ввода (мышь, клавиатура, камеры, джойстики и т.д.). Стабильность этого монстра вкупе с видео драйверами, которые как ранее уже говорилось, пишутся абы как, оставляет желать лучшего. Свалить иксы иногда получается даже с использованием GUI утилит от производителей драйвера, не говоря уже о ручной правке xorg.conf. Не редкость и ситуации с глюками мышки или даже полным зависаем иксов при запуске игр в системе с двумя видюхами или мониторами. А если иксы не работают, то пользователь остается наедине с консолью, не умение работать с которой равносильно убийству системы с единственно возможным выходом - полной переустановкой.
    С положением дел при работе Linux достаточно продолжительное время все однако гораздо лучше. Поскольку в *nix системах нет такого понятия как "реестр" и практически все хранится в конфигурационных файлах, то установка большого количества софта никак не сказывается на быстродействии. Кроме того системы управления пакетами на порядок умнее и грамотнее и подчищают за собой намного лучше (максимум, что может остаться это файл с настройками).
    Обновление дистрибутива Linux в первом приближении это удаление всех пакетов текущей версии и установка точно таких же из новой. Такое возможно благодаря тому, что сегодня в пакетах лежит не только софт, но и ядро ОС, драйвера, а так же скрипты для настройки отдельных ее частей. Т.е. вообще все. При этом после обновления не остается ничего лишнего и полностью сохраняются все данные и настройки пользователя.
  5. точечная настройка - под этим термином понимается степень допустимых границ настройки системы, ее частей и софта, установленного в ней. В Windows подавляющее большинство настроек хранится в системном реестре и лишь для малой части из них существуют GUI диалоги, упрощающие эту процедуру. Как правило, если точно не знать, где и что надо поменять, чтобы получить желаемый результат сделать ничего не получится - определить самостоятельно какой ключ реестра какому сервису принадлежит и за что отвечает не возможно (исключения бывают, но лишь как подтверждение общего правила). Однако даже хорошо зная назначение параметров в ключах реестра Microsoft далеко не все позволяет менять в системе. Оно впрочем и понятно - для упрощения работы и без того заваленной службы поддержки лучше не позволять менять пользователям все подряд и некоторые вещи необходимо делать жестко прошитыми в ядро и окружение операционки. Таковыми, к примеру, являются популярные Explorer, IE, directx и прочие. В *nix системах все настройки от всего в системе лежат в определенном каталоге (как правило это каталог /etc, но не обязательно). Причем папка с файлами конфигурации (или сам файл, если он всего один) имеют такое же название, как и сервис (демон) или программа, к которым они относятся, что позволяет в большинстве случаев добраться до нужных параметров без помощи каких-либо мануалов. Формат этих файлов может быть разным (от простого текста вида праметр=значение, до полноценного XML), но практически всегда конфиги содержат подробную информацию о параметре, значениях, которые он может принимать, и чему равен по умолчанию (для примера можно посмотреть на конфиг php.ini или apache.conf, которые портированы с *nix платформы под Windows). Модульность же системы (одна из основополагающих идеологий) позволяет настроить окружение полностью под себя (от банальной замены менеджера рабочего стола до выбора файловой системы и физического места расположения каталога пользователя). И главное: открытость исходников ядра и GUI утилиты для его сборки позволяют получить ядро только с теми ф-циями, и с поддержкой того железа, которые нужны пользователю. Программисты сверх того получают дополнительную возможность модифицировать любую программу для своих задач или подсматривать реализацию каких-то ф-ций, которые хотелось бы иметь в своих приложениях. Есть однако и небольшое "но" - из-за обилия настроек даже в простых сервисах и программах авторы иногда не заморачиваются с GUI frontend-ами и если кто-то из энтузиастов не сделал его, то простая задача по изменению пары основных параметров может вылиться в достаточно утомительное чтение комментариев или справки пока искомое не будет найдено.

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

Заключение

Вместо заключения хотелось бы рассмотреть нелепость утверждений вроде "Linux рано или поздно умрет" или "Windows XXX покончит с Linux" и т.д. Во-первых, сегодня большими шагами по планете шагает Android, который сделан на основе Linux и который каждому желающему с успехом демонстрирует то, что жизнь за пределами Windows есть и она не менее интересна и разнообразна и единственное, что для этого не хватает - нужного количества пользователей, для которых у разработчиков появился бы стимул в создании программ. Но даже если не брать мобильные платформы то достаточно вспомнить, с чего вообще начиналось существование *nix систем - с серверов - на подавляющем большинстве которых и по сей день используется либо Linux, либо FreeBSD. К сожалению не все пользователи, даже из категории "продвинутых", задаются вопросами "под управлением чего работают клайстерные системы и супер-компьютеры?", "что представляет из себя прошивка домашнего роутера, телевизора, медиа центра и т.д.?". Многие так же почему-то уверены, что Linux это детище кучки сумасшедших энтузиастов, не учитывая те капиталовложения, которые сегодня в него вкладывают такие компании как RedHat, Mandrive, Canonical, Google и многие другие.
Комментарии (0)