- Сравнение операционных систем семейства Linux/UNIX и Windows
- Чем отличается Windows от Linux
- Чем отличается Windows от Linux
- 1. Ядро и драйверы
- 2. Файловая структура и права доступа
- 3. Окружение рабочего стола
- 4. Программное обеспечение
- 5. Разработка программного обеспечения
- 6. Способ распространения
- 7. Доля на рынке, сферы применения
- Выводы
Сравнение операционных систем семейства Linux/UNIX и Windows
Введение
В последнее время наблюдается большой приток пользователей Linux. Как правило это люди уже имеющие вполне приличный опыт в общении с компьютером, но этот опыт в большинстве случаев ограничен одной системой. Естественно, что этой системой является самая распространенная на сегодня на дескотопах операционная система компании Microsoft MS Windows. Большое число пользователей Windows также ставят Linux, или запускают его с «Live CD» «на посмотреть».
И тут возникает сразу несколько проблем, связанных с тем, что новые пользователи Linux ожидают увидеть перед собой «еще один Windows». А Linux — это совсем не клон Windows, это совсем другая система, с другой основой, другими традициями, другими возможностями и другими требованиями к пользователю.
По моему убеждению именно это непонимание и является одним из источником такого количества так называемых «священных войн». Возможно данная статья позволит если не уменьшить количество таких войн, то хотя бы даст большее понимание позиций противников и снизит накал в войнах.
Очень глубоко лезть в устройство этих двух операционных систем нам, я думаю, ни к чему, будем рассматривать их в основном с точки зрения пользователя.
Экскурс в историю (очень краткий)
Для сравнения, думаю невредно освежить в памяти краткую историю сравниваемых операционных систем.
История Unix
Операционная система UNIX была создана еще до эры коммерческого софта. Она писалась инженерами, как система «для себя». Поэтому в нее были заложены передовые на то время концепции. В дальнейшем своем развитии при добавлении новых черт, обычно считалось, что делать нужно «правильно». Т.е. например если нужно было выбирать из двух решений, одно из которых было с инженерной точки зрения «неправильным», например повышало производительность сегодня, но могло принести затруднения в дальнейшем, как правило, такое решение отвергалось и выбиралось «правильное» решение, пусть и с определенной потерей производительности.
Первые версии UNIX были написаны на Ассеблере, затем система была переписана на СИ. Это дало системе уникальную переносимость. На PC UNIX был портирован, а точнее заново написан (Linux) сразу, как только развитие PC, а точнее выпуск PC на процессоре i386, позволило это сделать.
В 1985 году стартовал проект POSIX. Это стандарт на интерфейсы UNIX-подобных ОС. Во многом благодаря наличию такого стандарта, так быстро смог появится на свет и достигнуть зрелости Linux — свободная воплощение UNIX.
Развитие интернета с самого начала и до нашего времени неразрывно связано с серверами под управлением ОС UNIX. Сначала с коммерческими, а теперь все больше и больше со свободными.
С точки зрения коммерциализации развитие UNIX можно разделить на три этапа.
- Некоммерческое распространение в университетах.
- Распространение коммерческих UNIX систем.
- Появление свободных реализаций (Linux, FreeBSD) и вытеснение коммерческих систем (настоящий момент).
До появления системы X Window System UNIX была системой с текстовым интерфейсом, затем добавился графический, но традиционно текстовый интерфейс сохраняет важное значение.
Очень важно то, что UNIX с самого начала был многозадачной и многопользовательской системой. Т.е. на одной машине могут работать сразу несколько пользователей, и выполняться несколько программ одновременно.
Фирменной чертой всех UNIX-подобных ОС была и остается надежность.
Год | Событие | Комментарий | Разр | Многопольз. | Многозадачн. |
1971 | Первая версия UNIX | На ассемблере | 32 | Есть | Есть |
1973 | Третья версия UNIX | На Си | 32 | Есть | Есть |
1983 | TCP/IP | — | 32 | Есть | Есть |
1983 | Проект GNU стартовал | Подготовил свободную обвязку для UNIX- подобных ОС | 32 | Есть | Есть |
1984 | X Window System | Оконная система | 32 | Есть | Есть |
1985 | Стартовал проект POSIX | Стандарты интерфейсов UNIX-подобных систем | 32 | Есть | Есть |
1991 | Появление Linux | Первая свободная реализация ядра UNIX для PC, 32 разрядная, сеть | 32 | Есть | Есть |
1993 | Появление FreeBSD | Еще одна свободная реализация ядра UNIX для PC, 32 разрядная, сеть | 32 | Есть | Есть |
История Windows
Истоки зарождения операционной системы Windows следует искать в предшествующей ей операционной системе той же самой фирмы — DOS. Все операционные системы компании Microsoft, это прежде всего коммерческие проекты. Об этом нужно помнить всегда, особенно, когда стараешься понять истоки тех или других решений, как коммерческого плана, так и технического.
Первой ОС из этого семейства была DOS. Может показаться, что DOS собственно имеет косвенное отношение к обсуждаемому предмету. Но, многие традиции, база пользователей и разработчиков, их привычки, идут именно оттуда.
DOS была однозадачной однопользовательской операционной системой с текстовым интерфейсом. Первая версия Windows представляла собой нечто, негодное для работы и распространения не получила. Работать стало в Windows стало возможно, начиная с версии 3. В версии Windows For Workgroups 3.1 появилась возможность работы с сетью. Winodws серии 3 представляли собой запускаемую поверх DOS систему. Отличались невысокой надежностью.
В 1995 годы вышла новая версия — Windows 95. Код частично был 32 разрядным, частично 16 разрядным, встроенная сеть. По сравнению с Windows серии 3 это был серьезный шаг вперед. Повысилась надежность, но до надежности UNIX-подобных ОС было еще далеко. В качестве рабочей станции с натяжкой конечно, надежности хватало, в качестве сервера, нет. Позже были выпущены еще две ОС этой линии, Windows 98 и Windows Me. После этого линия была закрыта.
В 1993 году вышла новая версия — Windows NT 3.1. Это уже была полностью 32 разрядная система. Разработана она была с нуля, для ее разработки были наняты известные специалисты. Были внедрены новые концепции. Это подняло надежность почти до уровня надежности UNIX-подобных систем. Эта ОС уже могла работать в качестве сервера. Продолжение этой линии, операционные системы Windows 2000, Windows XP и Windows Vista.
ОС линии NT были многозадачными, начиная с Windows XP появилась и возможность работать нескольким пользователям, хотя и более ограниченная и гораздо менее удобная, чем у UNIX-подобных ОС.
Год | Событие | Комментарий | Разр | Многопольз. | Многозадачн. |
1981 | DOS | — | 16 | Нет | Нет |
1985 | Windows 1.0 | Надстройка над DOS | 16 | Нет | Нет |
1990 | Windows 3.0 | Надстройка над DOS | 16 | Нет | Есть |
1992 | Windows For Workgroups 3.1 | Надстройка над DOS, сеть | 16 | Нет | Есть |
1995 | Windows 95 | сеть | 16/32 | Нет | Есть |
1993 | Windows NT | сеть | 32 | с 1998 | Есть |
2000 | Windows 2000 | сеть | 32 | Есть | Есть |
2005 | Windows XP | сеть | 32 | Есть | Есть |
2007 | Windows Vista | сеть | 32 | Есть | Есть |
Техническое устройство с точки зрения пользователя
С точки зрения пользователя UNIX устроен примерно так:
- Ядро. Работает с устройствами, управляет памятью и процессами.
- Текстовая подсистема, работа с системой через терминал. Причем для управления всеми возможностями ОС достаточно только текстовой подсистемы. Возможно вход через эту подсистему многих пользователей. Богатый набор как встроенных утилит, так и приложений, работающих в текстовом режиме.
- Графическая подсистема Xwindow. Запускается как процесс в системе.
- Система удаленного доступа в текстовом режиме. Позволяет полноценную работу с ОС в текстовом режиме. Потребляет мало ресурсов. Позволяет работать на сравнительно слабых компьютерах одновременно десяткам и сотням пользователей. Количество сессий ограничено ресурсами компьютеров.
- Система удаленного доступа в графическом режиме. Позволяет одновременно работать нескольким пользователям в графическом режиме. Количество сессий ограничено ресурсами компьютеров.
- Система передачи графического окна приложения на другой компьютер. Позволяет запустив приложение на одном компьютере, управлять им с другого компьютера, через окно приложения, передаваемое на этот другой компьютер. Количество сессий ограничено ресурсами компьютеров.
Windows
- Ядро. Работает с устройствами, управляет памятью и процессами, управляет графической подсистемой.
- Графическая подсистема. Обеспечивает интерфейс с пользователем. Приоритетная система для пользовательского интерфейса.
- Текстовая подсистема. Обеспечивает текстовый интерфейс с пользователем. Текстовый интерфейс весьма урезанный. Набор утилит текстового режима как встроенных, так и других производителей весьма куцый. Синтаксис и состав команд текстового режима меняется от версии к версии. Запускается только поверх графического режима.
- Система удаленного доступа. Появилась впервые, как встроенная в систему, в Windows NT Server 4.0. До этого были только продукты других фирм. В связи с тем, что запускается полноценная графическая сессия, кушает очень много ресурсов. Наличие системы удаленного доступа и количество одновременных сессий может вообще отсутствовать или быть ограничено в разных версиях из коммерческих соображений.
Сравнение концепций
Давайте теперь рассмотрим, чем отличается подход к работе в этих двух системах.
UNIX: Концепция «Toolbox»
Поскольку UNIX разрабатывалась инженерами и для инженеров, в ее основу была положена концепция toolbox (ящик с инструментами). Что это значит? Это значит, что при создании софта и встроенных утилит для UNIX не делали универсальные программы, каждая из которых выполняла бы внутри себя все, необходимые пользователю действия, а для каждой небольшой задачи создавалась своя утилита, которая выполняла свою задачу, только одну, но делала это хорошо. Дело пользователя было при помощи набора этих утилит выполнить операции, которые ему нужно сделать.
При этом из этого набора утилит можно составлять цепочки и последовательности действий, что позволяет легко автоматизировать рутинные, часто повторяющиеся операции.
Для того, чтобы утилиты могли обмениваться между собой результатами своей работы, в качестве носителя информации был выбран текстовый файл. Для обмена информацией между утилитами были изобретены «pipes» (трубы). При помощи «труб» информация с выхода одной команды может быть передана на вход второй, та ее обрабатывает, выдает свою информацию на выход, которая может быть передана на вход третьей и так далее.
В общем, в результате UNIX позволяет пользователю легко создавать простые программные комплексы, выполняющие повторяющиеся действия как по команде пользователя, так и в автономном режиме.
Такой подход имеет как плюсы, так и недостатки. С одной стороны он дает больший контроль над системой, гибкость в настройке, но при этом повышается порог вхождения в систему, или говоря простыми словами, прежде, чем что нибудь сделать, как правило, нужно изучить основы.
Windows: Концепция «Тостер»
В Windows доминирует другая концепция. Эта концепция — максимально облегчить вхождение пользователя в задачу. Программы в Windows как правило большие, на каждое действие есть пункт в меню или иконка. В системы программы связываются как правило с большим трудом.
Ухудшает ситуацию о построением комплексов на базе Windows то, что большинство программ — коммерческие и используют свои, бинарные и как правило закрытые форматы данных и файлов. Такой подход превращает компьютер в устройство, которое может выполнять ограниченный изготовителем ПО набор функций, в пределе в этакий своеобразный «тостер», который выполняет только то, что задумал его изготовитель.
Плюс такого подхода — легкость вхождения неподготовленного пользователя. Минус — то, что обманутый кажущейся легкостью пользователь вообще не хочет ничему учиться и не выполнять необходимых действий. На поводу идут и производители софта. Это одна из причин такого обилия документов отформатированных пробелами, пренебрежения безопасностью и как следствие вирусных эпидемий.
Заключение
Конечно, в обоих системах не доминирует свой подход на 100 процентов. Как в Windows есть возможность пользоваться текстовой консолью и создавать .bat файлы, так и в UNIX есть большой набор программ, со свойствами присущими скорее «тостерному» подходу. И все таки описанная разница в подходах есть и она достаточно ярко выражена.
Источник
Чем отличается Windows от Linux
Операционная система Windows появилась в 1985 году, а первые полноценные дистрибутивы Linux начали появляться в 1993 году. Windows изначально была графической надстройкой MS-DOS, а Linux служил для доступа к терминалу. Спустя годы системы заметно преобразились и представляют собой гораздо большее, чем было ранее.
В этой статье мы разберемся чем отличается Windows от Linux. Мы рассмотрим основные отличия систем, как в плане архитектуры, так и с точки зрения обычного пользователя и разработчика программного обеспечения.
Чем отличается Windows от Linux
1. Ядро и драйверы
Ядро операционной системы обеспечивает доступ к ресурсам компьютера, а также управляет процессами. Linux использует монолитное ядро, то есть в одном файле содержится большая часть кода, необходимого для функционирования системы. На нижнем уровне оно принимает сигналы от устройств, а на верхнем обрабатывает системные вызовы – доступные программам команды, отвечающие стандартам POSIX. Системные вызовы дополняют библиотеки C, C++ и утилиты проекта GNU, что позволяет выполнять код любой сложности.
Ядро Windows гибридное и состоит из множества библиотек. Таким образом главная программа Ntoskrnl.exe, не имеет прямого доступа к аппаратной части, эту роль выполняет библиотека HAL.dll. А на пользовательском уровне вместо системных вызовов используются функции библиотеки NTDLL.dll, к которой также подключаются библиотеки C, C++ и т.д.
Драйверы Linux по большей части хранятся в ядре, но зачастую подключаются модули ядра, содержащие дополнительные драйверы, например, для видеокарт Nvidia. Драйверы Windows, как вы могли догадаться, выполнены в виде библиотек. В этом плане Linux проигрывает, поддерживается далеко не всё оборудование, к тому же часть устройств имеет только базовый драйвер.
Настройки Linux хранятся в каталоге /etc, где каждая служба и программа имеет свой конфигурационный файл. В Windows некоторые службы также имеют конфигурационные файлы, но все основные настройки хранятся в общей базе – системном реестре.
2. Файловая структура и права доступа
Windows и Linux используют разные файловые системы. Если для Linux стандартом стал ext4, то для Windows – NTFS. В целом они похожи, обе имеют запас по размеру разделов, глубине каталогов и длине имени файлов. Также они поддерживают шифрование, а NTFS помимо прочего умеет сжимать данные для экономии места. Эта функция есть в более перспективной BTRFS, которая должна в скором времени заменить ext4.
Обе системы ведут журналирование изменений, что повышает надёжность. Однако, NTFS не имеет полной поддержки прав доступа POSIX, поэтому она не подойдёт для установки Linux. Стоит отметить и то, что Windows не поддерживает ext4 из коробки, а большинство дистрибутивов монтирует NTFS только по запросу.
Главное же отличие – это файловая структура. В Linux все файлы и каталоги находятся в корневом каталоге /, всё согласно стандартам UNIX. Накопители и их разделы смонтированы в том или ином месте корневого каталога. Например, второй накопитель можно найти в каталоге /mnt. Программы хранятся сразу в нескольких каталогах, настройки в /etc, исполняемые файлы в /bin и т.д.
В Windows пользователю видны логические диски, системный диск C:, а также остальные диски с другими буквами алфавита. Что интересно, Windows тоже поддерживает точки монтирования, и вместо буквы можно указать папку. Программы хранятся в отдельных каталогах, зачастую есть возможность выбрать место установки. Из недостатков стоит отметить регистронезависимые имена. В одном месте нельзя создать две папки с именами Folder и folder, для системы это одно и то же.
Несмотря на то, что Linux изначально создавался в качестве замены UNIX, системы для мейнфреймов с многопользовательским доступом, Windows позволяет более гибко настраивать права доступа. В Linux по умолчанию есть всего три категории прав: пользователь, группа, все остальные.
Windows может выдавать права сразу нескольким пользователям и группам. Linux также это умеет, но через расширение стандарта POSIX в виде списков управления доступом ACL. Для этого используется консольная утилита setfacl и её графический аналог Eiciel. Дальше давайте рассмотрим другие принципиальные отличия Linux от Windows.
3. Окружение рабочего стола
Windows использует оконный менеджер DWM и оболочку Explorer (не путать с файловым менеджером), которые тесно связаны с библиотекой GDI, а та в свою очередь зависит от унифицированного драйвера WDDM. Этот набор библиотек и служб есть в любой копии Windows, поэтому разработка программ стандартизирована. Минусом подобного решения является ограниченная кастомизация интерфейса.
Linux может предложить множество оболочек рабочего стола (GNOME, KDE, Cinnamon и т.д.) со своими оконными менеджерами, а обслуживать это будет протокол XOrg или современный Wayland. Система может выглядеть как угодно, а популярные оболочки имеют множество настроек для изменения внешнего вида. Обратная сторона медали – плохая совместимость программ, написанных под разные оболочки.
4. Программное обеспечение
Сложно отрицать тот факт, что на Windows выпускается гораздо больше программ и игр. На Linux вы не найдёте многие профессиональные программы, начиная с пакета Adobe и заканчивая различными САПР.
Приложения Windows в большинстве своём распространяются в виде установочных файлов формата .exe или .msi, а в Linux зачастую используются репозитории – файловые серверы с огромным количеством пакетов программ и библиотек. Также используются разные форматы пакетов, в зависимости от выбранного дистрибутива. Единая пакетная база заметно усложняет разработку программ. Например, нельзя переписать программу с использованием новой библиотеки, ведь старая используется другими приложениями.
Эту проблему пытаются решить несколькими способами. Сторонние программы могут устанавливаться в каталог /opt, аналог папки Program Files. Также получили распространение песочницы Flatpak и Snap, устраняющие проблемы с зависимостью от системных библиотек, и формат AppImage (одна программа – один файл).
К плюсам Linux также можно отнести большее количество программ с открытым кодом. Это не гарантирует отсутствие уязвимостей, но позволяет создавать и дорабатывать программы, что особенно актуально при завершении поддержки разработчиками. Таким образом многие программы продолжают развиваться, но уже другими людьми.
Если же говорить об уязвимостях, то на Linux пишут меньше вредоносных программ, для защиты от них антивирус обычно не требуется. Но не стоит забывать о том, что большинство атак перешло в интернет. Поэтому даже на Linux не лишним будет установка антивируса для защиты от фишинговых сайтов.
5. Разработка программного обеспечения
Microsoft предоставляет доступ к библиотеке MSDN, она содержит подробную документацию для разработчиков. С написанием сложных программ, вроде игр, проблем также не должно возникнуть, используются одни и те же библиотеки во всех копиях Windows.
Linux позволяет с лёгкостью писать простые программы без графического интерфейса, причём получить доступ к оборудованию гораздо проще, чем в Windows. Устройства расположены в каталоге /dev, к ним можно обращаться практически напрямую. Однако, сложные приложения с графическим интерфейсом надо проверять на работоспособность во всех популярных дистрибутивах, поддерживать их пакеты в репозиториях и так далее. А ведь для этого надо изучить многочисленную документацию, которая выполнена на разном уровне.
Хорошим примером может послужить Android, система практически монополизировала рынок смартфонов, хотя в её основе лежит ядро Linux. А всё дело в том, что её приспособили для использования на мобильных устройствах и привели к единому стандарту.
Пока что разнообразие дистрибутивов Linux не может привлечь крупных разработчиков программного обеспечения. Трудозатраты на поддержку и отладку гораздо выше, чем для Windows, а доход на порядок ниже.
6. Способ распространения
Windows не имеет бесплатной версии, хотя есть способы (легальные и не очень) полноценно использовать систему. Предустановленные системы обходятся заметно дешевле, поэтому Windows имеется на большинстве продаваемых ноутбуков.
Большая часть дистрибутивов распространяется бесплатно, исключение составляют лишь некоторые коммерческие продукты, вроде серверного дистрибутива Red Hat. Бесплатность Linux мнимая, разработку оплачивают крупные корпорации, вроде Oracle и HP. Единичные экземпляры ноутбуков поставляются с Linux, хотя в последнее время он всё чаще предлагается в качестве альтернативы отсутствию операционной системы.
7. Доля на рынке, сферы применения
Linux создавался на основе стандартов POSIX для операционных систем UNIX, а те в свою очередь были основой многопользовательских мейнфреймов. В качестве домашней операционной системы Linux занимает менее 2%, зато около 80% серверов работает под управление Linux. Что уж говорить, если свой серверный дистрибутив Linux есть даже у Microsoft. Также Linux повсеместно используется в маршрутизаторах, телевизорах и прочей технике интернета вещей.
На текущий момент Windows популярен только в сегменте домашних компьютеров и рабочих станций, здесь он занимает более 80%. Windows для серверов хоть и менее популярна с долей около 20-30%, но опережает Linux в плане прибыли. Конечно, это не все отличия Linux от Windows.
Выводы
Теперь вы знаете чем отличается Windows от Linux и эти отличия довольно значительные. В первую очередь они связаны со сферой применения. Windows устанавливается преимущественно на персональные компьютеры, а Linux на серверы. Для домашнего использования Linux по-прежнему подходит лишь отчасти. Разнообразие дистрибутивов отталкивает разработчиков, а без программ интерес к системе падает и у обычного пользователя.
И всё же настольный дистрибутив Linux – это отличное решение для тех, кому компьютер требуется лишь для выхода в интернет, разработки сайтов и несложной работы с документами. Для игр и работы с мультимедиа Windows подходит гораздо лучше.
Источник