Сравнение windows 7 и linux. Классическое сравнение по пунктам. Другие отличия Linux от Windows

Так уж получилось, что даже на Хабре многие имеют очень смутное представление о семействе 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 добился серьезных успехов, поднявшись из категории «Какая-то открытая операционная система» до уровня «Вау, эта штука действительно нужная вещь! ». Linux постепенно переманивала определенных пользователей от со своими свободными возможностям и, возможно, даже вы думали о переходе на эту операционную систему. Но стоит ли это делать?

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

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

Файловая структура

Файловая структура операционной системы Linux кардинально отличается от Windows – это произошло из-за того, что системы писались разными разработчиками с использованием различного кода. Вы не найдете в Ubuntu и не найдете «Program Files» в Fedora. Там нет даже C: или D: дисков.

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

Отсутствие реестра

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

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

Диспетчер установщиков

В Windows вам часто приходится возиться с файлами, называемыми пакеты установки. Вы заходите на определенный сайт, переходите в раздел загрузки и нажимаете на ссылку «скачать», которая направляет вас прямо к.exe файлу. Далее вы запускаете этот файл, и программа-установщик делает свое дело: устанавливает программу на ваш компьютер. А когда вы хотите , то вам опять нужно возиться, но уже в панели управления. Правильно?

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

Лично у меня это самое любимое различие между Linux и Windows.

Сменный интерфейс

Интерфейс операционной системы Windows не претерпевал кардинальных изменений долгое время. Конечно, нам доступен интерфейс Aero, который появился с приходом Windows Vista. А до этого времени в XP было сделано всего несколько небольших улучшений по сравнению с Windows Classic. Однако панель задач, Windows Explorer и другие опции интерфейса принципиально не отличались.

В Linux, интерфейс полностью не зависит от основной системы. Вы можете переключить или изменить свой интерфейс по своему усмотрению, без полной переустановки системы. Здесь вы найдете GNOME, KDE, а также белее современный Unity, плюс ряд менее известных наименований сосредоточенных на различных аспектах интерфейса.

Командный терминал

Linux имеет репутацию операционной системы предназначенной для вундеркиндов и эта репутация, в основном, держится из-за использования командного терминала. Вы спрашиваете, что за терминал? Это такой черный ящик с традиционным зеленым текстом, который можно использовать для выполнения команд. Другими словами, это аналог командной строки в Windows.

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

Настройки драйверов

Поскольку Windows – самая распространенная операционная система на компьютерном рынке, производители концентрируют свои усилия именно на этой системе. Это значит, что такие компании как AMD и Nvidia ставят приоритетной системой Windows, а не Linux. Это значит, что в конечном итоге, вы можете начать выдергивать свои волосы из головы из-за неудачных попыток для вашего компьютера.

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

Сделай это сам!

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

Если вы прочитали статью до конца, и у вас до сих пор не отпало желание использовать Linux, то поздравляю!

Вы преодолели самое большое препятствие и не сошли дистанции.

Значит, у вас есть соответствующая психологическая подготовка (Linux не будет водить вас за руку) и воля к победам (знайте, что переустанавливать Linux вам придется, скорее всего, не раз и не два, прежде чем вы получите устраивающую вас версию), плюс вы сможете получить положительные эмоции от общения с операционной системой 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 давно уже перестал быть системой для компьютерных гуру. Современные дистрибутивы просто устанавливаются, легко настраиваются и очень просты в работе. Желаем вам успехов в изучении этой потрясающей ОС.

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

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

1. Ядро системы

Основной компонент каждой операционной системы - это ее ядро. И даже с этого, между операционными системами есть огромные отличия. Ядро 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 было для вас полезным.

Безопасность, свобода, бесплатность, открытый код, популярность, количество программного обеспечения, все это основные отличия 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, хотя оно уже немного устарело, но рассказано довольно интересно и по делу:



Понравилась статья? Поделиться с друзьями: