4 Punkte von GN⁺ 2024-10-16 | 1 Kommentare | Auf WhatsApp teilen
  • Die neueste veröffentlichte Version von Apples aktuellem OS ist in der Open-Group-Liste offiziell als aktuelle UNIX™-konforme Version verifiziert, aber das bedeutet möglicherweise nicht das, was ihr denkt
    • macOS verwendet keinen AT&T-Quellcode. „Unix“ bedeutet das schon lange nicht mehr, seit Novell 1993 UNIX von den Bell Labs übernommen hat
  • Zur Einordnung: OS X ist bereits seit 16 Jahren als UNIX zertifiziert

Was die UNIX™-Zertifizierung bedeutet

  • Sie hat nichts mit dem Code zu tun. Das ist seit über 30 Jahren so
  • UNIX™-Zertifizierung bedeutet heute im Wesentlichen „POSIX-kompatibel“
  • POSIX ist eine Kompatibilitätsspezifikation samt Testsuite, bei der die richtigen Werkzeuge am richtigen Ort vorhanden sein müssen
  • Auch IBMs Mainframe-Betriebssystem z/OS steht auf dieser Liste

Definition eines Unix-ähnlichen OS

  • Es muss wie Unix aussehen, sich wie Unix verhalten und Programme, die für Unix geschrieben wurden, ohne größere Änderungen portieren können
  • Der Kern von macOS erfüllt das ausreichend. Es verwendet den XNU-Kernel und einen Userspace, der größtenteils von BSD-Code abgeleitet ist
  • XNU basiert auf dem Mach-Kernel und enthält außerdem einen großen In-Kernel-„Unix-Server“, der ebenfalls von BSD-Code abgeleitet ist
  • Der Großteil des Userspace ist Open Source und stammt aus BSD
  • Die GUI-Schicht und die sichtbaren Teile, die alles hübsch aussehen lassen, sind proprietär

Apples Darwin-Projekt

  • Apple stellte die unteren Schichten des OS früher im Rahmen eines Projekts namens Darwin als eigenständige Version bereit
  • Es gab mehrere Distributionen, die versuchten, dies mit Komponenten anderer FOSS-Betriebssysteme wie OpenDarwin und PureDarwin zu vervollständigen
  • Das NextBSD-Projekt ging in die entgegengesetzte Richtung: Es behielt den FreeBSD-Kernel bei und passte ihn so an, dass höherwertiger Apple-Code wie launchd genutzt werden konnte

Die Entwicklung von macOS

  • Ende 1996 kündigte Apple die Übernahme von NeXT Computer an und veröffentlichte im Oktober 1997 eine Vorschau auf das Betriebssystem der nächsten Generation, Rhapsody
  • Rhapsody war nahezu identisch mit NeXTstep 5
  • 1999 wurde daraus Mac OS X Server 1.0, das sich 2000 zu Mac OS X 1.0 weiterentwickelte
  • Ab 10.8 Mountain Lion wurde der Name zu OS X verkürzt, ab 10.12 Sierra zu macOS
  • Dennoch ist es immer noch ein OS, das dem von Steve Jobs 1988 vorgeführten NeXTstep 0.8 erkennbar ähnlich ist

Meinung von GN⁺

  • Dass macOS eine UNIX-Zertifizierung erhalten hat, scheint keine große Bedeutung zu haben. Für die meisten Menschen wird es keine praktischen Auswirkungen haben
  • Bemerkenswert ist jedoch, dass Darwin, die Grundlage von macOS, Open Source ist. Dadurch können Entwickler besser verstehen, wie macOS intern funktioniert
  • POSIX-Kompatibilität spielt weiterhin eine wichtige Rolle für die Portabilität zwischen Betriebssystemen, aber die Einhaltung aktueller Standards scheint keine Priorität mehr zu sein
  • Betrachtet man die Entwicklung von NeXTSTEP bis macOS, wird deutlich, wie wichtig Innovationen bei Benutzeroberfläche und Entwicklererfahrung für den Erfolg eines Betriebssystems sind
  • Letztlich scheint wichtiger als die UNIX-Zertifizierung selbst zu sein, dass macOS entwicklerfreundlich, leicht zu bedienen und von einem starken Ökosystem getragen ist. Die UNIX-Zertifizierung hat jedoch symbolischen Wert, weil sie das robuste Fundament von macOS zeigt

1 Kommentare

 
GN⁺ 2024-10-16
Hacker-News-Kommentare
  • Die Zertifizierung von Sequoia ist nichts Neues. OS X ist seit Langem von der Open Group zertifiziert
  • Es stellt sich die Frage, warum eine solche Zertifizierung wichtig ist
  • macOS ist als „Unix“ zertifiziert, moderne BSD-Systeme jedoch nicht. Sie stammen aus derselben Codebasis, daher ist unklar, warum das so ist
  • Ob man poll() auf Terminal-Geräten aufrufen kann, ist wichtig
    • Diese Funktion fehlte seit den Anfängen von Mac OS X
    • Plattformübergreifende Software musste immer sowohl select() als auch poll() unterstützen
    • Unter Mac OS X musste select(), auf anderen Systemen poll() verwendet werden
    • Es wäre gut, wenn man auf poll() standardisieren könnte
  • Vergleich der macOS-Manpages mit den Zertifizierungsanforderungen
    • Der Systemaufruf poll() von macOS unterstützt keine Geräte
    • Laut Zertifizierungsanforderungen müssen die Funktionen poll() und ppoll() verschiedene Geräte unterstützen
  • Es stellt sich die Frage, ob dieser Bug in macOS 15 behoben wurde oder ob die Zertifizierung bedeutungslos ist
  • Unabhängig von der Zertifizierung sind Linux und macOS sehr ähnlich
    • Es gibt Unterschiede wie xdg-open und open, systemd und launchd, sed -i und sed -i ''
  • Es ist unklar, warum macOS weiterhin zertifiziert wird, obwohl POSIX-Semaphoren dort nicht funktionieren
  • Es stellt sich die Frage, warum Apple überhaupt eine solche Zertifizierung anstrebt
    • Es scheint nicht darum zu gehen, mehr macOS-Server zum Einsatz zu bringen
  • Man fragt sich, ob Apple neue Serverpläne hat
  • Es wäre wünschenswert, dass Apple die großen Lücken bei der Unix-Kompatibilität schließt, insbesondere durch die Implementierung von pipe2