Что такое 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
Примечания
- упомянутый выше стандарт POSIX также упоминается как стандарт IEEE (где IEEE - Институт инженеров по электротехнике и электронике, который, помимо прочего, занимается IT-типами).
- Процитируем Википедию : «В 2016 году, с выпуском macOS 10.12 Sierra, имя было изменено с OS X на macOS, чтобы упростить его под брендом других основных операционных систем Apple: iOS, watchOS и tvOS. [56]»
- Mac OS X история ответ
- концептуальная разница между ядром Linux и BSD
В заключение:
- macOS X может упоминаться как Unix-подобная ОС, Unix-подобная система, реализация Unix, POSIX-совместимая ОС, если вы хотите связать ее с оригинальной AT & T Unix;
- «Версия Unix» не будет подходящим термином, потому что macOS X сильно отличается от оригинального AT & T Unix, и, как упоминалось ранее, Unix больше не существует в смысле программного обеспечения, и теперь он является в большей степени отраслевым стандартом;
- Вероятно, слово «дистрибутив» подходит только в мире Linux.
- Истинная проблема в том, что у нас с вами (читатель) слишком много времени, чтобы спорить о теме, о которой должны спорить юристы. Может быть, мы должны походить на Linux Torvalds и использовать терминологию и операционные системы, которые просто позволяют нам двигаться дальше по жизни и делать то, о чем мы искренне заботимся и о которых должны заботиться.