Чем отличается Unix от Linux

Часто можно слышать вопросы о том, почему Linux называют Unix-подобной системой, в чём разница между этими операционными системами. Но на самом деле сравнивать напрямую эти два понятия не совсем корректно.

UNIX – это операционная система, соответствующая единой спецификации UNIX. Linux – это ядро операционной системы с открытым исходным кодом. Так почему сравнивают UNIX c Linux и что означает термин UNIX-подобная система? Давайте разберёмся в этих вопросах.

Чем отличается Unix от Linux?

Сразу стоит уточнить, что называть операционную систему Debian, или любой другой дистрибутив, одним словом Linux не совсем правильно. GNU/Linux, именно так лучше именовать операционную систему на основе ядра Linux. Что такое GNU и как он связан с UNIX можно понять, изучив историю создания операционных систем.

Краткая история создания UNIX

История UNIX начинается в 1969 году, когда в одном из подразделений AT&T Bell Labs была начата разработка операционной системы для компьютера PDP-7 производства DEC. В её основу легли идеи, заложенные в более продвинутую и требовательную к ресурсам компьютера Multics. Например, модель хранения данных была взята именно из этой операционной системы.

Изначально операционная система была написана на ассемблере, но в скором времени Кен Томпсон, один из создателей UNIX, решил перенести язык BCPL на машину с более скромными характеристиками. В результате получился компилируемый язык программирования Би, а на его основе в скором времени появился язык Си.

Таким образом на свет появилась не только одна из самых распространённых операционных систем, но ещё и язык программирования, оказавший влияние при создании C++, C#, Java и многих других языках программирования.

В компании AT&T хотели создать коммерческую версию ОС. Однако, из-за запрета правительства США на ведение деятельности, не связанной с телефонным и телеграфным оборудованием, пришлось лицензировать исходный код для нескольких университетов. В 1973 году университет Беркли получил в своё пользование код и уже в 1978 году появилась их собственная операционная система BSD, имевшая в своём составе сетевые протоколы TCP/IP, разработанные там же. Эти протоколы перекочевали в собственную систему AT&T. С этого момента можно сказать, что UNIX стал семейством операционных систем. Наработки одной системы появлялись в другой и со временем становились неким стандартом.

Краткая история создания Linux

В 1983 году Ричард Столлман, программист лаборатории Массачусетского технологического университета, решил посвятить свою жизнь созданию открытого программного обеспечения. Так появился проект GNU. Акроним расшифровывается как GNU is Not UNIX (GNU – это не UNIX). Одной из первых программ стал текстовый редактор Emacs. В дальнейшем выходили и другие утилиты под лицензией GNU GPL.

Разработка ядра свободной операционной системы началась в 1990 году. Но спустя всего один год появилась первая версия ядра Linux. Его автором стал финский студент Линус Торвальдс. Вдохновившись книгой о создании операционных систем на примере MINIX за авторством Эндрю Таненбаума, Линус решил создать своё ядро операционной системы, но со свободной лицензией. MINIX разрешалось использовать только в образовательных целях. Изначально применялись системные утилиты MINIX, но очень скоро они были заменены на GNU.

С этого началось развитие проекта GNU/Linux. Именно так нередко называют семейство операционных систем Linux. Ядром является Linux, а набором системных утилит – GNU. Хотя это заявление справедливо не всегда. Например, Android хоть и использует ядро Linux, но утилиты GNU заменены на собственную разработку.

Почему Linux называют UNIX-подобной ОС?

Операционные системы UNIX должны соответствовать единой спецификации UNIX, основным семейством стандартов которой является POSIX. Этот набор документов описывает то, как программы общаются с операционной системой. Например, в нём описан формат времени, отсчёт которого идёт с 1 января 1970 года. POSIX был создан для того, чтобы была возможность переносить исходный код с одной операционной системы на другую.

Некоторые операционные системы полностью соответствуют требованиям стандартов и прошли сертификацию, чтобы иметь право называться UNIX. К таким операционным системам можно отнести macOS, HP-UX, AIX и ещё ряд операционных систем.

Но сертификация не бесплатна и большая часть операционных систем является UNIX-подобными. Такие системы соответствуют большей части требований POSIX, но при этом могут иметь небольшие отличия. Среди таких операционных систем можно выделить семейство Linux, семейство BSD, Solaris.

Многие пакеты программного обеспечения написаны с учётом этих требований и позволяют переносить код с одной операционной системы на другую, что заметно упрощает портирование проектов. Например, графическая оболочка GNOME в большей мере соответствует стандартам POSIX, что позволяет использовать её не только на Linux, но и на BSD.

Распространение и сфера применения

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

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

И несмотря на то, что систем UNIX не так много и используются они на относительно небольшом количестве компьютеров, опять же, если не учитывать macOS, влияние UNIX значительно. Для той же Microsoft Windows, а ранее и для DOS, выходили наборы утилит для обеспечения совместимости с POSIX. Последним таким решением является WSL, слой совместимости для запуска приложений Linux на Windows 10.

Выводы

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

Как раз к таким можно отнести семейство Linux. Операционные системы Debian, Arch, Fedora объединяет то, что они используют ядро Linux. С другой стороны, UNIX фактически может быть основан на любом ядре, лишь бы оно удовлетворяло всем требованиям единой спецификации UNIX.

Теперь вы знаете чем отличается Unix от Linux. В двух словах, проект GNU/Linux – это реализация идей UNIX со свободной лицензией.



2016-02-23T17:18:02
Информация