it-swarm.com.de

Ist macOS eine Unix-Distribution?

Ich weiß, dass macOS ist ein UNIX-Betriebssystem , aber ich weiß nicht, ob macOS alsUNIX Distribution in bezeichnet werden kann Ebenso sind Gentoo oder DebianGNU/Linux-Distributionen.

Ist macOS eine UNIX-Distribution? Wenn nicht, wie kann man dann korrekt auf die Mitgliedschaft von macOS in der UNIX-Betriebssystemfamilie und die Konformität mit Single UNIX Specification verweisen (dh ist es einUnix? Variante, aUnix-Version, aUnix-Geschmackusw.)? Diese Frage gilt auch für Solaris, HP-UX und andere Unices (sind das alles UNIX-Distributionen?).

Ist das Word"Distribution"auf GNU-Betriebssysteme (/ Linux,/Hurd,/kFreeBSD,/etc) beschränkt oder kann es in anderen Fällen verwendet werden?

EDIT: Ich habe festgestellt, dass die offizielle Website von NIX"UNIX-Implementierungen" und verwendet "UNIX-Betriebssysteme" für die Bezugnahme auf die Familie der Unix-Betriebssysteme, dh diejenigen, die den Single Unix Standard implementieren.

20
Seninha

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 anbietet ) UNIX-Zertifizierung :

"UNIX®, ein offener Standard, der The Open Group gehört und von The Open Group verwaltet wird, ermöglicht Schlüsseltechnologien und bietet reduzierte Gesamtbetriebskosten, erhöhte IT-Agilität, Stabilität und Interoperabilität in heterogenen Umgebungen, die Geschäfts- und Marktinnovationen auf der ganzen Welt ermöglichen . "

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

Die neueste Version des Zertifizierungsstandards ist UNIX V7 und entspricht der Single UNIX Specification Version 4, Ausgabe 2013

Details zu diesen Spezifikationen finden Sie hier . Seltsamerweise ist der neueste Standard , der auf ihrer Website aufgeführt ist, UNIX 03, und um eine andere Quelle zu zitieren: "UNIX® 03 - die Marke für Systeme, die Version 3 der Single UNIX-Spezifikation entsprechen ".

Um die Seite "Über uns" mit meiner eigenen Betonung in Fettdruck zu zitieren:

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 dies zu beheben, haben sich Anbieter und Benutzer in den 1980er Jahren zusammengeschlossen, um den POSIX®-Standard und später die Single UNIX-Spezifikation zu erstellen.

Was dies nahelegt (oder zumindest meine Interpretation), ist, dass ein Betriebssystem, wenn es dem POSIX-Standard und den einzelnen UNIX-Spezifikationen entspricht, in Verhalten mit Unix als Betriebssystem kompatibel ist existierte zu einem Zeitpunkt in der Geschichte. Bitte beachten Sie, dass dies weder das Vorhandensein von Spuren des ursprünglichen Unix-Quellcodes erwähnt, noch den Kernel in irgendeiner Weise erwähnt (dies wird wichtig später).

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 nicht das spezifische Betriebssystem zu sein, sondern ein Standard, der aus der bestmöglichen Verallgemeinerung des Verhaltens von Betriebssystemen in der Unix-Familie abgeleitet wurde.


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 und zitiert das PDF-Zertifikat , "Apple Inc. hat eine Markenlizenzvereinbarung mit X/Open Company Limited geschlossen." Randnotiz: Ich zögere zu fragen, was es bedeuten würde, wenn MacOS 10.13 auf Nicht-Intel-Hardware 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 spezielle 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 nahe wie möglich kommt. Zumindest wird es im Verhalten und in der Umgebung eng sein. Je näher es der Systemebene und der Kernelebene kommt, desto spezifischer und schattiger 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?

Um Wikipedia zu zitieren:

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

Denken wir für eine Sekunde daran, dass Linux wie im Linux-Kernel verteilbar Software sein soll, mit Modifikationen oder zumindest in Übereinstimmung mit GPL v2 . Wenn wir einen Paketmanager und einen Kernel betrachten, sind Ubuntu und Red Hat als Distributionen sinnvoll. macOS X hat einen anderen Kernel als das ursprüngliche AT & T Unix - daher ist es nicht sinnvoll, 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 unabhängige Implementierung

Einige Leute nennen fälschlicherweise den OS X-Kernel Darwin. So zitieren Sie Apples Kernel-Programmierhandbuch :

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 oben Gesagten können wir mit Sicherheit sagen, dass OS X keine Distribution im Sinne einer Linux-Distribution ist. In ähnlicher Weise sind andere erwähnte Betriebssysteme POSIX-kompatibel und zertifizierte Unix-Systeme, unterscheiden sich jedoch auch hier in Kerneln und Variationen der zugrunde liegenden Systemaufrufe (weshalb es Bücher über die Solaris-Systemprogrammierung gibt und es ein eigenständiges Thema ist). Daher handelt es sich nicht um Distributionen im Sinne von Linux-Distributionen - ein gemeinsamer Kern mit Variationen von Dienstprogrammen. Im Fall von Linux sehen Sie Bücher über Linux-Systemprogrammierung oder Linux-Kernel-Programmierung, nicht über verteilungsspezifische Systemprogrammierung, da eine bestimmte Distribution nichts Systemspezifisches enthält.

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

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

Mit anderen Worten, sie sind basiert auf derselben Grundlage, aber sie teilen nicht genau dieselbe in dem Sinne, dass Linux-Distributionen den Kernel teilen.

Überlegungen

Beachten Sie, dass Word Distribution hauptsächlich verwendet wird, wenn auf Betriebssysteme verwiesen wird, deren Kern der Linux-Kernel ist. 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 aufgrund der historischen Gabeln Ähnlichkeiten gibt. Jedes Projekt wurde separat entwickelt.

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

Teile dieses Produkts können von den BSD-Systemen UNIX® und Berkeley 4.3 abgeleitet sein

Anmerkungen

Abschließend:

  • macOS X kann entweder als Unix-ähnliches Betriebssystem, Unix-ähnliches System, Unix-Implementierung oder POSIX-kompatibles Betriebssystem bezeichnet werden, wenn Sie es mit dem ursprünglichen AT & T-Unix in Verbindung bringen möchten.
  • "Unix-Version" wäre nicht der geeignete Begriff, da sich macOS X stark vom ursprünglichen AT & T-Unix unterscheidet. Wie bereits erwähnt, gibt es kein Unix mehr im Sinne von Software und es ist jetzt eher ein Industriestandard.
  • Wahrscheinlich passt die Word "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 ermöglichen, mit dem Leben fortzufahren und die Dinge zu tun, die uns ehrlich wichtig sind und die uns interessieren sollen.
32

F: Ist macOS eine Unix-Distribution? Wenn dies nicht der Fall ist, wie kann man dann korrekt auf die Existenz von macOS in der Unix-Betriebssystemfamilie verweisen (d. H. 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 alles Unix-Distributionen?).

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

MacOS X

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

" XNU ist das Computerbetriebssystem Kernel, das seit Dezember 1996 bei Apple Inc. für die Verwendung in der macOS Betriebssystem und als freie und Open-Source-Software als Teil des Darwin Betriebssystems veröffentlicht. Es wird auch als Kernel für den Betrieb von iOS, tvOS und watchOS verwendet Systeme. XNU ist eine Abkürzung für X ist Nicht = U nix.


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

"Erstellen Ihres ersten Kernels

Bevor Sie einen Kernel erstellen können, müssen Sie zuerst den Quellcode abrufen. Der Quellcode für den OS X-Kernel befindet sich im Darwin xn -Projekt unter http: //www.opensource.Apple.com . Verwenden Sie den Befehl uname -a, um Ihre aktuelle Kernelversion herauszufinden. Wenn Sie auf Probleme stoßen, durchsuchen Sie die Archive der Mailinglisten darwin-kernel und darwin-development nach Informationen. Wenn dies nicht hilft, bitten Sie auf beiden Listen um Unterstützung. 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 plus den BSD Bibliotheken und Befehlen, die für den [~ # ~] bsd [~ # ~] wesentlich sind ] Befehlszeilenumgebung. Darwin ist Open Source Technologie.

Xcode - Apples grafisch integrierte Entwicklungsumgebung. Es ist kostenlos mit dem OS X Developer Tools-Paket verfügbar.

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


  • Architektur

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

"Im Kern von macOS befindet sich ein POSIX-kompatibles Betriebssystem, das auf dem XNU-Kernel basiert und über die Befehlszeilenschnittstelle Standard-Unix-Funktionen bietet. Apple hat diese Softwarefamilie als veröffentlicht ein freies und Open-Source-Betriebssystem namens Darwin. Zusätzlich zu Darwin hat Apple eine Reihe von Komponenten überlagert, darunter die Aqua-Schnittstelle und den Finder. um das GUI-basierte Betriebssystem macOS zu vervollständigen. ".


F: Distribution oder Release? - 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 der vierzehnte Major release von macOS, Apple Inc.s Desktop-Betriebssystem für Macintosh-Computer. Der Nachfolger von macOS Sierra wurde angekündigt auf der WWDC 2017 am 5. Juni 2017. " "Kerneltyp: Hybrid (XNU)".


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

4
Rob