Ist macOS UNIX? (Und was bedeutet das?)

Ein MacBook Pro mit teilweise geöffnetem Deckel und leuchtendem Bildschirm auf der Tastatur.

Razvan Franco Nitoi / Shutterstock



Ist macOS UNIX oder nur Unix? Oder ist es Unix-ähnlich? Wir beantworten die nicht enden wollende Debatte und erläutern Standards wie POSIX und den SUS ganz nebenbei.

macOS: UNIX oder nicht?

Dieses Thema wirft viele verschiedene Fragen auf. Was ist die Abstammung von macOS? Wie viel von diesem Erbmaterial ist im heutigen macOS noch vorhanden und spielt es eine Rolle? Bevor wir anfangen können zu beantworten, ob etwas UNIX, Unix oder Unix-ähnlich ist, müssen wir uns mit der Bedeutung dieser Begriffe vertraut machen. Wer entscheidet, ob etwas Unix oder UNIX ist und nach welchen Kriterien?





Fangen wir am Anfang an.

Unix wurde vor fünfzig Jahren bei . erstellt Bell Labs , ein Forschungs- und Entwicklungsunternehmen im Besitz von AT&T. Schneller Vorlauf bis 1973 und Version 4 von Unix, die in der Programmiersprache C neu geschrieben wurde. Dadurch wurde das Betriebssystem viel portabler und einfacher auf verschiedene Hardwareplattformen zu übertragen. Das selbe Jahr, Ken Thompson und Dennis Ritchie , zwei der wichtigsten Unix-Architekten, präsentierten auf einer Konferenz einen Vortrag über Betriebssysteme. Sofort erhielten sie Anfragen nach Kopien des Betriebssystems.



Gebunden durch a Zustimmungserlass das auf das Jahr 1956 zurückging, musste AT&T jedes andere Geschäft als die Bereitstellung von Kommunikationsdiensten der gemeinsamen Netzbetreiber meiden. Unix galt nicht als etwas, von dem AT&T profitieren könnte. Also hat die Firma für diese Zeit etwas Bemerkenswertes gemacht: Unix als Quellcode mit einer liberalen Lizenz vertrieben. Kleine Gebühren deckten Versand und Verpackung sowie eine angemessene Lizenzgebühr ab.

Eine Verbreitung von Unixen

Da Unix so bereitgestellt wurde, wie es ist, wurde es ohne Unterstützung geliefert. Als Ergebnis begann eine Unix-Gemeinschaft zusammenzuwachsen, um Mitgliedern zu helfen und Unix zu patchen und zu erweitern. Sie können also den Quellcode abrufen, ändern und Unterstützung von der Community erhalten. Das hat einen vertrauten Klang. Es erschienen verschiedene Varianten von Unix, die angepasst und optimiert wurden, um sie an die Organisation anzupassen, die die Arbeit verrichtete.

Anzeige

Bob Fabry , ein Informatikprofessor an der UC Berkeley, war Mitglied des Programmkomitees des Symposiums über die Prinzipien von Betriebssystemen 1973. Er hörte eine Präsentation von Thompson und Ritchie mit dem Titel Das UNIX Time-Sharing-System .



Fabry forderte eine Kopie des Betriebssystems an, und 1974 wurde Unix auf einem PDP/11 an der Computer Sciences Research Group (CSRG) der UC Berkeley. Bezeichnenderweise verbrachte Ken Thompson dort ein Jahr und arbeitete an dem, was schnell zum Unix-Geschmack der Universität wurde. Kopien der Änderungen und Ergänzungen der UC Berkeley wurden verteilt und wurden als Berkeley Software Distribution (BSD) bekannt. Schließlich wurden daraus Distributionen eines ganzen Unix-Systems, das immer noch als BSD bekannt ist. Versionsnummern wie 4.2BSD identifizierten die verschiedenen Releases.

1984 wurde AT&T von den Beschränkungen des Zustimmungserlasses von 1956 befreit und konnte sein Betriebssystem ordnungsgemäß vermarkten. Es enthielt BSD-Code, wie z TCP/IP , wir , und die C-Shell, csh . Trotz dieser gegenseitigen Bestäubung und Zusammenarbeit gab es Schwierigkeiten bei der Lizenzierung. BSD enthielt AT&T-Code, der nicht Open Source war, aber die BSD-Elemente waren es.

Um diese Probleme zu umgehen, wurde eine Version von BSD ohne AT&T-Code entwickelt. Als der AT&T-Code entfernt wurde, fehlten jedoch etwa 20 Prozent des Kernels. William Jolitz schrieb die fehlenden Teile, und diese Version von Unix wurde veröffentlicht als 386BSD . Das 386BSD-Projekt kam ins Stocken, aber im Jahr 1993 führte seine Quellcodebasis zu dem NetBSD und FreeBSD Projekte.

Damit haben wir einen Teil des Puzzles: FreeBSD.

Nächster Schritt

Nachdem er 1985 von Apple, Inc. entlassen wurde, gründete Steve Jobs eine Firma namens NeXT, Inc . Um ein Betriebssystem für seine Workstation-Produktlinie bereitzustellen, entwickelte NeXT Nächster Schritt . Es verwendete BSD als Codebasis, führte aber einen völlig anderen Kernel ein.

NeXT verwendet eine modifizierte Version des Mach Mikrokernel und 4.3BSD um NeXTSTEP zu formen, den zweiten Teil dieses Puzzles. Mach wurde bei Carnegie Mellon entwickelt, um die Erforschung von verteiltem und parallelem Computing zu erleichtern. Das Forschungsteam verwendete BSD als Betriebssystem und ersetzte den Kernel, anstatt ein eigenes Betriebssystem zu schreiben.

XNU

1996 kaufte Apple, Inc. NeXT, Inc. und erwarb dadurch NeXTSTEP. Apple begann mit der Entwicklung des Betriebssystems, aus dem schließlich macOS werden sollte Mac OS X . Es aktualisierte den Mach-Kernel und ersetzte ihn durch die fortschrittlichere Version, die die Open Software Foundation entwickelt und in der verwendet hat OSF / 1 Betriebssystem. Apple hat auch die BSD-Komponenten mit aktualisierten und verbesserten Versionen der FreeBSD-Distribution aktualisiert.

Anzeige

Apple brachte Elemente des BSD-Kernels zurück in den Mach-Kernel. Außerdem wurde ein Hybrid-Kernel entwickelt, der die Eigenschaften beider kombiniert monolithisch und Mikrokernel-Architekturen.

Der E/A-Kit , das Apple basierend auf dem DriverKit von NeXTSTEP entwickelt hat, war ebenfalls enthalten. Dadurch war es möglich, einem Kernel Treiber hinzuzufügen, ohne ihn jedes Mal ändern zu müssen.

XNU ist der dritte Teil des Puzzles.

Die POSIX- und SUS-Standards

1996 haben zwei Normungsgremien— X/Öffnen und das Open Software Foundation —verschmolzen zu bilden Die offene Gruppe .

Die Open Group ist die Zertifizierungsstelle für die Marke UNIX. Mit anderen Worten, es muss Ihr Betriebssystem als konform mit seinen Standards abstempeln, bevor Sie es UNIX nennen können. UNIX in Großbuchstaben ist das Abzeichen der Konformität.

Die Kategorien lauten also wie folgt:

    Unix:Eine Familie von Betriebssystemen. Diese Familie umfasst sowohl UNIX-Betriebssysteme als auch Unix-ähnliche Betriebssysteme. UNIX Betriebssysteme : Diese wurden als normkonform zertifiziert. Unix-ähnlich Betriebssysteme : Diese sehen aus und funktionieren wie Unix, wurden aber nicht als konform zertifiziert.

Es ist natürlich durchaus möglich, dass morgen einige Betriebssysteme der Unix-ähnlichen Kategorie getestet und für konform befunden werden. Diese sind jetzt effektiv UNIX, aber sie können nur als Unix kategorisiert werden, weil sie noch keinen Stempel haben.

Anzeige

Es gibt zwei Standards, die UNIX zertifizieren: POSIX und Einzel-UNIX-Spezifikation (SUS) . SUS ist eine Obermenge von POSIX. Etwas kann also POSIX-kompatibel sein, aber das macht es nicht zu UNIX. Wenn etwas jedoch SUS-kompatibel ist, ist es ein UNIX.

POSIX und der SUS bilden große Dokumentensammlungen (rund 3.700 Seiten). Sie definieren den Betrieb und das erwartete Verhalten jedes Aspekts eines konformen UNIX-Systems. Alles von asynchroner und synchroner E/A bis hin zur Scripting-Schnittstelle und Programmen auf Benutzerebene wird katalogisiert und definiert.

Die Standards definieren Anwendungsschnittstellen und Laufzeitverhalten, schreiben aber nicht vor wie sie umgesetzt werden .

Ist macOS UNIX?

Die Antwort muss ja sein.

Sie können seine Abstammung über FreeBSD zu BSD zurückverfolgen und von dort aus zurück zu Unix, das von Bell Labs vertrieben wurde, bevor die Lizenzgebühren von AT&T erhöht wurden.

Aber das ist egal.

Wenn Sie jetzt ein Betriebssystem von Grund auf neu schreiben, gilt es als UNIX, solange es die Anforderungen des SUS erfüllt. Und es spielt keine Rolle, wie Sie es umsetzen. Der XNU-Kernel im Herzen von macOS ist eine Hybridarchitektur. Es kombiniert Apples Code mit Teilen der Mach- und BSD-Kernel.

Aber auch das spielt keine Rolle. Wichtig ist, dass es die Anforderungen der Standards erfüllt, an denen es gemessen wird.

Anzeige

Der BSD-Teil des XNU-Kernels stellt die POSIX-Anwendungsprogrammierschnittstellen (wie die verschiedenen API- und BSD-Systemaufrufe) bereit. Dieses Element des BSD-Kernels innerhalb von XNU intakt zu halten, ist der Schlüssel zum Erhalt der Zertifizierung als UNIX. Es ermöglicht XNU, kompatibles und kompatibles UNIX mit dem Rest des Systems zu sprechen.

macOS ist ein UNIX 03-kompatibles Betriebssystem, das von The Open Group zertifiziert wurde. Es ist seit 2007, beginnend mit MAC OS X 10.5. Die einzige Ausnahme war Mac OS X 10.7 Lion, aber die Kompatibilität wurde mit OS X 10.8 Mountain Lion wiederhergestellt.

Amüsanterweise steht GNU für GNU's Not Unix, XNU steht für X ist nicht Unix .

WEITER LESEN Profilfoto von Dave McKay Dave McKay
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen

Interessante Artikel