Linux против Unix: В чем разница?

Мы предоставляем услуги удаленного администрирования серверов

Linux против Unix: В чем разница?

Поделиться

Если вы разработчик программного обеспечения в возрасте от 20 до 30 лет, вы выросли в мире, в котором доминирует Linux. На протяжении десятилетий он был важным игроком в центрах обработки данных, и хотя трудно найти окончательные отчеты о доле рынка операционных систем, доля Linux в операционных системах центров обработки данных может достигать 70%, а варианты Windows составляют почти весь оставшийся процент. . Разработчики, использующие любое крупное общедоступное облако, могут ожидать, что целевая система будет работать под управлением Linux. Доказательства того, что Linux повсюду, выросли в последние годы, когда вы добавляете встроенные системы на базе Android и Linux в смартфоны, телевизоры, автомобили и многие другие устройства.

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

Итак, что это за Unix? В карикатурах рассказывается о волшебных «седобородах», сидящих за светящимися зелеными экранами, пишущих код на языке C и сценарии оболочки, работающие на старомодном кофе, сваренном в капельнице. Но у Unix гораздо более богатая история, чем у этих бородатых программистов на C из 1970-х. Хотя статей, подробно описывающих историю Unix и сравнений «Unix vs. Linux», предостаточно, эта статья предложит общие сведения и список основных различий между этими взаимодополняющими мирами.

Начало Unix

История Unix начинается в AT&T Bell Labs в конце 1960-х годов с небольшой группы программистов, которые хотели написать многозадачную многопользовательскую операционную систему для PDP-7. Двумя наиболее известными членами этой группы в исследовательском центре Bell Labs были Кен Томпсон и Деннис Ричи. Хотя многие концепции Unix были производными от его предшественника ( Multics), решение команды Unix в начале 1970-х годов переписать эту небольшую операционную систему на языке C — это то, что отделяло Unix от всех остальных. В то время операционные системы редко были, если вообще когда-либо, переносимы. Вместо этого, по своей конструкции и низкоуровневому исходному языку, операционные системы были тесно связаны с аппаратной платформой, для которой они были созданы. Реорганизовав Unix на языке программирования C, Unix теперь можно было портировать на многие аппаратные архитектуры.

В дополнение к этой новой переносимости, которая позволила Unix быстро выйти за пределы Bell Labs для других исследовательских, академических и даже коммерческих применений, несколько ключевых принципов проектирования операционной системы были привлекательными для пользователей и программистов. Во- первых, философия Unix Кена Томпсона стала мощной моделью модульного проектирования программного обеспечения и вычислений. Философия Unix рекомендовала использовать небольшие специализированные программы в сочетании для выполнения сложных общих задач. Поскольку Unix был разработан на основе файлов и каналов, эта модель объединения входов и выходов программ в линейный набор операций над входом все еще остается в моде. Фактически, нынешняя модель облачных бессерверных вычислений во многом обязана своим наследием философии Unix.

Быстрый рост и конкуренция

В конце 1970-х и 80-х годах Unix стала корнем генеалогического дерева, которое распространилось на исследования, научные круги и растущий бизнес коммерческих операционных систем Unix. Unix не был программным обеспечением с открытым исходным кодом, и исходный код Unix мог лицензироваться по соглашениям с его владельцем, AT&T. Первая известная лицензия на программное обеспечение была продана Университету Иллинойса в 1975 году.

Unix быстро рос в академических кругах, и Беркли стал важным центром деятельности, учитывая творческий отпуск Кена Томпсона в 70-х годах. Благодаря всей активности вокруг Unix в Беркли, родилась новая поставка программного обеспечения для Unix: Berkeley Software Distribution, или BSD. Изначально BSD не была альтернативой Unix от AT&T, а была надстройкой с дополнительным программным обеспечением и возможностями. К тому времени 2BSD (Второй Berkeley Software Distribution) прибыл в 1979 году, Билл Джой, град студент Беркли, добавил теперь известные программы, как viи C оболочки (/bin/csh).

В дополнение к BSD, которая стала одной из самых популярных ветвей семейства Unix, коммерческие предложения Unix резко выросли на протяжении 1980-х и до 90-х годов с такими именами, как HP-UX, IBM AIX, Sun Solaris, Sequent и Xenix. По мере того, как ветви росли из исходного корня, начались « войны Unix », и стандартизация стала новым направлением для сообщества. Стандарт POSIX родился в 1988 году, как и другие его последователи, последовавшие за Open Group в 1990-е годы.

 

Примерно в это же время AT&T и Sun выпустили System V Release 4 (SVR4), которая была принята многими коммерческими поставщиками. Кроме того, семейство операционных систем BSD с годами росло, что привело к появлению некоторых вариаций с открытым исходным кодом, выпущенных под уже знакомой лицензией BSD . Сюда входят FreeBSD, OpenBSD и NetBSD, каждая из которых имеет несколько иной целевой рынок в индустрии серверов Unix. Эти варианты Unix продолжают иметь некоторое распространение и сегодня, хотя многие видели, что их рыночная доля серверов сократилась до однозначных цифр (или ниже). У BSD может быть самая большая база инсталляций среди всех современных Unix-систем. Кроме того, BSD может предъявить претензию на каждое аппаратное устройство Apple Mac, поставленное за последнее время, поскольку ее операционная система OS X (теперь macOS) является производной от BSD.

 

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

Войдите в Linux

То, что мы сегодня называем операционной системой Linux, на самом деле представляет собой сочетание двух усилий начала 1990-х годов. Ричард Столмен стремился создать действительно бесплатную альтернативу проприетарной системе Unix с открытым исходным кодом. Он работал над утилитами и программами под названием GNU, рекурсивная аббревиатура, означающая «GNU не Unix!» Несмотря на то, что проект ядра был в стадии разработки, он оказался трудным, и без ядра мечта о свободной операционной системе с открытым исходным кодом не могла быть реализована. Именно работа Линуса Торвальда — создание работающего и жизнеспособного ядра, которое он назвал Linux — привела к жизни всей операционной системы. Учитывая, что Линус использовал несколько инструментов GNU (например, GNU Compiler Collection или GCC ), сочетание инструментов GNU и ядра Linux было идеальным сочетанием.

Дистрибутивы Linux ожили с помощью компонентов GNU, ядра Linux, графического интерфейса MIT X-Windows и других компонентов BSD, которые можно было использовать по лицензии BSD с открытым исходным кодом. Ранняя популярность таких дистрибутивов, как Slackware, а затем Red Hat, дала «обычному пользователю ПК» 1990-х годов доступ к операционной системе Linux, а вместе с ней и ко многим проприетарным системным возможностям и утилитам Unix, которые они использовали в своей работе или учебе.

Из-за того, что все компоненты Linux являются бесплатными и открытыми, любой мог создать дистрибутив Linux, приложив немного усилий, и вскоре общее количество дистрибутивов достигло сотен. Конечно, многие разработчики используют Linux либо через облачных провайдеров, либо с помощью популярных бесплатных дистрибутивов, таких как Fedora, Canonical’s Ubuntu, Debian, Arch Linux, Gentoo и многих других вариантов. Коммерческие предложения Linux, которые обеспечивают поддержку на основе бесплатных компонентов и компонентов с открытым исходным кодом, стали жизнеспособными, поскольку многие предприятия, включая IBM, перешли с проприетарного Unix на предложение промежуточного программного обеспечения и программных решений на базе Linux. Red Hat построила модель коммерческой поддержки для Red Hat Enterprise Linux, как и немецкий поставщик SUSE с SUSE Linux Enterprise Server (SLES).

Сравнение Unix и Linux

До сих пор мы рассматривали историю Unix и подъем Linux, а также основы GNU / Free Software Foundation бесплатной альтернативы Unix с открытым исходным кодом. Давайте рассмотрим различия между этими двумя операционными системами, у которых много общего и у многих одинаковые цели.

С точки зрения пользовательского опыта, разница не так уж и велика! Во многом Linux привлекала доступностью операционной системы на многих аппаратных архитектурах (включая современные ПК) и возможностью использовать инструменты, знакомые системным администраторам и пользователям Unix.

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

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

Остальные различия между Linux и Unix в основном связаны с моделью лицензирования: программное обеспечение с открытым исходным кодом или проприетарное лицензионное программное обеспечение. Кроме того, отсутствие общего ядра в дистрибутивах Unix имеет последствия для поставщиков программного и аппаратного обеспечения. Для Linux поставщик может создать драйвер устройства для конкретного аппаратного устройства и ожидать, что в разумных пределах он будет работать в большинстве дистрибутивов. Из-за коммерческих и академических ветвей дерева Unix поставщику может потребоваться написать разные драйверы для вариантов Unix, и у него возникнут проблемы с лицензированием и другие проблемы, связанные с доступом к SDK или модели распространения программного обеспечения в качестве драйвера двоичного устройства для многих Варианты Unix.

Поскольку за последнее десятилетие оба сообщества повзрослели, многие достижения Linux были приняты в мире Unix. Многие утилиты GNU были доступны как надстройки для систем Unix, где разработчикам требовались функции программ GNU, не являющиеся частью Unix. Например, IBM AIX предлагала AIX Toolbox для приложений Linux с сотнями программных пакетов GNU (таких как Bash, GCC, OpenLDAP и многие другие), которые можно было добавить в установку AIX, чтобы упростить переход между системами AIX на базе Linux и Unix. .

Проприетарный Unix все еще жив и здоров, и, поскольку многие крупные поставщики обещают поддержку своих текущих выпусков еще в 2020-х годах, само собой разумеется, что Unix будет существовать в обозримом будущем. Кроме того, ветвь BSD в дереве Unix имеет открытый исходный код, а NetBSD, OpenBSD и FreeBSD имеют сильную базу пользователей и сообщества с открытым исходным кодом, которые могут быть не такими заметными или активными, как Linux, но имеют свои собственные в последних отчетах о совместном использовании серверов. , с номерами, намного превышающими частные номера Unix в таких областях, как веб-обслуживание.

В чем Linux продемонстрировал значительное преимущество перед проприетарным Unix, так это в его доступности на огромном количестве аппаратных платформ и устройств. Raspberry Pi, популярный среди любителей и энтузиастов, работает под управлением Linux и открыл двери для всего спектра устройств IoT под управлением Linux. Мы уже упоминали устройства Android, автомобили (с Linux автомобильного уровня) и смарт-телевизоры, где Linux занимает большую долю рынка. Каждый облачный провайдер на планете предлагает виртуальные серверы под управлением Linux, и многие из самых популярных на сегодняшний день облачных стеков основаны на Linux, независимо от того, говорите ли вы о средах выполнения контейнеров, Kubernetes или многих бессерверных платформах, которые набирают популярность.

Одним из наиболее ярких проявлений господства Linux является трансформация Microsoft в последние годы. Если бы вы сказали разработчикам программного обеспечения десять лет назад, что операционная система Windows «запустит Linux» в 2016 году, большинство из них истерически засмеялось бы. Но существование и популярность подсистемы Windows для Linux (WSL), а также недавно анонсированные возможности, такие как порт Docker для Windows, включая поддержку LCOW (контейнеры Linux в Windows), свидетельствуют о влиянии Linux — и очевидно, будет и дальше — во всем мире программного обеспечения.

 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte