Що таке UNIX взагалі?
Коротка відповідь: UNIX - це специфікація / стандарт на сьогодні.
На момент написання, щоб цитувати офіційні джерела , "UNIX® є зареєстрованою торговою маркою The Open Group", компанії, яка серед багатьох речей надає сертифікацію UNIX :
"UNIX®, відкритий стандарт, яким володіє і керує The Open Group, є основним фактором технологій і забезпечує знижену загальну вартість володіння, підвищену гнучкість ІТ, стабільність та сумісність в гетерогенних середовищах, що дозволяє бізнесу та ринку інновацій у всьому світі. . "
На цій же сторінці спеціально зазначено, яка специфікація визначає UNIX:
Остання версія стандарту сертифікації - UNIX V7, узгоджена з Єдиною специфікацією UNIX, версія 4, 2013 року
Деталі цих специфікацій можна знайти тут . Досить цікаво, що останнім стандартом, переліченим на їхньому веб-сайті, є UNIX 03, а цитувати ще одне джерело , "UNIX® 03 - марка для систем, що відповідають версії 3 Єдиної специфікації UNIX".
Щоб процитувати сторінку About About з моїм власним акцентом:
Успіх підходу UNIX спричинив велику кількість «схожих» операційних систем, що часто розходяться у сумісності та сумісності. Для вирішення цього питання постачальники та користувачі об'єдналися у 1980-х роках, щоб створити стандарт POSIX®, а пізніше - Єдину специфікацію UNIX .
Отже, що це підказує (або, принаймні, так це моє тлумачення), що коли ОС відповідає стандарту POSIX та Єдиним специфікаціям 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 (часто скорочений як distro) - це операційна система, створена з колекції програмного забезпечення, яка базується на ядрі 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 - це повна операційна система, заснована на багатьох тих же технологіях, що лежать в основі OS X.
І цитувати ту саму сторінку:
Технологія Дарвіна базується на технологіях BSD, Mach 3.0 та Apple.
Виходячи з усього вище, можна впевнено сказати, що OS X не є дистрибутивом , в сенсі дистрибуції Linux. Аналогічно, інші згадані ОС сумісні з POSIX та сертифіковані системи Unix, але знову ж таки вони відрізняються ядрами та варіаціями базових системних викликів (саме тому існують книги про системне програмування Solaris, і це сама по собі гідна тема). Тому вони не є дистрибутивами в тому сенсі, що дистрибутиви Linux - поширене ядро з варіаціями утиліти. У випадку з Linux ви бачите книги про системне програмування Linux або програмування ядра Linux, а не системне програмування, характерне для розповсюдження, оскільки немає нічого конкретного для системи щодо конкретного дистрибутива.
Підтвердження того, що ми бачимо тут, можна знайти в офіційній документації. Наприклад, стаття про developerWorks від IBM, в якій розглянуто відмінність між типами ОС ОС UNIX та станами дистрибуції Linux (наголос додано):
Більшість сучасних варіантів UNIX, відомих сьогодні, - це ліцензовані версії одного з оригінальних видань UNIX . Sun's Solaris, HP-UX Hewlett-Packard та AIX® IBM - це всі аромати UNIX, які мають свої унікальні елементи та основи .
Іншими словами, вони базуються на одній і тій же основі, але вони не мають однакового в сенсі, що Linux дистрибутивів поділяють ядро.
Міркування
Зауважте, що, як видається, поширення слів використовується в основному при посиланні на операційні системи, в основі яких є ядро Linux. Візьмемо для прикладу тип операційних систем BSD: є GhostBSD , який заснований на ядрі і використовує деякі утиліти FreeBSD , але я ніколи не бачив, щоб це називалося дистрибутивом BSD; кожна BSD OS згадує лише те, на чому вона заснована, і зазвичай операційна система сама по собі згадується як ОС. Звичайно, BSD розшифровує програму Berkeley Software Distribution, але ... це все.
Щоб процитувати цю відповідь на нашому сайті у відповідь на запитання, чи використовуються різні версії BSD однакові ядра:
Ні, хоча є схожість через історичні вилки. Кожен проект розвивався окремо.
Вони не є дистрибутивами в сенсі дистрибутивів Linux. Розглянемо повідомлення про авторські права на цей документ :
Частини цього продукту можуть бути отримані із систем UNIX® та Berkeley 4.3 BSD
Примітки
На закінчення:
- macOS X можна називати як Unix-подібною ОС, Unix-подібною системою, реалізацією Unix, сумісною з POSIX-ОС, коли ви хочете відновити його до оригінального AT&T Unix;
- "Версія Unix" не була б відповідним терміном, оскільки macOS X сильно відрізняється від оригінального AT&T Unix, і, як згадувалося раніше, більше немає Unix у сенсі програмного забезпечення, і тепер це більше галузевий стандарт;
- Напевно, слово "розповсюдження" підходить тільки в межах Linux.
- Справжня проблема полягає в тому, що у вас (читача) у мене є занадто багато часу, щоб сперечатися з теми, про яку повинні сперечатися адвокати. Можливо, ми повинні бути схожими на Linux Torvalds і використовувати термінологію та ОС, що просто дозволяє нам продовжувати життя і робити те, про що чесно нас цікавить і про яке нам належить піклуватися.