Я продолжаю читать это предложение:
Linux - это Unix-подобная система, но это не Unix.
Я не знаю, в чем реальная разница между ними. Я знаю, что Linux получил много идей от Unix, и лицензии у них разные. Кроме того, поскольку я не являюсь экспертом ни по одному из них, я хочу знать, есть ли между ними принципиальные различия в дизайне или другие важные аспекты.
linux
operating-systems
unix
Gnijuohz
источник
источник
Ответы:
«Unix-подобная» система может полностью соответствовать спецификации Single UNIX , собирательному названию стандартов для системы Unix, но в то же время Unix является зарегистрированным товарным знаком The Open Group, и поставщики Unix-подобных систем нуждаются чтобы их системы были официально зарегистрированы как Unix. В настоящее время зарегистрированными системами UNIX 03 являются:
Производители Unix-подобных систем с открытым исходным кодом (в основном Linux и FreeBSD) обычно не регистрируются в The Open Group, чтобы избежать затрат на сертификацию или, ну, в общем, потому что они не находят в этом особой ценности. Теоретически, вполне возможно, что Unix-подобная система технически является Unix, и все, чего ей не хватает, - это сертификации.
Фонд Linux с другой стороны, создал Standard Base Linux , в стандарт ISO , в попытке стандартизировать Linux. Совместимость с POSIX лежит в основе как SUS, так и LSB, поддерживая связь между Unix и Linux.
Unix и Unix-подобные системы, как правило, больше похожи, чем отличаются, теоретически все популярные версии Unix, зарегистрированные или нет, являются POSIX-совместимыми (полными или в основном), поэтому они имеют общий программный интерфейс, оболочки и утилиты (и многие другие). материал). IEEE и The Open Group поддерживают свободно доступную копию последней версии, POSIX.1-2008 , где вы можете найти больше информации о том, что на самом деле означает соответствие POSIX.
Теперь, кроме юридических и технических причин, Linux унаследовал мантру "не Unix" от своей ассоциации с GNU , операционной системой, подобной Unix, инициированной Ричардом Столлманом. GNU означает «GNU - это не Unix», так как Столлман намеревался создать Unix-совместимую систему, которая была бы бесплатной, и для этого она не должна содержать код Unix, поскольку Unix является проприетарным.
Ранние разработчики Linux начали переносить инструменты GNU на Linux, а получившаяся система называлась GNU / Linux еще в 1992 году . Существует длительный спор о том, следует ли называть Linux Linux или GNU / Linux (поскольку он включает в себя несколько частей GNU), но это не имеет отношения к вашему вопросу, важно то, что «не Unix» может просто относиться к ассоциации с GNU и имеют мало общего с его дизайном, в зависимости от контекста.
«История Linux» Статья в Википедии объясняет происхождение Linux , и это отношения с Unix (через Minix и GNU) в некоторых деталях, и вы также должны занять некоторое время , чтобы прочитать ссылки на статьи, если вы заинтересованы в том, узнать больше.
источник
UNIX - это семейство операционных систем, и в настоящее время UNIX - это скорее бренд, принадлежащий The Open Group. Для операционной системы под маркой UNIX она должна пройти тестирование на соответствие, а для Linux это будет означать, что каждый дистрибутив (Ubuntu, Debian, Fedora, Red Hat и т. Д.) Должен будет отдельно проходить это тестирование на соответствие для каждого выпуска , Так что это одна из основных причин, почему Linux является Unix-подобной системой, а не UNIX.
Это тестирование, которое я упомянул, заключается в обеспечении соответствия ОС спецификации Single Unix, которая в настоящее время находится в версии 4 SUSv4 (версия спецификации Single Unix версии 4). Эта спецификация определяет набор API-интерфейсов, которые должны быть доступны приложениям, чтобы система была квалифицирована для имени UNIX.
источник
В существующих ответах уже упоминаются некоторые различия, которые вы ищете. Не будучи экспертом по ядру Linux, я бы также добавил, что многие из различий в разработке / реализации между GNU / Linux и различными Unices рассматриваются в серии шаблонов проектирования ядра Linux .
источник
«UNIX» - это сложная вещь С точки зрения соответствия стандартам, Solaris и Mac OS X являются «официально» UNIX, но вам не нужно тратить много времени, прежде чем вы обнаружите довольно большие различия между ними. Есть отличная диаграмма, которая документирует выпуск различных разновидностей UNIX или UNIX-подобных операционных систем, а также того, как они влияют и отличаются друг от друга.
В общей схеме вещей, которые выглядят, ходят и крякают, как UNIX, система Linux [*] является одним из наиболее традиционных выпусков. Люди часто ссылаются на Unices или * nix и имеют в виду «что-нибудь UNIX-подобное», которое, вероятно, включает Linux. Однако UNIX является зарегистрированным товарным знаком с ограничениями на то, как он может применяться на коммерческой основе; ни один дистрибутив Linux не соответствует этим ограничениям.
[*] Поскольку этот вопрос предполагает уровень семантического разделения волос, я думаю, что в данном случае уместно указать, что сам Linux - это просто ядро, на котором может быть построена операционная система. Распространено построение UNIX-подобной системы поверх Linux, для которой она и была разработана, и эта система обычно состоит из компонентов проекта GNU. В ответе выше «Linux» можно прочитать как сокращение для «операционной системы, которая включает ядро Linux».
источник
Однажды я прочитал, что Linux - это то, что вы получаете, когда берете разработчика для ПК и просите его написать ОС для Unix, тогда как FreeBSD - это то, что вы получаете, когда берете разработчика для Unix и просите его сделать ОС для ПК…. не забудьте о BSD в вашем сравнении!
Различия в основном в ядре, так как приложения пользовательского пространства (включая такие, как ls) являются частью проекта GNU. Это означает, что Unix, FreeBSD и Linux кажутся практически одинаковыми.
Однако есть разницы, если вы посмотрите внимательно. Структура каталогов будет другой (но многие дистрибутивы Linux используют свои собственные, в основном совместимые, но все равно разные), файловые системы разные (Unix использует UFS, FreeBSD использует FFS, Linux использует Ext3 для упрощения - все они могут использовать порты общие FS, например ZFS)
Кроме того, существуют различия в основных API-интерфейсах: Linux предоставит вам API inotify для уведомления об изменениях файлов, Mac OSX предоставит вам FSEvents , а FreeBSD даст вам запрос .
Поэтому их можно считать одним семейством - сравните систему Windows с портированными на нее инструментами GNU с системой Linux с теми же инструментами. Они будут только внешне выглядеть одинаково, но система Unix или FreeBSD все равно будет выглядеть сопоставимой. При ближайшем рассмотрении вы обнаружите, что перенос приложений между FreeBSD, Unix и Linux относительно прост по сравнению с переносом на альтернативные ОС, такие как Windows.
источник
Unix больше не является единой операционной системой. Раньше это была реализация Bell Labs / AT & T, но теперь это стандарт.
Технически, Linux - это только ядро. Это ядро можно найти в не Unix-подобных ОС, самой популярной из которых является Android. С другой стороны, есть много ОС на базе Linux, которые похожи на Unix. Большинство (если не все) из них используют библиотеки и утилиты Gnu. Эта комбинация предоставляет Linux-дистрибутивы Unix API и соответствие (или несоответствие) стандартам.
Стандарт Unix не требует, чтобы совместимая система была проприетарной или имела какую-либо конкретную лицензию. BSD, OpenSolaris / Illumos, darwin являются примерами не-Linux еще бесплатных реализаций Unix.
Совместимые системы обычно, но не всегда, представляют собой смесь проприетарных и открытых компонентов, в то время как Gnu / Linux может быть либо полностью открытым исходным кодом, либо включать проприетарные вещи.
Что касается соответствия Unix, то особых различий нет. Большинство дистрибутивов Linux и реализации Unix используют один и тот же набор команд с использованием одного и того же набора параметров. Тем не менее, вы найдете множество расширений стандартных команд, особенно на стороне Gnu, где они называются Gnuisms, и многочисленные команды, которые в первую очередь не определены стандартами (компиляторы, административные команды, установка, упаковка, графическая среда). Это область, где вы можете найти много расхождений, несовместимостей и иногда священных войн.
Модель разработки Gnu / Linux обычно считается более «органичной» и «базарной», в то время как другие Unix-подобные системы более «спроектированы» и «соборные». В зависимости от подсистем, разница не так очевидна и зависит от отдельных лиц и / или компаний, стоящих за ними.
источник
Linux поставляется со многими инструментами, такими как:
Тем не менее, большинство операционных систем UNIX считаются законченной операционной системой, так как все происходит из одного источника или поставщика.
Некоторые вещи, которые они разделяют:
источник
В конце концов, Linux, в конце концов, был сплоченным реверс-инжинирингом Unix, поэтому дизайн ядра следовал философии Кена Томпсона. Похоже, что путь Linux заключается в том, чтобы максимально близко имитировать философию Unix, не обременяя себя оригинальной мыслью.
источник