Сравнительная характеристика виндовс и линукс. Что лучше, Linux или Windows? Зависимость от разработчика Windows

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

Поскольку Linux - это самостоятельная и полноценная операционная система, то естественно она значительно отличается от Windows. Уместно будет отметить и то, что говоря о Linux, подразумевается достаточно большой перечень операционных систем, разработанных на базе ядра Linux. Наиболее известной на сегодняшний день считается Ubuntu. Несмотря на то, что многие операционные системы Linux русифицированы, переход на них потребует от пользователя дополнительных знаний и усилий.

Приступив к изучению интерфейса Linux, вы не увидите привычной папки «Мои документы», нет там и деления на диск С и D. Все файлы находятся в так называемом «дереве файлов». Главные его части - это директория рабочего стола и домашний каталог. Нужно отметить, что управлять всеми файлами в Linux также легко как и в Windows, просто нужно немного привыкнуть. Нет в Linux и реестра. В Windows реестр содержит все настройки конфигурации системы. В Linux сведения об установленных приложениях хранятся в специальной программе, которой можно управлять, имея права администратора.

Установка программ кардинально отличается от привычной установки в Windows и часто становится камнем преткновения для начинающего пользователя. В Linux предусмотрено несколько способов установки программ. Наиболее простое решение - это воспользоваться менеджером пакетов. Для инсталляции программы вам просто нужно зайти в этот раздел ОС, найти нужную программу, выбрать ее, а дальше менеджер скачает и установит ее автоматически. Распространенный в Linux термин «управление пакетами», как раз и означает установку и удаление ПО.

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

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

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

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

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

Начнем с того, что Linux принадлежит к семейству открытых и свободных систем. Что это значит? Вы можете совершенно бесплатно, а главное, законно произвести установку ОС на своем ПК или ноутбуке. В свою очередь Mac OS и Windows относятся к закрытому (проприетарному) семейству операционных систем. Их копии необходимо приобретать для установки. Широко распространены пиратские версии.

Теперь кратко о каждой из названных ОС:

Windows. Еще недавно самая распространенная операционная система. По данным статистики, она установлена на 85% устройств: планшеты, ноутбуки, компьютеры. Используются как дома, так и на предприятиях. С распространением мобильных устройств – смартфонов, Linux начала теснить Windows. Ведь именно она стал основой для Android.
Самые главные плюсы – отличная совместимост ь и распространенность.

Linux из семейства операционных систем Unix. Однако существуют различные дистрибутивы, которые имеют ядро в зависимости от версии, и заточены под определенные цели. Они подходят и для работы на десктопах для домохозяйкам, и для мощных кластерных серверных систем. Более 80% серверов в Интернете работают на базе одного из дистрибутивов Linux, FreeBSD или другой Unix-подобной системы. Про основу под Android мы сказали выше.

Достоинство – оперативная доработка недочетов и неточностей благодаря открытому исходному коду.

Mac OS. Система, которая была разработана компанией Apple. Это сопутствующее ПО для выпускаемых этой корпорацией устройств. Основана на FreeBSD, исходный код закрыт. В настоящий момент занимает менее 20% рынка и считается второй по популярности.

Преимущества – стабильность и производительность.

Сравним ОС по нескольким параметрам.

    Системные требования. Конечно, на данный параметр сейчас обращают гораздо меньшее внимание, чем каких-нибудь 7–8 лет назад. Однако количество приложений, которым для работы необходимы серьезные ресурсы, увеличивается. Это значит, что и свободное место на вашем ПК или другом устройстве будет не лишним.

    Windows. Для стабильной работы системы последних версий вам понадобится процессор с двумя ядрами, 1 Гб оперативки (а если берете 64-битный дистрибутив, то еще больше), не самая плохая видеокарта.

    Linuх. Здесь ситуация проще. Достаточно одноядерного процессора, 256 Мб оперативки (сразу приготовьтесь докупить планку) и абсолютно любой видеокарты. Естественно, этого будет недостаточно для быстрой работы приложений и легкого серфинга в Интернете. Но минимальные требования именно такие. Отметим, что плюсом будет модуль ядра Zram, который позволяет сжимать данные с помощью zip перед сохранением в оперативной памяти.

    Mac OS. Так как система закрыта, то однозначного вывода сделать не получится. Теоретически данную ОС получится запустить с 512 Мб оперативки, одноядерным процессором с частотой 1 ГГц и 9 свободными Гб памяти на жестком диске.

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

    Windows. Считается, что это ОС наиболее уязвимая. Это можно объяснить очень просто: над последними версиями работают менее квалифицированные сотрудники. Подобное подтверждается многочисленными ошибками в коде. Если вспомнить Windows NT и Windows XP, то процесс разработки был организован хорошо, отсюда и стабильность. Именно поэтому хакеры придумывают все новые и новые вирусы под эту оболочку. Также специалисты из Microsoft устраняют крайне мало уязвимостей, а если делают это, то через месяц или больше.

    Linux. Если посмотреть на Linux, то «дыры» латаются за считанные часы. Все продукты семейства Unix имеют очень мало изъянов. Есть возможность шифрования данных, но чтобы это выполнять, потребуются определенные навыки. Что касается всплывающих блокираторов – про них можно забыть.

    Mac OS. Наиболее безопасная ОС, за ее взлом даже назначают неплохую награду на некоторых хакерских сайтах. Помогает поддерживать систему в стабильности за счет шифрования данных и распределения их на личные и системные. К тому же новая Mac OS переписана с нуля и не совместима с предыдущими версиями. Это значит, что искать пути взлома стало еще труднее.

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

    Windows. Как показывает практика, поставить ее может даже начинающий пользователь компьютера. Ход всей операции понятен на интуитивном уровне. Минус – придется искать некоторые программы для полноценной работы системы.

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

    Mac OS. Процесс установки можно сравнить с аналогичной операцией у Windows. Чтобы настроить систему, используются уже готовые программы System Preferences.

    Стабильность. Рассмотрим различия в процессе работы.

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

    Linux. Пожалуй, самая стабильная система из всех троих.

    Mac OS. Сбои случаются примерно с той же периодичностью, что и у Windows. Это чаще всего происходит из-за использования несовместимых со стандартами Apple программи.

    Поддержка ПО. Сейчас сравним, как «относятся» к стороннему софту представленные операционные системы.

    Windows. Так как данная ОС самая распространенная, то и ПО чаще всего пишется именно под нее. Можно найти очень много платного и бесплатного софта.

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

    Mac OS. Программ достаточное количество. Минус – устанавливать их можно только из AppStore.

    Удобство в использовании. Все разработчики стремятся сделать свои продукты максимально простыми и доступными в применении, но не у всех это получается.

    Windows. Тут без вопросов. Интерфейс понятен (если не считать Windows 8). Работа за компьютером не вызывает сложностей.

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

    Mac OS. Тоже удобная и простая система, в ней учитываются все мелочи. Работа с ней будет понятна даже непосвященному.

Вместо заключения. Хочется отметить, что выбор должен основываться на запросах. Определитесь, что вам нужно. Windows простая и понятная система, которая идеально подойдет начинающему пользователю. Mac OS отлично оптимизирована, приятна в работе, производительна. Linux активно развивается, ее применяют уже «вооруженные» люди и профильные специалисты, также и все чаще устанавливают на домашние компьютеры. Берите то, что подходит вам. От себя рекомендуем пройти курс ​ в нашей Академии.

Рассмотрим самые распостраненные вопросы новичков при переходе на Linux с операционных систем семейства Windows.

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

В действительности же здесь имеет место несколько факторов:

1.Элементарное нежелание читать литературу и познавать что-то новое.
2.Малое количество реально полезной для начинающих пользователей информации. Большинство статей в Интернете рассчитано на человека который уже имеет определенный базовый уровень знаний Linux.

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

Что такое Linux?

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

Я знаю, что Windows разрабатывает фирма Microsoft, а кто же разрабатывает Linux?

Linux появился в 1991 году, как обычное хобби финского студента Линуса Торвальдса, которое со временем переросло в наиболее масштабный в мире коллективный проект по разработке программного обеспечения. Фактически, кто угодно из желающих, если он имеет определенные познания в программировании или в другой нужной отрасли (дизайнер, переводчик и т.д.), может приобщиться к разработке Linux. То есть, за этой ОС не стоит какая-то конкретная корпорация которая определяет ее развитие, здесь мы имеем огромное количество программистов со всего мира, которые вместе пишут код, в результате чего проект постоянно находится в развитии. Есть несколько человек которые занимаются координацией проекта, тот же Линус Торвальдс например, но разработкой в целом занимается сообщество. Нужно также сказать, что термин Linux в действительности характеризует не столько ОС как таковую, сколько ее ядро. В мире Linux законченный продукт (полноценная система) называется дистрибутивом. И дистрибутивов Linux ввиду особенностей ее разработки существует огромное количество.

Ничего не понятно, что же такое дистрибутив?

Под дистрибутивом понимают законченный продукт. Само ядро Linux не является пригодным для использования конечным пользователем. Для того, чтобы превратить его в полноценную ОС, нужно добавить определенный набор базовых системных утилит, если это десктопная система, то желательно еще добавить графический интерфейс и так далее. Такой подход можно сравнить с конструктором LEGO, когда вы имеете много деталей, которые сами по себе мало, что представляют. В то же время, если их совместить вместе, то вы уже получаете какую-то конструкцию. В Windows тоже можно увидеть разные дистрибутивы, например WindowsXP Home Edition и Professional Edition. Они имеют одинаковое ядро, то есть формально являются одной операционной системой, но несколько отличаются за набором компонентов, то есть все-таки является двумя разными продуктами.

Ну хорошо, вроде понятно, а какие же существуют дистрибутивы Linux?

Дистрибутивов Linux существуют очень много. Это, опять же, вызвано особенностями разработки. Даже вы, при желании можете создать свой дистрибутив, взяв за основу стандартные компоненты. Некоторые дистрибутивы разрабатываются просто группой людей, которые объединились за какой-то идеей, а некоторые дистрибутивы разрабатываются под крылом коммерческих фирм. Существуют дистрибутивы общего назначения, а есть и специализированные, например нацеленные на работу в мобильных телефонах, сетевых роутерах и др. Поскольку мы больше говорим о персональных компьютерах, то из самых популярных можно выделить Ubuntu, Fedora, SUSE, Debian, Mandriva, возможно в этот список можно будет включить еще несколько.

Так много? И как же выбрать лучший?

Это, на самом деле, довольно сложный вопрос, по поводу которого можно очень долго дискутировать. Существуют разные взгляды на проблему выбора дистрибутива. Одни советуют начинать с более сложных дистрибутивов (Slackware, Gentoo), мотивируя это тем, что разобравшись в них потом более простые не страшны. Другие же, наоборот, советуют начинать с дружественных дистрибутивов (Ubuntu, SuSE, Mandriva), приводя свои аргументы, что разбираться с работающей системой намного проще чем пытаться запустить некий полуфабрикат. Мы также более склоняемся ко второму варианту и советуем обратить внимание на Ubuntu. Это самый популярный и один из самых простых на сегодняшний день дистрибутивов Linux. Именно на его примере пишется множество руководств, и эта статья не исключение.

Хорошо. Я включил компьютер и он спрашивает у меня логин и пароль. Что мне делать?

Linux поддерживает работу с несколькими пользователями на одной системе. У каждого пользователя может быть собственный домашний каталог, собственные настройки программ и пр. Для собственной идентификации, каждый пользователь имеет логин (другими словами псевдоним) и собственный пароль. Свой логин и пароль вы указывали во время установки системы. В Windows принят точно такой же подход, разница здесь не большая. В Linux системе также существует пользователь root, который создается автоматически, он служит для администрирования системы. Это аналог Администратора в Windows, однако с заметно большими привилегиями, в действительности просто неограниченными.

А где здесь кнопка Пуск?

В Ubuntu, по умолчанию, используется рабочая среда Gnome. Вместо кнопки Пуск здесь есть меню с трех пунктов на верхней панели: Программы, Места и Система. В меню Программы можно увидеть установленные программы, отсортированные по темам. Меню "Места" содержит ссылки на стандартные папки, позволяет использовать закладки и пр. А меню "Система" служит для настройки вашей ОС (это аналог Панели управления в Windows).

Вы вспомнили о каком-то Gnome, что это такое?

В отличие от Windows, в Linux графическая среда не является жестко интегрированной в систему. Существует графическая подсистема, которая называется X Windows. Она включает видеодрайверы, набор базовых библиотек, набор специальных протоколов и др. Для отображения окон программ используется менеджер окон. Непосредственно же, удобный интерфейс пользователя, для работы с системой, обеспечивает пользовательская среда. В Windows, вместо стандартной среды, также можно использовать альтернативные среды, такие как Talisman или Aston например. Что же касается Linux, то здесь понятие стандартной рабочей среды просто не существует, каждый разработчик дистрибутива избирает тот вариант который ему нравится. На сегодняшний день существует три наиболее популярных среды: Gnome, KDE и Xfce. В Ubuntu, в качестве стандартной среды, принят Gnome.

А где здесь диск C:?

В отличие от Windows в Linux не используются буквы для идентификации разделов. Вместо этого, файловые системы разных разделов монтируются в виде каталогов единственной корневой файловой системы с четкой структурой. Например CD-ROM, флоппи-дисковод или флешку можно найти в каталоге /media в виде отдельных подкаталогов. В действительности, к любому каталогу можно примонтировать любую файловую систему. Причем не важно, будет это раздел на вашем диске или он находится на другом компьютере в сети. Windows начиная с версии 2000 тоже поддерживает такую возможность, но ею не часто пользуются да и возможностей там меньше. Аналогичный подход принят также в Windows Mobile.

Ну и где же мне хранить свои файлы?

В вашем домашнем каталоге (Места->Домашний каталог). Домашние каталоги всех пользователей находятся в каталоге /home корневой файловой системы.

Я вставил диск со своей любимой игрой, щелкнул на setup.exe но система говорит, что такой формат ей не известен. В чем дело?

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

А как же тогда здесь устанавливать новые программы?

Дистрибутивы программ для Ubuntu распространяются в специальных файлах.deb, так называемых пакетах. Достаточно загрузить такой файл и щелкнуть по нему мышкой, чтобы программа установилась. Но существует один важный момент - в отличие от Windows, в Ubuntu пакет с программой не всегда включает все необходимые для ее работы файлы. Таким образом, перед установкой основного пакета, обязательно нужно установить и пакеты с нужными библиотеками. Такая ситуация когда один пакет зависит от других, называется зависимостями. Это может показаться сложным, однако стандартный подход Ubuntu предусматривает установку программ из репозиториев. Репозиторий - это централизованный каталог пакетов, обычно на каком-то сервере в сети, хотя могут существовать и локальные репозитории, на диске, или DVD.

А какие еще преимущества использования репозиториев?

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

То есть системе нужно еще и адреса репозиториев прописывать?

Огромное количество программ находятся в официальных репозиториях, адреса которых уже известны системе. Некоторые программные продукты имеют собственные репозитории, их всегда можно добавить через Система->Администрирование->Репозитории.

А какие еще методы распространения программ существуют?

Существует еще формат пакетов.rpm, его используют такие дистрибутивы как Fedora или SuSE. Напрямую в Ubuntu он не поддерживается, но.rpm в большинстве случаев можно сконвертировать в.deb, с помощью утилиты alien. Также иногда программы распространяются в виде простых архивов.tar.gz. В таком случае нужно читать readme. Такие архивы могут включать либо бинарные файлы, тогда их достаточно просто куда-то распаковать, например в каталог /opt (в Windows также существуют программы которые не нуждаются в специальной инсталляции кроме простой распаковки). Иногда встречаются программы с собственным инсталлятором, аналогично setup.exe в Windows (здесь он часто называется setup.sh или install.sh). А иногда в Linux программы распространяются в виде исходных кодов, такие программы компилируются на месте (в таком случае читайте readme, поскольку установка таких програм может быть довольно сложна и сильно отличается от случая к случаю).

Существует ли, все же, способ установить программы для Windows?

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

А как мне установить необходимые драйверы?

В большинстве случаев, все необходимы драйверы уже интегрированы в систему. Потому, например с распространенным оборудованием проблем не существует и никаких драйверов устанавливать не нужно. Проблемы бывают тогда, когда система не знает о вашем оборудовании. Вообще, желательно перед тем как покупать новое оборудование, сверяться с соответствующим перечнем на официальном сайте дистрибутива. До сих пор существует проблема того, что некоторые производители не пишут драйверов для Linux, потому с некоторым оборудованием могут быть реальные проблемы. Это конечно не касается тех производителей, которые сами активно участвуют в развитии Linux: Intel, nVidia, HP и пр.

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

Так уж получилось, что даже на Хабре многие имеют очень смутное представление о семействе OS Linux.

Цель данной статьи – максимально популярным языком рассказать про особенности и отличия Linux от Windows для тех, кто вообще не имел с ним дела.

Я уже не один год свободно пользуюсь Archlinux, загружая винду лишь «на поиграться». Данная статья рассказывает о вещах, которые я выяснил эмпирическим путем, тыкаясь словно слепой котенок. Если бы в свое время мне попалась бы именно такая информация именно в такой форме - это сэкономило бы мне как минимум 2 года, в течение которых я переходил с Windows на Linux.

Краеугольный принцип работы с linux-системами - “От понимания – к действию”, в то время как в Windows - “Знаю куда нажать/где поставить галочку – делаю”. Говоря другими словами, чтобы что-то сделать – необходимо понимать, как оно там, внутри, устроено.

Тезис №1 – НЕОБХОДИМО владеть работой с системой из текстовой консоли!

“Чистый” линукс (базовая система) в любом дистрибутиве выглядит как DOS – черный экран, текстовый режим, мигающий курсор ожидает ввода. Когда сталкиваешься с таким впервые – сидишь и думаешь: “Блин, а что писать-то?”.

Современные user-friendly дистрибутивы дарят иллюзию, что пользователю консоль не нужна. Добрые дяди, мол, уже обо все позаботились. Вот тебе обоина в FullHD-разрешении, вот программа для настройки параметров – знай расставляй галочки, все как в Windows… Чтобы избежать ненужных холиваров, сделаю на этом месте отступление.

Есть пользователи Linux, у которых никогда ничего не глючит. Ubuntu обновляется с одной мажорной версии на другую, причем начиная с Ubuntu 1.0, и так далее. Ребята, не пишите ничего в комментариях про ненужность консоли для пользователя, идите лучше полюбуйтесь на радугу, которой какают розовые пони в вашем мире.

В моем мире Linux глючит и ломается. Нет, все вполне окей, если ты просто запускаешь программы и пользуешься ими. Но потом вдруг наступает момент, когда тебе позарез надо, скажем, сменить открытые дрова на проприетарные… ну или просто обновить систему. И вот тут, если звезды встали неудачно, ты получаешь сломанную систему и текстовую консоль как единственный метод взаимодействия с ней. И (что самое поганое) – подобная фигня имеет свойство случаться регулярно .

Мой опыт говорит о том, что в такие моменты Windows-пользователь действует так, как он привык, повинуясь привычной идеологии. Сначала идет попытка “починить”. Windows-идеология предписывает найти в инете обсуждение аналогичной проблемы и ее решение, после чего повторить все действия, которые привели к решению проблемы . Итог – пользователь бездумно вбивает непонятные ему команды. Иногда это даже помогает, чаще – нет: содержимое команд необходимо модифицировать под конкретные условия и конкретную локальную машину, а знаний для этого нет. Как следствие, дальнейшим логическим шагом идет переустановка системы. Поверьте, я знаю о чем говорю – я сломал и переустановил Ubuntu более 10 раз… из которых около трети после самопроизвольной смерти системы в процессе обновления, без корелляции с кривизной рук.

Изучение устройства системы и работы с ней из консоли сродни известному “день потерять – за час долететь”. Устранить проблему в этом случае – гораздо быстрее переустановки, не говоря уже о том, что куда проще становится “не ломать” :) Кроме того, полностью исчезает разница – сидишь за компьютером локально или через удаленную SSH-сессию. Поверьте, это ощущение многого стоит.

Тезис №2: user-friendly дистрибутивы для изучения системы подходят плохо.

Разработчики подобных дистрибутивов старательно создают интерфейсный графический слой, призванный свести взаимодействие пользователя и системы до бездумного кликанья мышкой. Технически же этот слой может представлять из себя совершенно феерическое нагромождение костылей – на bash"е, python"е, perl"е… совершеннейший ад для новичка, пытающегося понять логику работы системы. Кроме того, вменяемая документация (если она вообще есть) теряется среди форумных постов вида “чтобы получить А, введите в консоли Б, а в настройках нажмите кнопочку С”

Для обучения лучше всего подходят технически минималистичные дистрибутивы с качественной и подробной документацией. Таковыми, к примеру, являются Gentoo и Archlinux. Лично я рекомендую последний – просто потому, что в моем случае это сработало. После пары лет мытарств с Убунтой, всего пара месяцев с Арчем продвинула меня в постижении Linux раз в 10 дальше.

Причин тут несколько:

  1. Технический минимализм системы сильно облегчает ее понимание.
  2. Качественная, подробная документация облегчает процесс обучения.
  3. Выход из “зоны графического комфорта” весьма способствует!

Последний пункт стоит отметить особо. Ubuntu с ее графическим интерфесом никак не добавляет мотивации ковыряться в консоли. Другое дело – когда изначально есть лишь консоль и сильнейшая мотивация “настроить уже этот графический интерфейс” - тут просто деваться некуда, приходится осваивать документацию и обрастать знаниями.

Windows и Linux: принципиальные отличия

1. Файловая система

  • В Linux логическим дисковым томам не назначаются буквы. Вместо этого один из них назначается корневым, а остальные подключаются к указанным папкам внутри него. Все пути начинаются с косой черты, без всяких дисков C:
  • Все системные файлы свалены в корневой файловой системе, и разбиты по каталогам по типам/назначению. Условно говоря, все настройки находятся в /etc, исполняемые файлы в /bin и /usr/bin – и ко всему этому добру обычный пользователь (не администратор) имеет доступ только на чтение/выполнение, и то не всегда (когда дело касается системных сервисов)
  • Расширения у файлов в linux – вещь совершенно необязательная. Является ли файл исполняемым, определяется специальной отметкой – по типу отметки “скрытый” или “архивный” в Windows. Исполняемые файлы без расширения в linux – норма вещей!
  • В linux нет специальной отметки того, что файл скрытый. Вместо этого используются имена с точкой в начале, а уже файловые менеджеры позволяют отключать отображение таких файлов. То есть, файл /home/user/.bashrc – скрытый. Точка в этом случае – часть имени файла!
  • Обычный пользователь имеет полный доступ только к своей личной папке, которая обычно находится в /home/%имя_пользователя%. По аналогии с диском D: в Windows, к папке /home часто подключают отдельный раздел диска. Таким образом, все данные пользователей находятся на отдельном разделе (или вообще физическом жестком диске).
  • Все пользовательские (не системные) программы при необходимости сохранить какие-то свои данные или настройки, делают это только в домашней папке пользователя, от которого они запущены – просто потому, что только в ней они имеют право на запись.
  • Само понятие “файл” в Linux немного другое, более широкое. Есть т.н. “файлы устройств”. Например, /dev/sda обычно жесткий диск (хотя может быть и флешка), а /dev/sda1 это первый раздел этого жесткого диска. Отсюда возможны такие хитрые маневры, как dd if=/dev/sda1 of=/home/user/backup – команда побайтно скопирует весь первый раздел диска /dev/sda в файл backup в домашнем каталоге пользователя. Есть т.н. “символьные ссылки” - в файловом менеджере они выглядят как обычный файл, по факту ссылаются на другой файл, и места на диске не занимают. То есть, может быть один исполняемый файл и куча символьных ссылок на него в разных местах.

2. Пакетный менеджер и понятие “пакета”, установка программ.

  • Программы ставятся только от аккаунта администратора. При установке все файлы, относящиеся к программе (например, Firefox), “размазываются” по корневой файловой системе – общие для всех пользователей настройки пойдут в /etc, исполняемые файлы в /usr/bin, а иконки и различные ресурсы вроде графики и звуков – в /usr/share/firefox. При таком раскладе пользователь в принципе не может знать, где у него что конкретно лежит. За это отвечает пакетный менеджер. Например, пакет “Firefox” включает в себя кучу файлов. Пакетный менеджер при установке пакета разложит их по файловой системе, а при удалении – соответственно удалит.
  • Еще одна важная функция пакетного менеджера – удовлетворение зависимостей пакета. Например, Firefox требует для работы библиотеку libjpeg. Значит, при установке менеджер пакетов автоматически доустановит пакет libjpeg, а при удалении – удалит, если тот не будет требоваться каким-либо еще пакетом.
  • В пакетном менеджере обычно есть база данных со всеми доступными пакетами, и он имеет средства поиска по этой базе. Поэтому установка программ в linux невероятно проста – первой командой мы ищем по ключевым словам по базе точное название пакета, второй – ставим. Не нужно лезть на сайты, искать и что-то качать. Если мне надо в Арче поставить skype – я набираю pacman -S skype и жму ENTER, и через минуту у меня установлен скайп. Надо Firefox – пишу pacman -S firefox . И так далее. В другом дистрибутиве будет отличаться команда и синтаксис, возможно потребуется указать адрес репозитория – сам принцип неизменен.
  • Никогда, никогда даже не пытайтесь качать и запускать что-либо через браузер, как в Windows! Только если вы полностью знаете, что делаете – но тогда зачем вы все это читаете?) Скачать и запустить файл - это часть полностью чуждой (даже враждебной) для Linux идеологии. Программы надо ставить через пакетный менеджер. Точка.
  • Никогда не используйте для установки программы метод “configure && make && make install”. Каждый раз, когда это происходит – в мире мучительной смертью умирает с десяток невинных котят. Данный набор команд соберет из исходников программу, а потом раскидает ее файлы по файловой системе без ведома пакетного менеджера. Это нарушение нормальной логики работы с системой. Не делайте так))
  • Добавлю, пожалуй, сюда еще вот что. Очень часто можно увидеть настойчивые советы «не работать из под администратора», и на это есть не совсем очевидная Windows-пользователям причина. Дело в том, что набор команды в консоли таит в себе опасность опечаток и случайных нажатий. Вполне реальна ситуация, когда ты собираешься удалить папку, начинаешь писать к ней путь и случайно задеваешь ENTER. Linux не имеет привычки спрашивать «Ты точно такой дурак? y/n» - он просто сделает. Поэтому под рутом набирать команды приходится предельно внимательно. В Windows такой проблемы, конечно, нет.

3. Графическое окружение пользователя

  • Все графическое окружение пользователя – это совокупность прикладных программ. Исторически сложилось, что для Windows-пользователя такие понятия, как “Рабочий стол”, панель задач, системный трей, регулятор громкости, часы и календарь, меню “Пуск”, доступ к настройкам сети из трея – неотъемлимая часть ОС Windows. В Linux все вышеперечисленное реализуется отдельными программами. Более того, для каждой задачи из приведенного списка есть далеко не одна программа. В качестве регулятора громкости я могу поставить volumeicon, написанный на C, или volwheel на python
  • В основе работы графического окружения лежат следующие программы:
    1. X-сервер, или просто “Иксы”. Программа, осуществляющая прием данных от пользователя (с устройств ввода) и базовое управление окнами, их сворачивание-разворачивание. “Сервером” называется потому, что обеспечивает “сетевую прозрачность”: для Linux не существует разницы, каким образом пользователь зашел в графический сеанс, локально или удаленно. Эдакий RDP как базовая функциональность, проще говоря.
    2. Менеджер окон, он же WM. Занимается отрисовкой элементов оконного интерфейса, плюс (в зависимости от навороченности) предоставляющий ряд других функций. Некоторые WM позволяют задать фон рабочего стола, некоторые добавляют функциональность “системного меню”. Иногда с X-сервером ставится простейший (чтобы было) менеджер окон – TWM. Страшный как божий грех, прямиком из 70х годов.
    3. Декоратор окон – иногда функционал по оформлению окон, возможность менять темы оформления выносится в отдельную программу
    4. Композит-менеджер – тоже бывает как часть WM, либо как отдельная программа. Его задачей является переложить отрисовку интерфейса на видеокарту. Технически принцип прост – каждое отрисованное окно это отдельная текстура в памяти видеокарты. А обращаться с текстурами, добавлять эффекты и искажения, проецировать на плоскость в пространстве, менять полупрозрачность и накладывать их друг на друга видеокарты умеют уже много лет.
    5. Элементы интерфейса: панель задач, трей, менеджер сети, системное меню, программа для задания обоев рабочего стола
    6. Базовый прикладной софт – диспетчер файлов, эмулятор терминала (чтобы консольные команды писать в красивом полупрозрачном окошке)
  • Преднастроенные ”комплекты” подобранных друг под друга элементов графической среды, программ из списка выше, называются “Окружениями рабочего стола”, или DE. Наиболее известны такие DE, как Gnome и KDE, самые тяжеловесные и “жирные”. Есть также XFCE и LXDE. Установка часто реализуется посредством установки так называемого мета-пакета – сам по себе пакет не содержит файлов, но в качестве зависимостей требует установки всего комплекта программ, составляющих DE: WM, декоратора/композит-менеджера, файлового менеджера и так далее
  • Также можно (и нередко является разумным) собирать для себя окружение из “кусочков” по своему вкусу – отдельно выбрать WM, отдельно файл-менеджер и так далее
Подведение итогов

После небольшого самообразования, получение из текстово-консольной системы графической происходит в одну команду. В моем случае, я набираю:
pacman -S xf86-video-ati xorg-server openbox tint2 nitrogen lxterminal xcompmgr wicd-gtk volumeicon .
Это команда установить все перечисленные пакеты:
xf86-video-ati это open-source драйвера для моей видеокарты
xorg-server это “иксы”
openbox это легковесный WM с системным меню (типа как “Пуск”)
tint2 это панель задач с треем, куда будут сворачиваться приложения
nitrogen позволяет задать фон рабочего стола
lxterminal – мой любимый эмулятор терминала
xcompmgr это самый простой композит-менеджер, добавляет полупрозрачность и тени
wicd-gtk это менеджер сетевых подключений, который висит в трее
volumeicon – регулятор громкости

После этого, уже из графической среды, через lxterminal устанавливаю все остальное, что нужно для жизни: браузер(ы), файл-менеджер, видео и аудиокодеки, плеер, libreoffice, gimp и прочее)

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

В этой статье мы рассмотрим чем отличается windows от linux с технической точки зрения, попытаемся разобраться почему Linux считается более безопасным, а также понять суть различий.

Основной компонент каждой операционной системы - это ее ядро. И даже с этого, между операционными системами есть огромные отличия. Ядро Linux - монолитное, оно состоит из одного файла, а для расширения его функциональности можно использовать модули.

Все программы общаются с ядром через системные вызовы, они стандартизированы, поэтому одни и те же программы без переписывания смогут работать на разных платформах под управлением Linux, например, x86 и ARM.

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

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

Но и это еще не все, системные вызовы не используются, вместо них пользовательские программы вынуждены обращаться к документированным библиотекам user32.dll, gdi32.dll, kenel32.dll, advapi32.dll. Эти библиотеки вызывают функции из ntdll.dll, которая напрямую связана с ядром.

Драйверами управляет библиотека hal.dll и подключаются они к ядру отдельно. Выводом на экран управляет графическая подсистема ядра, туда входит вся работа с графикой, в том числе и с оболочкой. Возможность использования пользовательского режима ядра позволяет легко адаптировать систему к любому типу программ, например win16 или POSIX. Но за эту гибкость приходится платить производительностью.

2. Структура файловой системы и диски

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

Файлы сортируются по каталогам в зависимости от типа, например, исполняемые - в /bin/, настройки - /etc/, а ресурсы - в /usr/. Получается что одна программа разделена по всей файловой системе, но это не выведывает трудностей из-за пакетного менеджера.

Устройства хранения в Linux именуются по алфавиту, а разделы на них - цифрами. Например, первый жесткий диск будет иметь имя sda, второй - sdb. А разделы на первом будут нумероваться - sda1, sda2, sda3 и так далее. Разделы могут свободно монтироваться в любую нужную папку, например, в качестве домашнего каталога или /var/.

Windows создает дополнительную абстракцию. Хотя диски и разделы именуются похожим образом, как и в Linux, но все это скрыто операционной системой. Пользователю же предоставляется такая абстракция, как диск C:, D:, E:, F: и так далее. Каждый из них - это раздел на жестком диске, а более подробную информацию от пользователя система скрывает. Это и к лучшему для новичков. Что касается распределения файлов, то одна программа находится в одной папке, со всеми исполняемыми файлами, настройками и ресурсами.

3. Хранение конфигурации и данных

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

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

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

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

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

4. Управление пользователями и права

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

Windows была предназначена для работы только одного пользователя, изначально из-за этого возникало очень много проблем с безопасностью. Но потом система пользователей была доработана многопользовательская система, которая, кроме владельца, группы и остальных включает подробные ACL списки доступа. Можно сказать, что тут различие windows и linux не так велико.

5. Управление программами и обновление

Продолжим сравнение windows и linux. Управление программами и их обновлением это огромная разница windows и linux, настолько все реализовано по-другому.

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

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

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

Выводы

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

На завершение небольшое видео о вечном споре Windows vs Linux, хотя оно уже немного устарело, но рассказано довольно интересно и по делу: