macOS Big Sur: Verwirrung um Versionsnummer, Virtualisierungs-Framework in Beta 3 vorhanden
Der Wechsel von Mac OS 9 auf Mac OS X (gemeint ist 10) war ein gigantischer Generationenwechsel – passé war das kooperative Multitasking und der fehlende Speicherschutz. Mac OS 9 und MacOS X hatten so gut wie keine Gemeinsamkeiten: Der gesamte Unterbau war vollständig anders, die Oberfläche nahm sich nur Anleihen bei MacOS 9 und die präferierten Programmierschnittstellen waren vollständig anders. Seit Erscheinen von MacOS X inkrementiert Apple nur die zweite Stelle der Versionsnummer bei größeren Updates – die erste Stelle blieb seit Erscheinen von MacOS X vor fast 20 Jahren unverändert. Zuletzt kam macOS 10.15 Catalina auf den Markt.
Mit macOS Big Sur wird Apple dies ändern: Offiziell hört macOS Big Sur auf die Versionsnummer 11.0. Bei den anderen Plattformen erhöht Apple schon seit Beginn die erste Komponente der Versionsnummer bei größeren Aktualisierungen – macOS war hier ein Sonderfall. Seit macOS 11 Big Sur wurde in Foren hitzig diskutiert, ob die neue Benutzeroberfläche und die ARM-Kompatibilität tatsächlich einen solchen Versionssprung rechtfertigen – doch nun ist zumindest eine konsistente Versionierung der Apple-Systeme gegeben.
Gleichzeitig macOS 10.16 und macOS 11Aus der technischen Perspektive ist es leider nicht so einfach: Manchmal müssen Entwickler bestimmte Verhaltensweisen von Apps von der macOS-Versionsnummer abhängig machen – und seit Erscheinen von Mac OS X ist die erste Versionskomponente stets konstant. Daher sparten es sich sehr viele Entwickler, die erste Komponente der Versionsnummer bei Mac-Apps überhaupt zu testen. Dies hatte zur Konsequenz, dass die Versionsnummer von macOS 11.0 bei einem solchen Test kleiner als macOS 10.15 ist – mit manchmal fatalen Konsequenzen.
Daher traf Apple die Entscheidung, dass sich macOS 11 erst als 11.0 zu erkennen gibt, wenn die App mit Xcode 12 und dem Software-Development-Kit von Big Sur kompiliert wurde – ansonsten "outet" sich macOS 11 als macOS 10.16, um kompatibel zu sein.
Weiteres Problem: Shell-SkripteAuch Shell-Skripte für das Terminal haben ähnliche Probleme – doch anders als bei Apps ist es bei Shell-Skripten meist nicht bekannt, für welche macOS-Version diese erstellt wurden. Hier gibt sich macOS Big Sur stets als Version 11.0 zu erkennen – außer, wenn die Umgebungsvariabel "SYSTEM_VERSION_COMPAT=1" gesetzt ist. Dann liefert macOS Big Sur als Versionsnummer 10.16 zurück.
Virtualisierungs-Framework in Big Sur Beta 3 hinzugefügt Die dritten Entwickler-Vorabversion von Big Sur, welche Apple vor knapp einer Woche herausbrachte, bringt nun das auf der WWDC 2020 angekündigte Virtualisierungsframework mit. Dies eignet sich zur Virtualisierung von Linux-basierenden Betriebssystemen auf Apple-Silicon-Macs wie auch auf Intel-Macs. Apple spricht in der Dokumentation nur von Linux-artigen Systemen – und das Framework scheint momentan auch nur hierauf ausgerichtet zu sein. Bezüglich einer möglichen Virtualisierung von Windows für ARM schweigt sich Apple weiterhin komplett aus.
Anders als das mit OS X 10.10 Yosemite eingeführte "Hypervisor Framework" setzt das "Virtualization Framework" an einer viel höheren Stelle an und nimmt Entwicklern viel Arbeit bei der Umsetzung von Virtualisierungslösungen ab. Das "Virtualization Framework" steht in Objective-C bzw. Swift zur Verwendung bereit – das "Hypervisor Framework" bietet nur eine C-Schnittstelle.