Чи є 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, / і т.д.), чи воно може використовуватися в інших випадках?

EDIT: Я зрозумів, що офіційний веб-сайт UNIX використовує "реалізації UNIX" та "операційні системи UNIX" для посилання на сімейство операційних систем Unix, тобто тих, які реалізують єдиний стандарт Unix.


Як ви визначаєте "розповсюдження Unix" і що ви маєте на увазі під "розповсюдженням Unix"?
Йорг W Міттаг

@ JörgWMittag Я не маю цього визначення. Я думаю, що відчуття дистрибутивів GNU, як сукупності операційних систем, які мають одне і те ж основне програмне забезпечення, як визначено у відповіді, є найбільш правильним.
Сенінья

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".

Щоб процитувати сторінку 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 і використовувати термінологію та ОС, що просто дозволяє нам продовжувати життя і робити те, про що чесно нас цікавить і про яке нам належить піклуватися.

15
Ви можете перевірити, що насправді означає BSD, перш ніж стверджувати, що слово "розподіл" там не використовується ;-).
Стівен Кітт

2
Вибачте за багато редагувань, відсутність "a" і "s зробило мене трохи важким за всім текстом. POSIX є новішим, ніж старі Unices, і я не зовсім впевнений, що відповідь змішує обидва; Я також думаю, що ви робите сервіс, що характеризує світ BSD, який набагато ближче до Unix, ніж Linux. Сама по собі сертифікація також не означає набагато більше того, що хтось мав час і гроші пройти процес сертифікації, і це потрібно робити в кожній версії. IMO, трохи переробивши текст, це може бути дуже хорошою відповіддю.
Rui F Ribeiro

1
@Matthew Однак я не хотів би поручитися за якість землі користувачів BSD OS / X / Mac OS. Часто утиліти - це дуже старі версії порівняно з версіями FreeBSD, і навіть правильна і недавня реалізація IPv6 зайняла багато часу, як тільки в останніх версіях.
Rui F Ribeiro

3
В Unix стандартного веб - сайт використовує «реалізації UNIX» для позначення Unix операційних системи. Отже, це слово, яке я шукав: реалізація.
Сенінья

3
@ Сергій Колодяжний. Відповідність POSIX не означає, що версія ОС є as close to original Unix as possibleЄ багато не-Unix ОС, сумісних з POSIX.
fpmurphy

4

Q: Чи є 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

MacOS X

Джерело: https://en.m.wikipedia.org/wiki/XNU

" XNU - це ядро комп'ютерної операційної системи, розроблене в Apple Inc. з грудня 1996 року для використання в операційній системі macOS і випущене як безкоштовне програмне забезпечення з відкритим кодом як частина операційної системи Дарвіна . Також воно використовується як ядро ​​для iOS , операційні системи tvOS та watchOS XNU - це абревіатура X , а не 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

Cocoa - вдосконалена об'єктно-орієнтована платформа розробки для OS X. Cocoa - це набір фреймворків з інтерфейсами програмування як на Java, так і на Objective-C. Він заснований на інтеграції технологій OPENSTEP, Apple та Java.

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

Xcode - графічне інтегроване середовище розробки Apple. Він доступний безкоштовно з пакетом інструментів для розробників OS X.

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, щоб завершити операційну систему на базі GUI, яка є 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 року." "Тип ядра: гібрид (XNU)".


В: Також це питання стосується Solaris, HP-UX та інших уніцій (чи всі вони є дистрибутивом Unix?).


3
Я б радив спробувати склеїти багаторазове цитування своїми власними словами.
Rui F Ribeiro

Як і згадуваний @RuiFRibeiro, вам слід додати деякі пояснення; Однак він не сказав, що незрозуміло, де ти стоїш зі всіма цими цитатами.
Парадокс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.