Чем отличается 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 со свободной лицензией.

6 комментариев

  1. вав 24 февраля, 2016 Ответить
  2. alfabuster 24 февраля, 2016 Ответить
  3. Илья 17 января, 2019 Ответить
  4. Вася 30 января, 2019 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: