В чем разница между Unix, Linux, BSD и GNU? [закрыто]

27

В чем принципиальная разница между Unix, Linux, BSD и GNU? Unix была самой ранней ОС, поэтому термин «Unix like» понятен, так как они имеют ядро, структуру файловой системы, большинство команд, пользователей и т. Д. Такие же, как Unix. Тем не менее, почему они разные? Что заставило их отделиться? Это ядро?

Капиш М
источник
2
Возможно, на этот вопрос ответит ответ: все ли команды Unix были переписаны в Linux? ,
CVN

Ответы:

31

На этот вопрос сложно ответить.

Первый «Unix Like» или «* nix» обычно означает POSIX. Все системы, которые вы перечислили, являются системами POSIX. POSIX - это набор стандартов для реализации.

Теперь для более сложных вопросов.

GNU на самом деле не ОС. Это скорее набор правил или философий, которые управляют свободным программным обеспечением, которые в то же время породили кучу инструментов при попытке создать ОС. Таким образом, инструменты GNU - это в основном открытые версии инструментов, которые уже существовали, но были переделаны в соответствии с принципами открытого программного обеспечения. GNU / Linux - это совокупность этих инструментов и ядра Linux для формирования полноценной ОС, но есть и другие «GNU». GNU / Hurd например.

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

Linux новичок. Строго говоря, это «просто ядро», однако в целом его считают полноценной ОС в сочетании с GNU Tools и множеством других вещей.

Основное управляющее различие - идеалы. Unix, Linux и BSD имеют разные идеалы, которые они реализуют. Все они POSIX, и все они в основном взаимозаменяемы. Они решают одни и те же проблемы по-разному. Таким образом, кроме идеалов и того, как они выбирают для реализации стандартов POSIX, есть небольшая разница.

Для получения дополнительной информации я предлагаю вам прочитать краткую статью о создании GNU, OSS, Linux, BSD и UNIX. Они будут склонны к своим индивидуальным идеям, но когда вы прочитаете, вы получите хорошее представление о различиях.

Эта генеалогическая диаграмма Unix ясно показывает историю Unix, BSD, GNU и Linux ( из Викимедиа ):

Диаграмма генеалогии Unix

coteyr
источник
примечание: не все POSIX. например, см. man unimplemented(IIRC, это может быть man security) в системе GNU / Linux.
Strugee
Strugee это правильно. Они не полностью соответствуют, но они пытаются быть. Не уверен, как включить это в ответ, хотя. Unix-Like также технически отличается от POSIX, но в целом, когда люди говорят Unix-Like, они обычно имеют в виду POSIX.
coteyr
1
Некоторые дополняют данные в этом Q & A .
нет, разработчики ядра Linux никогда не собираются быть POSIX-совместимыми. Я забыл, где я читал это (я посмотрел на страницах руководства, но не смог найти его), но есть определенные системные вызовы, которые никогда не будут реализованы из соображений безопасности.
Strugee
Я считаю, что GNU изначально предназначался для ОС.
Фахим Митха
14

Linux это не ОС, это ядро. Сам по себе Linux не имеет среды пользователя (без приложений, без команд, без ... и т.д ...).

Если вы хотите иметь полную ОС, вам нужно добавить пользовательское пространство в ваше ядро. Исторически для Linux это GNU. Все (?) Дистрибутивы Linux не являются реальными дистрибутивами Linux. Это дистрибутивы GNU / Linux (GNU + Linux).

BSD - это «unix-like» полная ОС, со своим собственным ядром и собственным пользовательским пространством (без ядра Linux и GNU).

Семейство GNU / Linux и * BSD (FreeBSD, OpenBSD и NetBSD) являются «Unix-подобными» ОС, они ведут себя как Unix.

Вот сравнение между (GNU) / Linux и * BSD: http://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html

dirtyvader
источник
ваша ссылка не работает
Anthon
@ Антон это работает
Prvt_Yadav