В чем принципиальная разница между Unix, Linux, BSD и GNU? Unix была самой ранней ОС, поэтому термин «Unix like» понятен, так как они имеют ядро, структуру файловой системы, большинство команд, пользователей и т. Д. Такие же, как Unix. Тем не менее, почему они разные? Что заставило их отделиться? Это ядро?
27
Ответы:
На этот вопрос сложно ответить.
Первый «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 ( из Викимедиа ):
источник
man unimplemented
(IIRC, это может бытьman security
) в системе GNU / Linux.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
источник