Ist macOS eine Unix-Distribution?

19

Ich weiß , dass macOS ein UNIX - Betriebssystem ist , aber ich weiß nicht , ob macOS einen nennen könnte UNIX Verteilung auf die gleiche Weise Gentoo oder Debian sind GNU / Linux - Distributionen .

Ist macOS eine UNIX-Distribution? Wenn dies nicht der Fall ist, wie könnte man sich korrekt auf die Zugehörigkeit von macOS zur UNIX-Betriebssystemfamilie und die Einhaltung der Single UNIX Specification beziehen (dh handelt es sich um eine Unix-Variante , eine Unix-Version , eine Unix- Variante usw.)? Diese Frage gilt auch für Solaris, HP-UX und andere Unices (sind das alle UNIX-Distributionen?).

Darüber hinaus ist das Wort "Distribution" auf GNU-Betriebssysteme (/ Linux, / Hurd, / kFreeBSD, / etc) beschränkt, oder kann es in anderen Fällen verwendet werden?

BEARBEITEN: Ich habe festgestellt, dass die offizielle Website von UNIX "UNIX-Implementierungen" und "UNIX-Betriebssysteme" verwendet, um auf die Familie der Unix-Betriebssysteme zu verweisen, dh diejenigen, die den Single Unix Standard implementieren.

Seninha
quelle
Wie definieren Sie "Unix-Distribution" und was verstehen Sie unter "Unix-Distribution"?
Jörg W. Mittag
@ JörgWMittag Ich habe keine Definition dafür. Ich denke, dass der GNU-artige Sinn für Distributionen als die Menge von Betriebssystemen, die dieselbe Kernsoftware wie in der Antwort definiert verwenden, der richtigste ist.
Seninha
2
UNIX ist eine Marke. Unix ist ein Betriebssystem. Das sind zwei verschiedene Dinge.
fpmurphy
1
Genau genommen sind Debian und Gentoo keine Unix-Distributionen, sondern Linux-Distributionen. Linux ist nicht Unix, es funktioniert nur wie Unix. AFAIK sind auch keine GNU-Distributionen: Die GNU-Tools sind Teil jeder Linux-Distribution, aber nicht der einzige Teil.
Jamesqf
1
Wenn du deine Änderung als Antwort postest, erhältst du meine positive Bewertung.
Entkorken

Antworten:

32

Was ist überhaupt UNIX?

Kurze Antwort: UNIX ist heutzutage eine Spezifikation / ein Standard.

Zum Zeitpunkt des Schreibens, um die offiziellen Quellen zu zitieren , ist "UNIX® eine eingetragene Marke von The Open Group", dem Unternehmen, das unter anderem die UNIX-Zertifizierung anbietet :

"UNIX®, ein offener Standard, der Eigentum von The Open Group ist und von The Open Group verwaltet wird, ermöglicht Schlüsseltechnologien und sorgt für geringere Gesamtbetriebskosten, höhere Flexibilität, Stabilität und Interoperabilität der IT in heterogenen Umgebungen, die Innovationen für Unternehmen und Märkte auf der ganzen Welt ermöglichen . "

Auf derselben Seite wird speziell angegeben, welche Spezifikation UNIX definiert:

Die neueste Version des Zertifizierungsstandards ist UNIX V7, abgestimmt auf die Single UNIX Specification Version 4, Ausgabe 2013

Details zu diesen Spezifikationen finden Sie hier . Seltsamerweise ist UNIX 03 der neueste auf der Website aufgeführte Standard , und um einen anderen zu zitieren Quelle : "UNIX® 03 - das Zeichen für Systeme, die der Version 3 der Single UNIX Specification entsprechen".

So zitieren Sie die Seite "Über uns" mit meinem eigenen Schwerpunkt in Fettdruck:

Der Erfolg des UNIX-Ansatzes führte zu einer großen Anzahl von „ähnlichen“ Betriebssystemen, die sich häufig in Bezug auf Kompatibilität und Interoperabilität unterscheiden. Um diesem Problem zu begegnen, haben sich Anbieter und Benutzer in den 1980er Jahren zusammengeschlossen, um den POSIX®-Standard und später die Single UNIX-Spezifikation zu erstellen .

Dies legt also nahe (oder zumindest meine Interpretation), dass ein Betriebssystem, das dem POSIX-Standard und den Single-UNIX-Spezifikationen entspricht, im Verhalten mit Unix als Betriebssystem kompatibel ist , das zu einem bestimmten Zeitpunkt in der Geschichte existierte. Bitte beachten Sie, dass dies nicht der Fall ist das Vorhandensein von Spuren des ursprünglichen Unix-Quellcodes noch den Kernel in irgendeiner Weise erwähnt (dies wird später wichtig).

Was das von Ritchie und Thompson entwickelte AT & T und System V Unix betrifft, können wir heutzutage sagen, dass es nicht mehr existiert. Basierend auf den oben genannten Quellen scheint UNIX heutzutage kein spezielles Betriebssystem zu sein, sondern ein Standard, der sich aus der bestmöglichen Verallgemeinerung des Verhaltens von Betriebssystemen in der Unix-Familie ableitet .


 Wo steht macOS X in der * nix-Welt?

In einer sehr spezifischen Definition entspricht macOS Version 10.13 High Sierra auf Intel-basierter Hardware dem UNIX 03-Standard. Um das PDF-Zertifikat zu zitieren : "Apple Inc. hat einen Markenlizenzvertrag mit X / Open Company Limited geschlossen." Randnotiz: Ich zögere zu hinterfragen, was es bedeutet, wenn MacOS 10.13 auf Hardware anderer Hersteller als Intel behandelt wird, aber wenn man bedenkt, dass Hardware für andere Betriebssysteme erwähnt wird, ist die Hardware von Bedeutung. Beispiel: "Hewlett Packard Enterprise: HP-UX 11i V3 Version B.11.31 oder höher auf HP 9000 Servern mit Präzisionsarchitektur" (von der Registerseite ).

Kehren wir zum vorherigen Abschnitt meiner Antwort zurück. Da diese bestimmte Version des Betriebssystems dem Interoperabilitäts- und Kompatibilitätsstandard entspricht, bedeutet dies, dass das Betriebssystem in Verhalten und Systemimplementierung dem ursprünglichen Unix als Betriebssystem so ähnlich wie möglich ist. Zumindest wird es in Verhalten und Umwelt eng sein. Je näher es der System- und Kernel-Ebene kommt, desto spezifischer und schattierter wird der Bereich, aber zumindest grundlegende Mechanismen und Verhaltensweisen, die in Unix vorhanden waren, sollten in einem Betriebssystem vorhanden sein, das kompatibel sein soll. macOS X sollte diesem Ziel sehr nahe kommen.


Was ist eine Distribution?

So zitieren Sie Wikipedia :

Eine Linux-Distribution (oft als Distribution abgekürzt) ist ein Betriebssystem, das aus einer Softwaresammlung besteht, die auf dem Linux-Kernel und häufig auf einem Paketverwaltungssystem basiert.

Erinnern wir uns für eine Sekunde daran, dass Linux wie im Linux-Kernel verteilbare Software sein soll, mit Modifikationen oder zumindest in Übereinstimmung mit der GPL v2 . Wenn wir einen Paketmanager und einen Kernel in Betracht ziehen, sind Ubuntu und Red Hat als Distributionen sinnvoll. macOS X hat einen anderen Kernel als das ursprüngliche AT & T Unix - daher macht es keinen Sinn, macOS X als Unix-Distribution zu bezeichnen. Die Leute schlagen vor, dass der macOS X-Kernel auf FreeBSD basiert, aber um FreeBSD-Wiki zu zitieren :

Der unter OS X verwendete XNU-Kernel enthält einige Subsysteme von (älteren Versionen von) FreeBSD, ist jedoch größtenteils eine eigenständige Implementierung

Einige Leute nennen fälschlicherweise den OS X-Kernel Darwin. So zitieren Sie den Apple Kernel Programming Guide :

Der Kernel wird zusammen mit anderen Kernteilen von OS X gemeinsam als Darwin bezeichnet. Darwin ist ein vollständiges Betriebssystem, das auf vielen der gleichen Technologien basiert, die OS X zugrunde liegen.

Und um dieselbe Seite zu zitieren:

Die Darwin-Technologie basiert auf BSD-, Mach 3.0- und Apple-Technologien.

Basierend auf allem, was oben erwähnt wurde, kann man mit Sicherheit sagen, dass OS X keine Distribution ist im Sinne einer Linux-Distribution. In ähnlicher Weise sind andere erwähnte Betriebssysteme POSIX-kompatibel und sind zertifizierte Unix-Systeme, sie unterscheiden sich jedoch wiederum in Kernel und Variationen der zugrunde liegenden Systemaufrufe (weshalb es Bücher zur Solaris-Systemprogrammierung gibt, die für sich genommen ein würdiges Thema sind). Daher sind sie keine Distributionen im Sinne von Linux-Distributionen - ein gemeinsamer Kern mit Variationen bei Dienstprogrammen. Unter Linux werden Bücher zur Linux-Systemprogrammierung oder zur Linux-Kernel-Programmierung angezeigt, nicht zur verteilungsspezifischen Systemprogrammierung, da eine bestimmte Distribution keine systemspezifischen Merkmale aufweist.

Die Bestätigung dessen, was wir hier sehen, finden Sie in der offiziellen Dokumentation. Zum Beispiel heißt es in einem Artikel über developerWorks von IBM, in dem der Unterschied zwischen UNIX-Betriebssystemtypen und Linux-Distributionen behandelt wurde (Hervorhebung hinzugefügt):

Die meisten heute bekannten modernen UNIX-Varianten sind lizenzierte Versionen einer der ursprünglichen UNIX-Editionen . Solaris von Sun, HP-UX von Hewlett-Packard und AIX® von IBM sind alle UNIX-Varianten, die ihre eigenen einzigartigen Elemente und Grundlagen haben .

Mit anderen Worten, sie basieren auf derselben Grundlage, haben jedoch nicht dieselbe Grundlage, da Linux-Distributionen den Kernel gemeinsam nutzen.

Überlegungen

Beachten Sie, dass das Wort Verteilung scheint vor allem verwendet werden , wenn Betriebssysteme verweisen , die den Linux - Kernel in seinem Kern haben. Nehmen wir zum Beispiel den BSD-Typ von Betriebssystemen: Es gibt GhostBSD , das auf dem Kernel basiert und einige der Dienstprogramme von FreeBSD verwendet , aber ich habe noch nie gesehen, dass es als BSD-Distribution bezeichnet wird. Jedes BSD-Betriebssystem erwähnt nur, worauf es basiert, und normalerweise wird ein Betriebssystem als eigenständiges Betriebssystem erwähnt. Sicher, BSD steht für Berkeley Software Distribution, aber ... das war's.

Um diese Antwort auf unserer Website als Antwort auf die Frage zu zitieren , ob verschiedene BSD-Versionen dieselben Kernel verwenden:

Nein, obwohl es Ähnlichkeiten aufgrund der historischen Gabeln gibt. Jedes Projekt wurde separat entwickelt.

Sie sind keine Distributionen im Sinne von Linux-Distributionen. Beachten Sie den Copyright-Hinweis in diesem Dokument :

Teile dieses Produkts stammen möglicherweise aus den BSD-Systemen UNIX® und Berkeley 4.3

Anmerkungen

Abschließend:

  • macOS X kann entweder als Unix-ähnliches Betriebssystem, Unix-ähnliches System, Unix-Implementierung oder POSIX-konformes Betriebssystem bezeichnet werden, wenn Sie es mit dem ursprünglichen AT & T-Unix in Beziehung setzen möchten.
  • "Unix-Version" wäre kein passender Begriff, da macOS X sich stark von dem ursprünglichen AT & T-Unix unterscheidet. Wie bereits erwähnt, gibt es im Sinne von Software kein Unix mehr und es ist jetzt eher ein Industriestandard.
  • Wahrscheinlich passt das Wort "Distribution" nur in die Linux-Welt.
  • Das wahre Problem ist, dass Sie (der Leser) und ich viel zu viel Zeit haben, um über das Thema zu streiten, über das Anwälte streiten sollten. Vielleicht sollten wir wie Linux Torvalds sein und Terminologie und Betriebssysteme verwenden, die es uns nur erlauben, mit dem Leben fortzufahren und die Dinge zu tun, die uns ehrlich interessieren und die uns interessieren sollen.
Sergiy Kolodyazhnyy
quelle
15
Vielleicht möchten Sie überprüfen, wofür BSD eigentlich steht, bevor Sie behaupten, dass das Wort "Distribution" dort nicht verwendet wird ;-).
Stephen Kitt
2
Entschuldigung für die Mehrfachbearbeitungen, das Fehlen von "a" und "the" hat es mir etwas schwer gemacht, dem gesamten Text zu folgen. POSIX ist neuer als die älteren Unices und ich bin mir nicht sicher, ob die Antwort beide mischt. Ich denke auch, dass Sie einen schlechten Dienst leisten, der die BSD-Welt charakterisiert, die Unix viel näher ist als Linux. Die Zertifizierung an sich bedeutet auch nicht viel mehr, dass jemand die Zeit und das Geld hatte, um den Zertifizierungsprozess zu durchlaufen, und das muss in jeder Version durchgeführt werden. IMO, wenn Sie den Text ein wenig überarbeiten, könnte dies eine sehr gute Antwort sein.
Rui F Ribeiro
1
@Matthew Allerdings würde ich nicht für die Qualität des BSD-Userlandes von OS / X / Mac OS bürgen. Häufig handelt es sich bei den Dienstprogrammen um sehr alte Versionen im Vergleich zu den FreeBSD-Versionen, und selbst eine ordnungsgemäße und aktuelle IPv6-Implementierung dauerte lange, bis sie nur in den neuesten Versionen auftauchte.
Rui F Ribeiro
3
Die Unix-Standard-Website verwendet "UNIX-Implementierungen" , um auf die Unix-Betriebssysteme zu verweisen. Das ist also das Wort, nach dem ich gesucht habe: Implementierung.
Seninha
3
@Sergiy Kolodyazhnyy. POSIX-Kompatibilität bedeutet nicht, dass eine Version eines Betriebssystems as close to original Unix as possiblePOSIX-kompatibel ist.
fpmurphy
4

F: Ist macOS eine Unix-Distribution? Wenn dies nicht der Fall ist, wie könnte man sich korrekt auf die Existenz von macOS in der Unix-Betriebssystemfamilie beziehen (dh handelt es sich um eine Unix-Variante, eine Unix-Version, eine Unix-Variante usw.)? Diese Frage gilt auch für Solaris, HP-UX und andere Unices (sind das alle Unix-Distributionen?).

Bildquelle: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

Mac OS X

Quelle: https://en.m.wikipedia.org/wiki/XNU

" XNU ist der seit Dezember 1996 bei Apple Inc. entwickelte Computer-Betriebssystem- Kernel für die Verwendung mit dem MacOS- Betriebssystem und wird als freie und Open-Source-Software als Teil des Darwin- Betriebssystems veröffentlicht. Er wird auch als Kernel für iOS verwendet Betriebssysteme tvOS und watchOS. XNU ist eine Abkürzung für X ist Not U nix.


Quelle: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

" Erstellen Sie Ihren ersten Kernel

Bevor Sie einen Kernel erstellen können, müssen Sie zunächst den Quellcode abrufen. Quellcode für den OS X-Kernel finden Sie im Darwin xnu- Projekt unter http://www.opensource.apple.com . Verwenden Sie den Befehl uname -a, um Ihre aktuelle Kernelversion zu ermitteln. Wenn Sie auf Probleme stoßen, durchsuchen Sie die Archive der Mailinglisten darwin-kernel und darwin-development nach Informationen. Wenn dies nicht hilft, fragen Sie in beiden Listen nach. Die Listenarchive und Abonnementinformationen finden Sie unter http://www.lists.apple.com ".


Quelle: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Cocoa - Eine fortschrittliche objektorientierte Entwicklungsplattform für OS X. Cocoa ist eine Reihe von Frameworks mit Programmierschnittstellen in Java und Objective-C. Es basiert auf der Integration von OPENSTEP, Apple-Technologien und Java.

Darwin - Ein anderer Name für den Kern des OS X-Betriebssystems. Der Darwin-Kernel entspricht dem OS X-Kernel sowie den BSD- Bibliotheken und -Befehlen, die für die BSD- Befehlszeilenumgebung von wesentlicher Bedeutung sind . Darwin ist Open Source-Technologie.

Xcode - Apples grafisch integrierte Entwicklungsumgebung. Es ist kostenlos mit dem OS X Developer Tools-Paket erhältlich.

XNU - Der OS X-Kernel. Das Akronym für X ist Not Unix. XNU kombiniert die Funktionalität von Mach und BSD mit dem I / O Kit, dem Treibermodell für OS X.


  • Die Architektur

Quelle: https://en.wikipedia.org/wiki/MacOS#Architecture

„Bei macOS Kern ist ein POSIX - konformes Betriebssystem auf dem eingebauten Kernel XNU , mit Standard - Unix - Einrichtungen zur Verfügung über die Befehlszeilenschnittstelle. Apple diese Familie von Software als freies und Open - Source - Betriebssystem mit dem Namen veröffentlicht hat Darwin . Obendrein Darwin , Apple, hat eine Reihe von Komponenten, einschließlich der Aqua-Benutzeroberfläche und des Finders, überlagert, um das GUI-basierte Betriebssystem macOS zu vervollständigen. "


F: Verteilung oder Veröffentlichung ? - Quelle: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Quelle: https://en.wikipedia.org/wiki/MacOS_High_Sierra

„macOS High Sierra (Version 10.13) ist die vierzehnten große Release von MacOS, Apple Inc. Desktop - Betriebssystem für Macintosh - Computer. Der Nachfolger macOS Sierra, wurde es auf dem WWDC 2017 am 5. Juni 2017 angekündigt“. Msgstr "Kerneltyp: Hybrid (XNU)".


F: Diese Frage gilt auch für Solaris, HP-UX und andere Unices (sind das alle Unix-Distributionen?).

  • HP-UX Proprietäre Implementierung des Unix-Betriebssystems auf der Basis von UNIX System V

  • Solaris Unix SVR4

rauben
quelle
3
Ich würde raten, das Mehrfachzitat mit eigenen Worten zu beleimen.
Rui F Ribeiro
Wie bei @RuiFRibeiro erwähnt, sollten Sie einige Erklärungen hinzufügen. Was er jedoch nicht gesagt hat, ist, dass es unklar ist, wo Sie mit all diesen verschiedenen Zitaten stehen.
Paradox