Linux - это Unix?

190

Таким образом, существует множество различных версий Unix: HP-UX, AIX, BSD и т. Д. Linux считается клоном Unix, а не реализацией Unix. Являются ли все «настоящие» Юнионы фактическими потомками оригинала? Если нет, что отличает Linux от Unix?

Шон Дж. Гофф
источник

Ответы:

224

Это зависит от того, что вы подразумеваете под «Unix» и «Linux».

  • UNIX является зарегистрированной торговой маркой в The Open Group . Торговая марка имеет богатую историю, и не совсем ясно, что она не обобщена из-за широкого использования «Unix», ссылающегося на Unix-подобные системы (см. Ниже). В настоящее время Open Group предоставляет использование торговой марки любой системе, которая прошла сертификацию Single UNIX . См. Также Почему * в Интернете упоминается Unix? ,

  • Unix - операционная система, которая родилась в 1969 году в Bell Labs . Различные компании продавали и продолжают продавать код, полученный из этой оригинальной системы, например, AIX , HP-UX , Solaris . Смотрите также Эволюция операционных систем от Unix .

  • Существует множество систем, подобных Unix, в которых они предлагают аналогичные интерфейсы для программистов, пользователей и администраторов. Самой старой производственной системой является Berkeley Software Distribution , которая постепенно эволюционировала от Unix-системы (т.е. содержащей код, полученный из исходной реализации) к Unix-подобной (то есть имеющей подобный интерфейс). Существует много операционных систем на основе BSD или BSD: FreeBSD , NetBSD , OpenBSD , Mac OS X и т. Д. Другие примеры включают OSF / 1 (в настоящее время прекращено, это была коммерческая Unix-подобная система, не основанная на Unix), Minix(первоначально игрушечная Unix-подобная операционная система, используемая в качестве учебного пособия, теперь производственная встроенная Unix-подобная система) и наиболее известный Linux .


  • Строго говоря, Linux - это ядро ​​операционной системы, которое разработано как ядро ​​Unix.

  • Linux чаще всего используется как название Unix-подобных операционных систем, которые используют Linux в качестве ядра. Поскольку многие инструменты вне ядра являются частью проекта GNU , такие системы часто называют GNU / Linux . Все основные дистрибутивы Linux состоят из GNU / Linux и другого программного обеспечения.

  • Существуют Unix-подобные системы на основе Linux, которые не используют много инструментов GNU, особенно во встроенном мире, но я не думаю, что какой-либо из них покончит с инструментами разработки GNU, в частности GCC .

  • Есть операционные системы, которые имеют Linux в качестве ядра, но не похожи на Unix. Наиболее известным является Android , который не имеет Unix-подобного пользовательского интерфейса (хотя вы можете установить Unix-подобную командную строку), а также опыта администратора или (в основном) опыта программиста («нативные» программы Android используют API, который полностью отличается от Unix).

жилль
источник
70
И давайте не будем забывать, что GNU означает «GNU - это не Unix»!
Алекс
57
«Gnu - это не Unix» означает, что Gnu не основан на оригинальном коде Unix, а не на том, что Gnu не хочет реализовывать спецификации Unix. Цитата: «Свободный Unix! Начиная с Дня Благодарения, я собираюсь написать полную Unix-совместимую программную систему под названием GNU (для Gnu Not Unix) и раздать ее бесплатно (1) всем, кто может ее использовать».
Jlliagre
8
Если бы дистрибутив Linux хотел получить сертификат UNIX, он не должен был бы сильно меняться, и это могло бы быть так. Но я не слышал, чтобы кто-то платил все эти деньги за то, что на данный момент стоило бы так мало.
Кевин Канту
6
@Kevin: Кальдера (теперь известная под другим именем) однажды работала над этим, хотя они не прошли весь путь (они, кажется, отказались от идеи и вместо этого настаивали на LSB, прежде чем внезапно забыли, что они когда-либо слышали о Linux).
Жиль
4
@milkovsky Нет. Как я объясняю в своем ответе, слово «Linux» имеет два значения. «Android основан на Linux» верно в значении 1 (ядро). «Linux подобен Unix» верно в значении 2 (операционная система).
Жиль
58

По сути, типичный современный дистрибутив Linux (Ubuntu, Debian, Red Hat, Fedora, Slackware и т. Д.) - это Unix, но, строго говоря, ни одна система не может претендовать на то, чтобы быть Unix без сертификации, поэтому вместо этого люди говорят, что они Unix-подобных. Они вдохновлены Unix и продолжают свою культуру.

Это также относится к системам BSD.

Mac OS X сертифицирована как Unix, так что это Unix как по названию, так и по сути. (и это на самом деле основано на BSD).

Следует отметить, что поскольку сам Linux является просто ядром, его можно использовать для построения не-unix-подобных систем (таких как Android).

Hasen
источник
1
Примечание: ядро ​​Mac OS X не основано на ядре BSD. Насколько мне известно, часть пользовательского режима основана на FreeBSD, а частично на NetBSD.
0xC0000022L
2
Сегодняшнее ядро ​​может сильно отличаться от ядра BSD, но я думаю, что оно изначально (хотя бы частично) основано на нем.
hasen
3
Следует отметить, что FreeBSD является прямым потомком ATT Unix и когда-то содержал код ATT Unix. Это было не просто «вдохновлено» Unix.
Роб
2
@ 0xC0000022L и мы идем дальше: «Ранние версии Mach имели монолитные ядра, и большая часть кода BSD была в ядре. Mach 3.0 была первой реализацией микроядра». Что касается меня, osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html является довольно авторитетным источником.
Пой
2
И в заключение: «Некоторые аспекты, за которые отвечает BSD, включают: идентификаторы пользователей модели процесса, разрешения, базовые политики безопасности POSIX API, системные вызовы стиля BSD, стек TCP / IP, сокеты BSD, VFS брандмауэра и файловые системы (см. Файловые системы Mac OS X для подробнее) Система V IPC Crypto Framework с различными механизмами синхронизации ». Для меня этого достаточно, чтобы сказать, что он основан на BSD. Смотреть правде в глаза.
Пой
23

Linux более «Unix-подобный», так что да, проще говоря, вы можете назвать это клоном, то же самое верно и для BSD (хотя, по общему признанию, BSD можно рассматривать ближе к Unix, чем к Linux).

Главное, что дает Linux Unix-подобный заголовок, - это тот факт, что он почти полностью соответствует стандартам POSIX (Portable Operating System Interface [для Unix]), которые со временем сформировались.

Другой ключевой момент, это наследование кода и т. Д. , Как показано в Википедии, Linux на самом деле не происходит из исходников Unix, вместо этого он в значительной степени построен с нуля (однако это оспаривается).

По сути, главное, что отличает Unix от Linux, - это родословная и стандарты, которым он соответствует.

Нью-Джерси
источник
1
Существует также спецификация Single Unix для рассмотрения.
Деннис Уильямсон
Я бы определенно сказал, что BSD ближе к Unix, чем к Linux. Из-за более либеральной лицензии BSD и ее тесной разработки с AT & T UNIX, в коммерческом Unix используется много исходного кода BSD и его API. Файловая система UFS в Solaris и некоторых других коммерческих UNIX пришла прямо из BSD. Кроме того, API-интерфейс Berkely Sockets (не обязательно исходный), используемый всем, включая Linux, был разработан для BSD.
penguin359
3
После того, как весь беспорядок между SCO и IBM, стало ясно, что ядро ​​Linux вообще не содержит кода Unix.
vonbrand
11

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

Во-первых, вы должны учитывать, что Linux - это ядро, созданное linus и другими программистами. Он решил выпустить его под лицензией GPL, которая к тому времени была лицензией, выданной FSF (RMS и другими людьми), которые также разрабатывали свое собственное ядро ​​и GNU.

Сначала мы называем Linux ядром и всеми остальными инструментами, изначально взятыми из проекта GNU. Эти два проекта исторически различны, потому что в то время ядро ​​от сотрудников FSF было заброшено в пользу ядра Linux, которое было намного лучше.

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

Когда вы думаете о * nix, вы должны учитывать еще одну вещь, которая также связана с POSIX и другими стандартизированными архитектурами вещами. Это предмет проектирования / исследования ОС, но он точно определяет, как работают соответствующие ОС, и имеет решающее значение, когда ядро ​​хорошо работает с его инструментами.

jokoon
источник
На самом деле POSIX теперь называется SUS (Single Unix Specification), о которой упоминалось.
0xC0000022L
1
@ STATUS POSIX был основой для SUSv2. Позднее Austin Group была сформирована как совместная рабочая группа между IEEE, которая создала POSIX и The Open Group, которой принадлежит торговая марка UNIX и спецификация UNIX. Они выпустили POSIX: 2001, также известный как SUSv3. Насколько я могу судить, они одно и то же. POSIX все еще разрабатывается с POSIX: 2004 и POSIX: 2008, который является ядром SUSv4. Я не думаю, что POSIX еще не умер. ru.wikipedia.org/wiki/Single_UNIX_Specification
penguin359
Я понимаю, что SUS - это POSIX с некоторыми дополнениями.
vonbrand
Ссылка на этот документальный фильм?
Эдвард Торвальдс,
Эдвард Торвальдс Извините, я не могу вспомнить название. В основном это была RMS, и она выглядела как старый документ.
Jokoon
6

Уже есть много отличных ответов, но я думал, что взгляды великого Денниса Ритчи (со-создателя Unix) будут интересным дополнением к другим, более техническим ответам.

Похоже, что Деннис Ритчи считал Linux законным производным Unix. В 1999 году в интервью для LinuxFocus.org его спросили:

Каково ваше мнение обо всем, что связано с Linux, и о решении многих компаний начать разработку программного обеспечения для него?

Его ответ на вопрос был

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

Энтони Геогеган
источник
1

Исторически Линус Торвальдс создал улучшенный клон Minix OS. Разработка Linux не ориентирована на конкретную платформу и клиентскую базу, а разработчики Linux имеют разнообразный опыт и перспективы. Такие ОС, как HP-UX, AIX, Solaris и другие, в основном заострены для поставщиков.

В сообществе Linux нет строгого стандартного набора инструментов или сред. Это отсутствие стандартизации приводит к значительным несоответствиям в Linux. Для некоторых разработчиков возможность использовать лучшие достижения других операционных систем является плюсом, но не всегда удобно копировать элементы UNIX в Linux, например, когда имена устройств в Linux можно взять из AIX, в то время как инструменты для Работа с файловой системой ориентирована на HP-UX. Несовместимости такого рода также обнаруживаются между различными дистрибутивами Linux.

Quarind
источник
0

Unix, первоначально UNICS (Информационная и вычислительная служба UNiplexed).

Unix (торговая марка UNIX) - это семейство многозадачных, многопользовательских операционных систем, основанных на оригинальной AT & T Unix. Разработка началась в 1969 году и была объявлена ​​за пределами Bell Abs в октябре 1973 года.

Разнообразие академических и коммерческих вариантов Unix от таких поставщиков, как Калифорнийский университет, Беркли (BSD), Microsoft (Xenix), IBM (AIX) и Sun Microsystems (Solaris).

  • BSD ( B erkeley S oftware D istribution) высвобождает послужили основой для нескольких проектов с открытым исходным кодом развития, которые осуществляются, например, FreeBSD, OpenBSD, NetBSD, Дарвин и TrueOS.
  • Xenix - это прекращенная версия операционной системы Unix для различных микрокомпьютерных платформ, лицензированная Microsoft.
  • AIX ( dvanced I Интерактивно е X ecutive) разработаны и продаются IBM для нескольких своих компьютерных платформ.

Linux - это семейство бесплатных программных систем с открытым исходным кодом, основанных на ядре Linux. Определяющим компонентом Linux является ядро ​​Linux, ядро ​​операционной системы, впервые выпущенное 17 сентября 1991 года Линусом Торвальдсом.

Linux упакован в форме, известной как дистрибутив Linux (или, для краткости, дистрибутив), как для настольных компьютеров, так и для серверов. Одними из самых популярных и распространенных дистрибутивов Linux являются Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE и Ubuntu, а также коммерческие дистрибутивы, такие как Red Hat Enterprise Linux.

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

  • Оболочки CLI - это текстовые пользовательские интерфейсы, которые используют текст как для ввода, так и для вывода. Доминирующей оболочкой, используемой в Linux, является Bourne-Again Shell (bash), первоначально разработанная для проекта GNU.
  • Оболочками GUI являются K Desktop Environment (KDE), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon и Xfce, хотя существует множество дополнительных пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System, которую часто просто называют «X».

GNU - это операционная система и обширная коллекция компьютерных программ. GNU полностью состоит из свободного программного обеспечения, большая часть которого лицензирована по собственной лицензии проекта GNU. GNU - это рекурсивная аббревиатура для «GNU - не Unix!», Выбранная потому, что дизайн GNU подобен Unix, но отличается от Unix тем, что является свободным программным обеспечением и не содержит кода Unix. Разработка операционной системы GNU была начата Ричардом Столлманом, когда он работал в Лаборатории искусственного интеллекта Массачусетского технологического института (MIT) в 1983 году.

Основные компоненты включают коллекцию компиляторов GNU (GCC), библиотеку GNU C (glibc) и основные утилиты GNU (coreutils), а также отладчик GNU (GDB), двоичные утилиты GNU (binutils), оболочку GNU Bash и GNOME. окружение рабочего стола.

Premraj
источник
-7

Linux - это Unix-подобная операционная система, разработанная Линусом Торвальдсом и тысячами других.
BSD - это операционная система UNIX, которая по юридическим причинам должна называться Unix-Like.
OS X - графическая операционная система UNIX, разработанная Apple Inc.

Linux является наиболее ярким примером «настоящей» ОС Unix. Он работает на чем угодно и поддерживает гораздо больше оборудования, чем BSD или OS X. Интересная цитата, которую я нашел, сравнивая BSD и Linux:

Linux - это то, что вы получаете, когда кучка компьютерных хакеров садится и пытается написать систему Unix для ПК. BSD - это то, что вы получаете, когда кучка хакеров UNIX садится и пытается портировать систему Unix на ПК.

BSD больше похожа на ОС Unix, чем на Linux. Также следует отметить, что Apple использует компоненты BSD и Linux. Apple использует APT из Debian и Ubuntu на платформах iOS и OS X. И это основано на BSD. (Однако ядро ​​- это Дарвин, то есть его собственное ядро. Утконос Бисти - это талисман Дарвина, потому что он представляет собой смесь между Бисти из BSD и утконосом.)

Если вам нужна «настоящая» операционная система Unix (та, которая работает на любом устройстве и поддерживает много оборудования), попробуйте Linux.
Если вам нужна поддержка аппаратного обеспечения более низкого уровня и головные боли (я знаю, что получу массу ненависти, но мне все равно), используйте BSD.
Если вы хотите потратить $ 1000+, используйте OS X и iOS. (Снова я, вероятно, получу тонну ненависти.)

Я давний пользователь Linux, использую его время от времени с 90-х до начала 2000-х годов, а затем перестал использовать его некоторое время, но начал снова использовать его примерно в середине 2012 года в качестве моей постоянной ОС, поэтому я могу рекомендовать его всем, кто хочет попробовать что-то кроме Windoze.

Крейг Вессель
источник
4
Поскольку в последнее время Linux меняется с Wayland / systemd / etc, он все больше отдаляется от того, чтобы быть Unix-подобной системой и становиться своей собственной сущностью. Он делает себя менее совместимым с настоящими Unix и Unix-подобными системами до такой степени, что эти реальные системы развили отношение «пофиг» к Linux. Твои "рекомендации" далеко не годятся, и я согласен с тобой в том, что ты ничего не трогал в течение 15 лет.
Роб
11
Linux это не ОС, а ядро.
Мартин Шредер,
3
Apple не использует APT из Debian. Он включает в себя совершенно другой инструмент под названием APT (Java Annotation Processing Tool). И сообщество джейлбрейка использует APT в качестве менеджера пакетов для установки программного обеспечения iOS против воли Apple.
Абарнерт
4
На самом деле, почти каждое утверждение в этом ответе неверно. «Работает на многих системах == Unix» смешно. Apple никогда не выпускала систему стоимостью более $ 1000 под управлением iOS. BSD - это семейство Unix и Unix-подобных систем, а не одна ОС. Linux - это ядро, которое можно комбинировать с Unix-подобным пользовательским пространством (например, GNU), урезанным Unix-ишем пользовательским языком (например, eLinux или Android) или чем угодно другим. И так далее.
Абарнерт