Является ли macOS дистрибутивом Unix?

19

Я знаю, что macOS - это операционная система UNIX , но я не знаю, можно ли назвать macOS дистрибутивом UNIX так же, как Gentoo или Debian являются дистрибутивами GNU / Linux .

Является ли macOS дистрибутивом UNIX? Если это не так , как можно было правильно ссылаться на членство в MacOS»в операционной системе семейства UNIX и соответствие Single UNIX Specification (то есть, действительно ли это вариант Unix , версия Unix , вкус Unix и т.д.)? Кроме того, этот вопрос относится к Solaris, HP-UX и другим версиям (все ли это дистрибутивы UNIX?).

Кроме того, слово «распространение» ограничено операционными системами GNU (/ Linux, / Hurd, / kFreeBSD, / etc) или может использоваться в других случаях?

РЕДАКТИРОВАТЬ: я понял, что официальный сайт UNIX использует "реализации UNIX" и "операционные системы UNIX" для ссылки на семейство операционных систем Unix, то есть тех, которые реализуют единый стандарт Unix.

Seninha
источник
Как вы определяете «распространение Unix» и что вы подразумеваете под «быть распространением Unix»?
Йорг Миттаг
@ JörgWMittag У меня нет никакого определения для этого. Я думаю, что смысл дистрибутивов GNU-ish как набора операционных систем, использующих одно и то же основное программное обеспечение, как определено в ответе, является наиболее правильным.
Сенинья
2
UNIX - это бренд. Unix это операционная система. Это две разные вещи.
fpmurphy
1
Строго говоря, Debian и Gentoo - это не дистрибутивы Unix, а дистрибутивы Linux. Linux не Unix, он просто работает как Unix. Также AFAIK не являются дистрибутивами GNU: инструменты GNU являются частью любого дистрибутива Linux, но не единственной частью.
jamesqf
1
Если вы опубликуете свое изменение как ответ, оно получит мое одобрение.
dcorking

Ответы:

32

Что такое UNIX вообще?

Краткий ответ: в настоящее время UNIX является спецификацией / стандартом.

На момент написания, цитируя официальные источники , «UNIX® является зарегистрированным товарным знаком The Open Group», компании, которая среди прочего предоставляет сертификацию UNIX :

«UNIX®, открытый стандарт, принадлежащий и управляемый The Open Group, является активатором ключевых технологий и обеспечивает снижение совокупной стоимости владения, повышение гибкости, стабильности и совместимости ИТ в гетерогенных средах, что позволяет внедрять инновации в бизнесе и на рынке по всему миру «.

На этой же странице конкретно указано, какая спецификация определяет UNIX:

Последней версией стандарта сертификации является UNIX V7, приведенный в соответствие с Единой спецификацией UNIX версии 4, выпуск 2013 г.

Подробности этих спецификаций можно найти здесь . Любопытно, что последним стандартом, перечисленным на их веб-сайте, является UNIX 03, и, цитируя другой источник , «UNIX® 03 - знак для систем, соответствующих версии 3 Единой спецификации UNIX».

Чтобы процитировать страницу О нас с моим собственным акцентом, выделенным жирным шрифтом:

Успех подхода UNIX привел к появлению большого количества «похожих» операционных систем, часто отличающихся по совместимости и совместимости. Чтобы решить эту проблему, производители и пользователи объединились в 1980-х годах для создания стандарта POSIX®, а затем и Единой спецификации UNIX .

Таким образом, это предполагает (или, по крайней мере, такова моя интерпретация), что когда ОС соответствует стандарту POSIX и спецификациям Single UNIX, она совместима по поведению с Unix как с ОС, которая когда-то существовала в определенный момент истории. Обратите внимание, что здесь не упоминается о наличии каких-либо следов исходного исходного кода Unix, и при этом не упоминается ядро ​​(это станет важным позже).

Что касается AT & T и System V Unix, разработанных Ритчи и Томпсоном, в настоящее время мы можем сказать, что он прекратил свое существование. Основываясь на вышеупомянутых источниках, кажется, что в настоящее время UNIX - это не та конкретная ОС, а скорее стандарт, полученный из наилучшего возможного обобщения поведения операционных систем семейства Unix .


 Где MacOS X стоит в мире * nix?

В очень конкретном определении macOS версии 10.13 High Sierra на аппаратном обеспечении на базе Intel соответствует стандарту UNIX 03, и, чтобы процитировать сертификат pdf , «Apple Inc. заключила лицензионное соглашение по товарным знакам с X / Open Company Limited». Примечание: я не решаюсь задаться вопросом, что будет означать для MacOS 10.13 на оборудовании, отличном от Intel, но с учетом того, что это оборудование упоминается для других ОС, оно имеет большое значение. Пример: «Hewlett Packard Enterprise: HP-UX 11i V3, выпуск B.11.31 или новее для серверов HP 9000 с точной архитектурой» (со страницы реестра ).

Вернемся к предыдущему разделу моего ответа. Поскольку данная конкретная версия ОС соответствует стандарту совместимости и совместимости, это означает, что ОС по своему поведению и реализации системы максимально приближена к исходному Unix в качестве операционной системы. По крайней мере, он будет близок по поведению и окружающей среде. Чем ближе он подходит к системному уровню и уровню ядра, тем более конкретным и более темным будет область, но по крайней мере фундаментальная механика и поведение, которые присутствовали в Unix, должны присутствовать в ОС, которая стремится быть совместимой. macOS X должен быть очень близок к этой цели.


Что такое дистрибутив?

Цитировать Википедию :

Дистрибутив Linux (часто сокращенно дистрибутивный) - это операционная система, созданная из коллекции программного обеспечения, которая основана на ядре Linux и, зачастую, системе управления пакетами.

Давайте на секунду вспомним, что Linux, как и ядро ​​Linux, должен быть распространяемым программным обеспечением с модификациями или, по крайней мере, в соответствии с GPL v2 . Если мы рассмотрим менеджер пакетов и ядро, то Ubuntu и Red Hat являются дистрибутивами. У macOS X ядро ​​отличается от оригинального AT & T Unix - поэтому называть macOS X дистрибутивом Unix не имеет смысла. Люди предполагают, что ядро ​​macOS X основано на FreeBSD, но цитирую FreeBSD Wiki :

Ядро XNU, используемое в OS X, включает в себя несколько подсистем из (более старых версий) FreeBSD, но в основном является независимой реализацией.

Некоторые люди по ошибке называют ядро ​​OS X Дарвином. Чтобы процитировать руководство по программированию ядра Apple :

Ядро, наряду с другими основными частями OS X, все вместе называют Darwin. Darwin - это полная операционная система, основанная на многих тех же технологиях, которые лежат в основе OS X.

И процитировать ту же страницу:

Технология Darwin основана на технологиях BSD, Mach 3.0 и Apple.

Исходя из всего вышесказанного, мы можем с уверенностью сказать, что OS X не является дистрибутивом , в смысле дистрибутива Linux. Точно так же другие упомянутые ОС совместимы с POSIX и являются сертифицированными системами Unix, но опять же они отличаются ядрами и вариациями базовых системных вызовов (вот почему существуют книги по системному программированию Solaris, и это достойный предмет сам по себе). Следовательно, они не являются дистрибутивами в том смысле, как дистрибутивы Linux - общее ядро ​​с различными вариантами утилит. В случае Linux вы видите книги по системному программированию Linux или программированию ядра Linux, а не системное программирование, специфичное для дистрибутива, потому что в конкретном дистрибутиве нет ничего специфичного для системы.

Подтверждение того, что мы видим здесь, можно найти в официальной документации. Например, статья на developerWorks от IBM, в которой рассматриваются различия между типами ОС UNIX и состояниями дистрибутивов Linux (выделение добавлено):

Большинство современных вариантов UNIX, известных сегодня, являются лицензионными версиями одного из оригинальных выпусков UNIX . Sun Solaris, Hewlett-Packard HP-UX и IBM AIX® - это разновидности UNIX, которые имеют свои уникальные элементы и основы .

Другими словами, они основаны на одной и той же основе, но они не разделяют одно и то же в том смысле, как дистрибутивы Linux разделяют ядро.

Соображения

Обратите внимание, что распределение слов, по- видимому, в основном используется при обращении к операционным системам, ядром которых является ядро ​​Linux. Возьмем, к примеру, тип операционных систем BSD: есть GhostBSD , который основан на ядре и использует некоторые утилиты FreeBSD , но я никогда не видел, чтобы его называли дистрибутивом BSD; каждая ОС BSD упоминает только то, на чем она основана, и обычно операционная система упоминается как ОС сама по себе. Конечно, BSD выступает за распространение программного обеспечения Беркли, но ... вот и все.

Чтобы процитировать этот ответ на нашем сайте в ответ на вопрос, используют ли разные версии BSD одни и те же ядра:

Нет, хотя есть сходства из-за исторических вилок. Каждый проект развивался отдельно.

Они не являются дистрибутивами в смысле дистрибутивов Linux. Рассмотрим уведомление об авторских правах из этого документа :

Части этого продукта могут быть получены из систем BSD UNIX® и Berkeley 4.3

Примечания

В заключение:

  • macOS X может упоминаться как Unix-подобная ОС, Unix-подобная система, реализация Unix, POSIX-совместимая ОС, если вы хотите связать ее с оригинальной AT & T Unix;
  • «Версия Unix» не будет подходящим термином, потому что macOS X сильно отличается от оригинального AT & T Unix, и, как упоминалось ранее, Unix больше не существует в смысле программного обеспечения, и теперь он является в большей степени отраслевым стандартом;
  • Вероятно, слово «дистрибутив» подходит только в мире Linux.
  • Истинная проблема в том, что у нас с вами (читатель) слишком много времени, чтобы спорить о теме, о которой должны спорить юристы. Может быть, мы должны походить на Linux Torvalds и использовать терминологию и операционные системы, которые просто позволяют нам двигаться дальше по жизни и делать то, о чем мы искренне заботимся и о которых должны заботиться.
Сергей Колодяжный
источник
15
Возможно, вы захотите проверить, что на самом деле означает BSD, прежде чем утверждать, что слово «дистрибуция» там не используется ;-).
Стивен Китт
2
Извините за множественные правки, отсутствие "а" и "я" усложнило мне понимание всего текста. POSIX новее старых Unices, и я не совсем уверен, что ответ смешивает их обоих; Я также думаю, что вы оказываете медвежью услугу, характеризующую мир BSD, который гораздо ближе к Unix, чем к Linux. Сертификация также сама по себе также не означает, что у кого-то было время и деньги, чтобы пройти процесс сертификации, и это должно быть сделано в каждой версии. ИМО, немного переработав текст, может дать очень хороший ответ.
Руи Ф. Рибейро,
1
@ Matthew Однако я бы не стал ручаться за качество земли пользователя BSD OS / X / Mac OS. Часто утилиты являются очень старыми версиями по сравнению с FreeBSD, и даже правильная и недавняя реализация IPv6 потребовалась много времени, чтобы появиться только в самых последних версиях.
Руи Ф Рибейро
3
В Unix стандартного веб - сайт использует «реализации UNIX» для обозначения Unix операционных системы. Так что это слово, которое я искал: реализация.
Сенинха
3
@ Сергей Колодяжный. POSIX-совместимость не означает, что версия ОС существует. as close to original Unix as possibleСуществует много не-Unix ОС, которые совместимы с POSIX.
fpmurphy
4

В: Является ли macOS дистрибутивом Unix? Если это не так, как можно правильно сослаться на бытие macOS в семействе операционных систем Unix (т. Е. Это вариант Unix, версия Unix, разновидность Unix и т. Д.)? Кроме того, этот вопрос относится к Solaris, HP-UX и другим устройствам (все ли они являются дистрибутивами Unix?).

Источник изображения: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

Mac OS X

Источник: https://en.m.wikipedia.org/wiki/XNU

« XNU - это ядро операционной системы компьютера, разработанное в Apple Inc. с декабря 1996 года для использования в операционной системе macOS и выпущенное как бесплатное программное обеспечение с открытым исходным кодом в составе операционной системы Darwin . Оно также используется в качестве ядра для iOS операционные системы, tvOS и watchOS. XNU - это сокращение от X is Not U nix.


Источник: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

« Создай свое первое ядро

Прежде чем вы сможете собрать ядро, вы должны сначала получить исходный код. Исходный код для ядра OS X можно найти в проекте Darwin xnu по адресу http://www.opensource.apple.com . Чтобы узнать текущую версию ядра, используйте команду uname -a. Если у вас возникнут проблемы, поищите информацию в архивах списков рассылки darwin-kernel и darwin-development. Если это не поможет, попросите помощи в любом списке. Список архивов и информацию о подписке можно найти по адресу http://www.lists.apple.com ".


Источник: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Какао - передовая объектно-ориентированная платформа разработки для OS X. Какао - это набор фреймворков с интерфейсами программирования на Java и Objective-C. Он основан на интеграции OPENSTEP, технологий Apple и Java.

Дарвин - еще одно название ядра операционной системы OS X. Ядро Darwin эквивалентно ядру OS X плюс библиотеки BSD и команды, необходимые для среды командной строки BSD . Дарвин - технология с открытым исходным кодом.

Xcode - графическая интегрированная среда разработки Apple. Он доступен бесплатно с пакетом OS X Developer Tools.

XNU - ядро OS X Аббревиатура расшифровывается как X не Unix. XNU сочетает в себе функциональность Mach и BSD с I / O Kit, моделью драйвера для OS X.


  • Архитектура

Источник: https://en.wikipedia.org/wiki/MacOS#Architecture

«В основе macOS лежит POSIX-совместимая операционная система, построенная поверх ядра XNU , со стандартными средствами Unix, доступными через интерфейс командной строки. Apple выпустила это семейство программного обеспечения в виде бесплатной операционной системы с открытым исходным кодом под названием Darwin . Дарвин , Apple, несколько слоев, в том числе интерфейс Aqua и Finder, для завершения операционной системы на основе графического интерфейса, который MacOS. "


Q: Распространение или выпуск ? - Источник: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Источник: https://en.wikipedia.org/wiki/MacOS_High_Sierra

«macOS High Sierra (версия 10.13) является четырнадцатым основным выпуском macOS, настольной операционной системы Apple Inc. для компьютеров Macintosh. Преемник macOS Sierra был анонсирован на WWDC 2017 5 июня 2017 года». Msgstr "Тип ядра: гибрид (XNU)".


Q: Кроме того, этот вопрос относится к Solaris, HP-UX и другим Unix-системам (все они являются дистрибутивами Unix?).

  • HP-UX Собственная реализация операционной системы Unix на основе UNIX System V

  • Solaris Unix SVR4

обкрадывать
источник
3
Я бы посоветовал попробовать склеить множественные цитаты со своими словами.
Руи Ф Рибейру
Как упомянуто @RuiFRibeiro, вы должны добавить некоторые пояснения; однако он не сказал, что неясно, где вы стоите со всеми этими разными цитатами.
Парадокс